﻿@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#071b35;--blue:#0799ec;--paper:#f5f7f9;--muted:#627286;--line:#dbe3eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:absolute;z-index:5;top:0;width:100%;border-bottom:1px solid rgba(255,255,255,.15)}.brand{display:block}.brand img{object-fit:contain;object-position:left center}.site-header nav{display:flex;gap:2.2rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.site-header nav a{opacity:.74;transition:.2s}.site-header nav a:hover{color:var(--blue);opacity:1}.header-actions{display:flex;align-items:center;gap:1.3rem}.lang{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .8rem;font-size:.68rem;font-weight:700;cursor:pointer}.header-cta{color:var(--blue);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.header-cta span,.button span,.arrow-link span{margin-left:1rem;font-size:1.1rem}.hero{min-height:760px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--ink);color:#fff;padding:155px 10vw 100px}.hero-image{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=2200&q=85');background-size:cover;background-position:center;filter:saturate(.72)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,42,.96) 0%,rgba(4,21,42,.74) 43%,rgba(4,21,42,.2) 100%)}.hero-content{position:relative;max-width:800px}.eyebrow,.section-kicker{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;color:var(--blue)}.hero h1{font-size:clamp(3.5rem,7vw,7.7rem);line-height:.96;letter-spacing:-.07em;max-width:820px;margin:1.4rem 0 1.8rem}.hero-intro{font-size:1.05rem;line-height:1.7;color:#cbd7e3;max-width:550px}.hero-buttons{display:flex;align-items:center;gap:2rem;margin-top:2.6rem}.button{display:inline-flex;align-items:center;border:0;padding:1rem 1.4rem;font-size:.71rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.button-primary{background:var(--blue);color:#fff}.button-outline{border:1px solid rgba(255,255,255,.5);color:#fff}.text-link,.arrow-link{font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.text-link span{margin-left:1.2rem;color:var(--blue);font-size:1.1rem}.hero-stamp{position:absolute;right:8vw;bottom:11rem;font-size:5rem;font-weight:800;letter-spacing:-.12em;color:rgba(255,255,255,.12);line-height:.75}.hero-stamp small{display:block;font-size:1.4rem;letter-spacing:-.04em;text-align:right}.hero-bottom{position:absolute;bottom:0;left:0;right:0;padding:1.2rem 5vw;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);font:10px 'DM Mono',monospace;letter-spacing:.1em;color:#b3c1d0}.intro-section,.contact-section{padding:8rem 10vw}.section-kicker{display:flex;gap:1.5rem;align-items:center}.section-kicker span:first-child{color:var(--ink);font-weight:700}.section-kicker.light span:first-child,.light{color:#9acbe5}.intro-grid{display:grid;grid-template-columns:1.05fr .7fr;gap:9vw;margin:3rem 0 6rem}.intro-grid h2,.service-head h2,.references-section h2,.career-section h2,.contact-grid h2,.legal-page h1{font-size:clamp(2.6rem,5vw,5.5rem);line-height:1;letter-spacing:-.07em;margin:0}.intro-grid p,.service-head p,.contact-grid p{color:var(--muted);font-size:1.05rem;line-height:1.8;margin:0 0 2rem}.arrow-link{color:var(--blue)}.intro-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;font:10px 'DM Mono',monospace;color:var(--muted);letter-spacing:.08em}.services-section{background:var(--ink);color:#fff;padding:8rem 10vw}.service-head{display:flex;justify-content:space-between;align-items:end;gap:5vw;margin:3rem 0 4rem}.service-head h2{max-width:650px}.service-head p{max-width:350px;color:#a6b7c9}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}.service-card{min-height:245px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:1.8rem;position:relative}.service-card:nth-child(3n+1){border-left:1px solid rgba(255,255,255,.2)}.service-no{font:11px 'DM Mono',monospace;color:var(--blue)}.service-card h3{font-size:1.35rem;letter-spacing:-.04em;margin:2.5rem 0 1rem}.service-card p{font-size:.85rem;line-height:1.7;color:#a6b7c9;max-width:290px}.card-arrow{position:absolute;right:1.7rem;top:1.7rem;color:var(--blue)}.references-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#fff}.reference-photo{background:url('https://images.unsplash.com/photo-1516939884455-1445c8652f83?auto=format&fit=crop&w=1500&q=85') center/cover;min-height:500px}.reference-copy{padding:8rem 10vw 6rem 7vw}.reference-copy h2{margin:3rem 0 5rem}.ref-item{display:grid;grid-template-columns:1fr 2.5fr 20px;gap:1rem;align-items:center;border-top:1px solid var(--line);padding:1.4rem 0;font-size:.82rem}.ref-item strong{font-size:1rem}.ref-item>span:last-child{color:var(--blue);font-size:1.1rem}.career-section{min-height:590px;background:linear-gradient(100deg,rgba(2,24,48,.96),rgba(4,50,88,.8)),url('https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?auto=format&fit=crop&w=1800&q=85') center/cover;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8rem 14vw 8rem 10vw}.career-content{max-width:690px}.career-content h2{margin:2.5rem 0 1.5rem}.career-content p{color:#b9c9d7;max-width:540px;line-height:1.8;margin-bottom:2rem}.career-mark{font-size:8rem;font-weight:800;line-height:.74;color:rgba(255,255,255,.15);letter-spacing:-.12em}.career-mark span{font-size:1.4rem;letter-spacing:.05em;display:block;text-align:right}.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr .65fr;gap:10vw;margin-top:4rem}.contact-grid h2{max-width:650px}.contact-details{display:flex;flex-direction:column;gap:.6rem;margin-top:4rem;font-size:.84rem}.contact-details a:first-child{color:var(--blue);font-weight:700}.contact-details span{color:var(--muted)}form{display:flex;flex-direction:column;gap:1.5rem}label{font-size:.7rem;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}input,textarea{width:100%;border:0;border-bottom:1px solid var(--line);padding:.8rem 0;background:transparent;outline:0;color:var(--ink);resize:vertical}input:focus,textarea:focus{border-color:var(--blue)}form .button{align-self:flex-start}.legal-page{padding:8rem 10vw;max-width:1000px}.legal-page h1{margin:2rem 0}.legal-page h3{margin-top:3rem}.legal-page p{color:var(--muted);line-height:1.8;max-width:720px}footer{background:#fff;border-top:1px solid var(--line);padding:3rem 5vw 1.2rem}.footer-main{display:flex;align-items:center;gap:2rem}.footer-main p{font-size:.8rem;color:var(--muted);margin-right:auto}.footer-nav{display:flex;gap:1.5rem;font-size:.72rem;font-weight:700}.footer-bottom{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;color:var(--muted);font:10px 'DM Mono',monospace;letter-spacing:.08em}.footer-bottom a{color:var(--blue)}
@media(max-width:850px){.site-header{padding:0 5vw;height:78px}.site-header nav{display:none}.header-cta{display:none}.hero{min-height:720px;padding:130px 7vw 90px}.hero h1{font-size:clamp(3.2rem,13vw,6rem)}.hero-stamp{right:7vw;bottom:9rem;font-size:3.5rem}.intro-section,.contact-section,.services-section{padding:5rem 7vw}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem;margin-bottom:4rem}.service-head{display:block}.service-head p{margin-top:1.5rem}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(3n+1){border-left:0}.service-card:nth-child(odd){border-left:1px solid rgba(255,255,255,.2)}.references-section{grid-template-columns:1fr}.reference-copy{padding:5rem 7vw}.reference-copy h2{margin:2rem 0 3rem}.reference-photo{min-height:300px}.career-section{padding:5rem 7vw;min-height:500px}.career-mark{display:none}.footer-main{flex-wrap:wrap}.footer-main p{margin-right:0}.footer-nav{width:100%;padding-top:1rem}.footer-bottom{gap:1rem;flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}
@media(max-width:520px){.hero-bottom span:last-child{display:none}.service-grid{grid-template-columns:1fr}.service-card{border-left:1px solid rgba(255,255,255,.2)!important}.hero-buttons{align-items:flex-start;flex-direction:column;gap:1.3rem}.intro-line{gap:1rem;flex-wrap:wrap}.intro-line span:last-child{display:none}}
.detail-header{position:relative;background:#fff;color:var(--ink)}.detail-hero{background:linear-gradient(110deg,#061b35,#0c4d75);color:#fff;padding:8rem 10vw 6rem}.detail-hero-inner{max-width:900px}.back-link{display:inline-block;color:#9ed9f5;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4rem}.detail-hero h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.92;letter-spacing:-.08em;margin:1.4rem 0}.detail-hero p:not(.eyebrow){font-size:1.1rem;line-height:1.7;color:#c8d8e6;max-width:620px}.detail-body{padding:7rem 10vw;display:grid;grid-template-columns:1.1fr .7fr;gap:10vw;background:#fff}.detail-lead{font-size:1.45rem;line-height:1.7;color:var(--ink);max-width:700px;margin:0 0 2.5rem}.detail-body aside{border-top:1px solid var(--line)}.aside-label{display:block;font:10px 'DM Mono',monospace;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;margin:1.2rem 0}.scope-item{border-top:1px solid var(--line);padding:1.1rem 0;display:flex;justify-content:space-between;font-size:.85rem}.scope-item span{color:var(--blue)}.jobs-grid,.sector-grid,.case-grid{padding:0 10vw 7rem;background:#fff;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.jobs-grid article,.sector-grid article,.case-grid article{border:1px solid var(--line);padding:2rem;background:#f8fafc}.jobs-grid article span,.case-grid article span,.sector-grid article>span{font:10px 'DM Mono',monospace;color:var(--blue);letter-spacing:.1em}.jobs-grid h2{font-size:2rem;letter-spacing:-.05em;margin:2.5rem 0 .7rem}.jobs-grid p,.sector-grid p,.case-grid p{color:var(--muted);font-size:.85rem;line-height:1.6}.jobs-grid a{color:var(--blue);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sector-grid{grid-template-columns:repeat(3,1fr)}.sector-grid h3{font-size:1.35rem;letter-spacing:-.04em;margin:2rem 0 .6rem}.case-grid{grid-template-columns:repeat(3,1fr)}.case-image{height:180px;margin:-2rem -2rem 2rem;background:center/cover}.case-1{background-image:url('https://images.unsplash.com/photo-1581092160607-ee22621dd758?auto=format&fit=crop&w=900&q=80')}.case-2{background-image:url('https://images.unsplash.com/photo-1531058020387-3be344556be6?auto=format&fit=crop&w=900&q=80')}.case-3{background-image:url('https://images.unsplash.com/photo-1509391366360-2e959784a276?auto=format&fit=crop&w=900&q=80')}.case-grid h3{font-size:1.25rem;margin:.8rem 0}.footer-nav{flex-wrap:wrap;justify-content:flex-end}@media(max-width:850px){.detail-hero{padding:5rem 7vw}.detail-body{padding:5rem 7vw;grid-template-columns:1fr;gap:4rem}.jobs-grid,.sector-grid,.case-grid{padding:0 7vw 5rem;grid-template-columns:1fr 1fr}.detail-header .site-header nav{display:none}}@media(max-width:520px){.jobs-grid,.sector-grid,.case-grid{grid-template-columns:1fr}.detail-hero h1{font-size:3.5rem}.detail-lead{font-size:1.15rem}}

/* Local PIM imagery sourced from the official pim-montage.de media library. */
.hero-image{background-image:url('/images/services/hero-welding.webp');background-position:center;transform:scaleX(-1)}
.reference-photo{background-image:url('/images/services/plant.webp')}
.career-section{background-image:linear-gradient(100deg,rgba(2,24,48,.96),rgba(4,50,88,.8)),url('/images/services/field-team.webp')}
.detail-hero{background-image:linear-gradient(110deg,rgba(6,27,53,.96),rgba(12,77,117,.62)),url('/images/services/plant.webp')}
.case-1{background-image:url('/images/services/pipeline-welding.webp')}
.case-2{background-image:url('/images/services/hero-welding.webp')}
.case-3{background-image:url('/images/services/solar.webp')}

/* Service imagery: locally hosted, responsive and lazy-loaded on the homepage. */
.service-card{min-height:390px;padding:0 1.8rem 1.8rem;overflow:hidden;transition:background-color .25s ease,transform .25s ease}
.service-card:hover{background:#0a2748;transform:translateY(-3px)}
.service-card-media{display:block;height:170px;margin:0 -1.8rem 1.8rem;overflow:hidden;background:#0b2847}
.service-card-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform .55s ease,filter .35s ease}
.service-card:hover .service-card-media img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
.service-card h3{margin:1.4rem 0 1rem}
.service-card .card-arrow{width:34px;height:34px;display:grid;place-items:center;background:rgba(5,23,44,.82);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.service-card-featured{grid-column:1/-1;display:grid;grid-template-columns:1.45fr .85fr;grid-template-rows:auto auto 1fr;min-height:285px;padding:0}
.service-card-featured .service-card-media{grid-column:1;grid-row:1/5;height:100%;min-height:285px;margin:0}
.service-card-featured .service-no{grid-column:2;grid-row:1;margin:2.3rem 2.2rem 0}
.service-card-featured h3{grid-column:2;grid-row:2;margin:2rem 2.2rem 1rem;font-size:1.7rem}
.service-card-featured p{grid-column:2;grid-row:3;margin:0 2.2rem 2.2rem;max-width:360px}

/* Each discipline has its own full-width project image. */
.service-detail .detail-hero{position:relative;min-height:545px;display:flex;align-items:flex-end;background-size:cover;background-repeat:no-repeat;background-position:center;overflow:hidden}
.service-detail .detail-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:90px 100%;opacity:.18;pointer-events:none}
.service-detail .detail-hero-inner{position:relative;z-index:1}
.page-rohrleitungsbau .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.96) 0%,rgba(4,22,43,.76) 46%,rgba(4,22,43,.2) 100%),url('/images/services/pipeline-welding.webp');background-position:center 48%}
.page-industrieservice .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.96) 0%,rgba(4,22,43,.73) 48%,rgba(4,22,43,.18) 100%),url('/images/services/industrial-service.webp')}
.page-engineering .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.96) 0%,rgba(4,22,43,.72) 50%,rgba(4,22,43,.18) 100%),url('/images/services/engineering.webp');background-position:center 58%}
.page-fachpersonal .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.95) 0%,rgba(4,22,43,.7) 48%,rgba(4,22,43,.16) 100%),url('/images/services/field-team.webp');background-position:center 45%}
.page-telekommunikation .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.96) 0%,rgba(4,22,43,.67) 50%,rgba(4,22,43,.12) 100%),url('/images/services/telecom.webp')}
.page-anlagenbau .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.96) 0%,rgba(4,22,43,.72) 48%,rgba(4,22,43,.17) 100%),url('/images/services/plant.webp')}
.page-photovoltaik .detail-hero{background-image:linear-gradient(90deg,rgba(4,22,43,.95) 0%,rgba(4,22,43,.68) 48%,rgba(4,22,43,.12) 100%),url('/images/services/solar.webp');background-position:center 52%}

@media(max-width:850px){
  .service-card{min-height:370px}
  .service-card-featured{display:block;min-height:390px;padding:0 1.8rem 1.8rem}
  .service-card-featured .service-card-media{height:190px;min-height:0;margin:0 -1.8rem 1.8rem}
  .service-card-featured .service-no{margin:0}
  .service-card-featured h3{margin:1.4rem 0 1rem;font-size:1.35rem}
  .service-card-featured p{margin:0;max-width:290px}
  .service-detail .detail-hero{min-height:480px;background-position:center}
}
@media(max-width:520px){
  .service-card,.service-card-featured{min-height:360px}
  .service-card-media,.service-card-featured .service-card-media{height:165px}
  .service-detail .detail-hero{min-height:430px}
}

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-consent{display:flex!important;align-items:flex-start;gap:.75rem;font-size:.82rem;line-height:1.45}
.form-consent input{width:auto!important;margin-top:.2rem;accent-color:#0ba5ec}
.form-consent a{color:inherit;text-decoration:underline}
.form-status{min-height:100vh;display:grid;place-items:center;padding:2rem;background:#f4f7fa;color:#061c34}
.form-status-card{width:min(680px,100%);background:#fff;padding:clamp(2rem,6vw,4.5rem);box-shadow:0 22px 70px rgba(6,28,52,.12)}
.form-status-card img{width:min(240px,60%);height:auto;margin-bottom:2.5rem}
.form-status-card h1{font-size:clamp(2.3rem,7vw,4.6rem);line-height:.95;margin:0 0 1.5rem}
.form-status-card p{font-size:1.05rem;line-height:1.7;margin:0 0 2rem}
.form-status-card .button{display:inline-flex}

/* Contact result page */
.confirmation-body{min-height:100vh;background:#fff;color:var(--ink)}
.confirmation-nav{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.confirmation-brand{display:block;width:190px;height:73px}
.confirmation-brand img{display:block;width:190px;height:73px;object-fit:contain;object-position:left center}
.confirmation-nav-meta{display:flex;align-items:center;gap:2rem;font:700 .68rem 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.confirmation-nav-meta a{color:var(--blue)}
.confirmation-nav-meta b{margin-left:.7rem;font-size:1rem}
.confirmation-page{min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(350px,.82fr) minmax(520px,1.18fr);background:#fff}
.confirmation-visual{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(4,22,43,.28),rgba(4,22,43,.94)),url('/images/services/plant.webp') center/cover;color:#fff}
.confirmation-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.12) 50%,transparent 50.2%);background-size:86px 100%;opacity:.45}
.confirmation-visual-copy{position:absolute;z-index:1;inset:auto 4.5vw 4.5rem;display:flex;flex-direction:column;align-items:flex-start}
.confirmation-visual-copy span,.confirmation-visual-copy small{font:10px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#a9c9dc}
.confirmation-visual-copy strong{font-size:clamp(3.2rem,5.4vw,6rem);line-height:.82;letter-spacing:-.08em;margin:1.4rem 0 2.3rem}
.confirmation-content{padding:clamp(4rem,7vw,8rem) clamp(3rem,9vw,9rem);display:flex;flex-direction:column;justify-content:center;position:relative}
.confirmation-kicker{position:absolute;top:2.4rem;left:clamp(3rem,9vw,9rem);display:flex;gap:1.2rem;font:10px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.confirmation-kicker span:first-child{color:var(--ink);font-weight:800}
.confirmation-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:1.5rem;font-weight:800;margin-bottom:2.2rem;box-shadow:0 0 0 10px rgba(7,153,236,.09)}
.confirmation-error .confirmation-mark{background:#ca4a42;box-shadow:0 0 0 10px rgba(202,74,66,.09)}
.confirmation-label{margin:0 0 1rem;font:700 10px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.confirmation-error .confirmation-label{color:#ca4a42}
.confirmation-content h1{font-size:clamp(4rem,7vw,7.4rem);line-height:.86;letter-spacing:-.08em;margin:0 0 2rem;max-width:800px}
.confirmation-message{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.75;color:var(--muted);max-width:650px;margin:0 0 2.5rem}
.confirmation-meta{display:grid;grid-template-columns:110px 1fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.1rem 0;max-width:650px;margin-bottom:2.7rem}
.confirmation-meta span{font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.confirmation-meta strong{font-size:.92rem}
.confirmation-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.confirmation-home-link{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.confirmation-home-link span{margin-left:.8rem;color:var(--blue);font-size:1rem}
.confirmation-footer{min-height:58px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--ink);color:#9fb0c1;font:10px 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:900px){.confirmation-page{grid-template-columns:1fr}.confirmation-visual{min-height:260px}.confirmation-visual-copy{inset:auto 7vw 2.5rem}.confirmation-visual-copy strong{font-size:3.8rem;margin:1rem 0 1.5rem}.confirmation-content{padding:6rem 7vw 5rem}.confirmation-kicker{left:7vw}.confirmation-content h1{font-size:clamp(3.8rem,13vw,6rem)}.confirmation-nav-meta span{display:none}}
@media(max-width:540px){.confirmation-nav{height:78px}.confirmation-brand,.confirmation-brand img{width:150px;height:58px}.confirmation-page{min-height:calc(100vh - 128px)}.confirmation-visual{min-height:210px}.confirmation-visual-copy strong{font-size:3.1rem}.confirmation-content{padding:5.5rem 7vw 4rem}.confirmation-mark{width:50px;height:50px}.confirmation-meta{grid-template-columns:1fr;gap:.55rem}.confirmation-footer{min-height:50px;justify-content:center}.confirmation-footer span:not(:first-child){display:none}}

/* Dedicated contact page */
.contact-page-hero{min-height:610px;display:flex;align-items:flex-end;padding:8rem 10vw 6rem;color:#fff;background:linear-gradient(90deg,rgba(4,22,43,.97) 0%,rgba(4,22,43,.72) 52%,rgba(4,22,43,.18) 100%),url('/images/services/field-team.webp') center 42%/cover}
.contact-page-hero-copy{max-width:940px}
.contact-page-hero h1{font-size:clamp(4rem,8vw,8.5rem);line-height:.86;letter-spacing:-.08em;margin:1.5rem 0 2rem}
.contact-page-hero-copy>p:last-child{font-size:1.15rem;color:#c8d8e6}
.contact-page-main{padding:8rem 10vw;background:#fff}
.contact-page-intro{display:grid;grid-template-columns:1fr .72fr;gap:10vw}
.contact-page-intro h2,.team-heading h2,.location-copy h2{font-size:clamp(2.8rem,5vw,5.8rem);line-height:.95;letter-spacing:-.07em;margin:2.5rem 0 1.5rem}
.contact-page-intro>div>p,.team-heading p,.location-copy p{font-size:1.02rem;line-height:1.8;color:var(--muted);max-width:650px}
.contact-direct-list{margin-top:3.5rem;border-top:1px solid var(--line)}
.contact-direct-list>a,.contact-direct-list>div{display:grid;grid-template-columns:95px 1fr;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.contact-direct-list span{font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.contact-direct-list strong{font-size:.9rem;line-height:1.6}
.contact-page-form{padding:2.5rem;background:#f4f7fa;border-top:3px solid var(--blue)}
.team-section{padding:8rem 10vw;background:var(--ink);color:#fff}
.team-heading{display:grid;grid-template-columns:1fr .55fr;gap:7vw;align-items:end;margin:2rem 0 4rem}
.team-heading p{color:#a7b8c9;margin:0}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.team-card{position:relative;background:#0a2748;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.team-card img{display:block;width:100%;height:410px;object-fit:cover;object-position:center 22%;filter:saturate(.82);transition:transform .5s ease,filter .35s ease}
.team-card:hover img{transform:scale(1.025);filter:saturate(1)}
.team-placeholder{height:410px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 20%,rgba(7,153,236,.42),transparent 34%),linear-gradient(145deg,#0d355d,#04172e);position:relative;overflow:hidden}
.team-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;opacity:.22}
.team-placeholder span{position:relative;font-size:8rem;font-weight:800;line-height:.8;letter-spacing:-.1em;color:rgba(255,255,255,.92)}
.team-placeholder small{position:relative;margin-top:1.5rem;font:700 10px 'DM Mono',monospace;letter-spacing:.18em;color:#73c9f6}
.team-card-copy{padding:1.8rem;display:flex;flex-direction:column;align-items:flex-start}
.team-card-copy span{font:10px 'DM Mono',monospace;color:var(--blue);letter-spacing:.08em;text-transform:uppercase}
.team-card-copy h3{font-size:1.75rem;letter-spacing:-.04em;margin:.8rem 0 1.4rem}
.team-card-copy a{font-size:.82rem;line-height:1.8;color:#b9c9d7}
.team-card-copy a:last-child{color:#8bd2f7}
.location-section{display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px;background:#fff}
.location-copy{padding:8rem 6vw 7rem 10vw}
.location-map{width:100%;height:100%;min-height:620px;border:0}

/* Information-rich global footer with 300 x 300 map widget. */
.site-footer{background:#051a32;color:#fff;border-top:0;padding:5rem 5vw 1.2rem}
.site-footer-grid{display:grid;grid-template-columns:1.05fr .8fr 1fr 300px;gap:4vw;align-items:start}
.site-footer-brand img{display:block;width:190px;height:auto;background:#fff;padding:.45rem .65rem;margin-bottom:1.5rem}
.site-footer-brand p{max-width:310px;color:#9fb0c1;font-size:.83rem;line-height:1.7}
.site-footer h3{margin:0 0 1.35rem;font:700 10px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.site-footer-links,.site-footer-contact{display:flex;flex-direction:column;gap:.7rem}
.site-footer-links a,.site-footer-contact a,.site-footer-contact address{font-size:.8rem;line-height:1.55;color:#c7d2dd;font-style:normal}
.site-footer-links a:hover,.site-footer-contact a:hover{color:#fff}
.site-footer-map iframe{display:block;width:300px;height:300px;border:0;filter:saturate(.78) contrast(1.05)}
.site-footer .footer-bottom{border-color:rgba(255,255,255,.14);color:#8ea2b5;margin-top:3rem}
.site-footer .footer-bottom-links{display:flex;gap:1.3rem}

@media(max-width:1050px){
  .site-footer-grid{grid-template-columns:1fr 1fr 300px}.site-footer-brand{grid-column:1/-1}
  .team-card img{height:350px}
}
@media(max-width:850px){
  .contact-page-hero{min-height:520px;padding:6rem 7vw 5rem;background-position:center}
  .contact-page-main,.team-section{padding:5rem 7vw}
  .contact-page-intro,.team-heading,.location-section{grid-template-columns:1fr}
  .contact-page-intro{gap:4rem}.team-heading{gap:1.5rem}.team-grid{grid-template-columns:1fr 1fr}
  .location-copy{padding:5rem 7vw}.location-map{min-height:450px}
  .site-footer-grid{grid-template-columns:1fr 300px}.site-footer-brand{grid-column:1/-1}
}
@media(max-width:600px){
  .contact-page-hero-copy{width:100%;min-width:0}
  .contact-page-hero h1{font-size:clamp(2.75rem,11.5vw,3.7rem);overflow-wrap:break-word;hyphens:auto}
  .contact-page-form{padding:1.6rem}.team-grid,.site-footer-grid{grid-template-columns:1fr}
  .team-card img{height:390px}.site-footer-map iframe{width:300px;max-width:100%;height:300px}
  .site-footer .footer-bottom{align-items:flex-start;flex-direction:column}.site-footer .footer-bottom-links{flex-wrap:wrap}
}

/* Professional legal information layout */
.legal-hero{padding:7rem 10vw 5.5rem;background:linear-gradient(100deg,rgba(4,22,43,.98),rgba(5,54,88,.84)),url('/images/services/plant.webp') center 54%/cover;color:#fff}
.legal-hero>div{max-width:1000px}.legal-hero .back-link{margin-bottom:3.5rem}
.legal-hero h1{font-size:clamp(4.5rem,9vw,9rem);line-height:.85;letter-spacing:-.08em;margin:1.4rem 0 1.8rem}
.legal-hero>div>p:last-child{font-size:1.05rem;color:#c5d4e1}
.legal-page-professional{max-width:none;padding:7rem 10vw 8rem;display:grid;grid-template-columns:250px minmax(0,820px);gap:8vw;background:#fff}
.legal-toc{position:sticky;top:2rem;align-self:start;display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.legal-toc span{padding:1.1rem 0;font:700 10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.legal-toc a{padding:.85rem 0;border-top:1px solid var(--line);font-size:.78rem;font-weight:700;color:var(--muted)}
.legal-toc a:hover{color:var(--blue)}
.legal-content>section{padding:0 0 5rem;margin:0 0 5rem;border-bottom:1px solid var(--line)}
.legal-number{font:700 10px 'DM Mono',monospace!important;letter-spacing:.12em;color:var(--blue)!important;margin:0 0 1.6rem!important}
.legal-content h2{font-size:clamp(2.2rem,4vw,4.4rem);line-height:.95;letter-spacing:-.06em;margin:0 0 1.8rem}
.legal-content h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin:2.3rem 0 .75rem}
.legal-content p{max-width:760px;color:var(--muted);line-height:1.8;margin:.6rem 0}
.legal-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.legal-data{margin:2rem 0 0;border-top:1px solid var(--line)}
.legal-data div{display:grid;grid-template-columns:1fr 1.25fr;gap:2rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.legal-data dt{font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.legal-data dd{margin:0;font-size:.9rem;font-weight:700}
.legal-updated{font:10px 'DM Mono',monospace!important;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)!important}
@media(max-width:850px){.legal-hero{padding:5rem 7vw}.legal-page-professional{padding:5rem 7vw;grid-template-columns:1fr}.legal-toc{position:relative;top:0}.legal-content>section{padding-bottom:3.5rem;margin-bottom:3.5rem}}
@media(max-width:520px){.legal-hero h1{font-size:4.4rem}.legal-data div{grid-template-columns:1fr;gap:.5rem}}

/* Service scopes are a capability checklist, not secondary navigation. */
.service-detail .detail-body aside{padding:0 1.5rem 1.2rem;background:#f7fafc;border:1px solid var(--line);border-top:3px solid var(--blue)}
.service-detail .aside-label{font-size:.7rem;font-weight:700;margin:1.4rem 0 .55rem}
.service-detail .scope-intro{margin:0 0 1rem;color:var(--muted);font-size:.78rem;line-height:1.55}
.service-detail .scope-item{align-items:center;gap:1rem;padding:1rem 0;font-weight:650;line-height:1.35}
.service-detail .scope-item span{display:grid;place-items:center;flex:0 0 1.5rem;width:1.5rem;height:1.5rem;border-radius:50%;background:rgba(7,153,236,.11);font-size:.75rem;font-weight:800}
@media(max-width:520px){.service-detail .detail-hero h1{font-size:clamp(2.35rem,10.5vw,3.2rem);overflow-wrap:break-word;hyphens:auto}}

/* Discoverability links used across the global footer. */
.footer-company-links{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.3rem}
.footer-company-links a{font:700 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}

/* News & Projects 2026 */
.news-hero{min-height:650px;padding:8rem 10vw 6rem;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(90deg,rgba(3,20,39,.98),rgba(4,35,63,.7) 55%,rgba(4,35,63,.2)),url('/images/services/plant.webp') center 48%/cover}
.news-hero-copy{max-width:1050px}.news-hero .back-link{margin-bottom:4rem}
.news-hero h1{font-size:clamp(4.5rem,9vw,9rem);line-height:.82;letter-spacing:-.08em;margin:1.4rem 0 2rem}
.news-hero h1 small{display:block;margin-top:1.1rem;font:600 clamp(1.1rem,2vw,1.7rem) 'DM Mono',monospace;letter-spacing:.22em;color:var(--blue)}
.news-hero-copy>p:last-child{max-width:680px;font-size:1.08rem;line-height:1.7;color:#c4d2df}
.news-intro{padding:8rem 10vw;background:#fff}.news-intro-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:9vw;margin-top:3rem}
.news-intro h2{font-size:clamp(2.8rem,5vw,5.7rem);line-height:.96;letter-spacing:-.07em;margin:0}.news-intro-grid p{margin:0;color:var(--muted);font-size:1rem;line-height:1.8}
.news-grid-section{padding:0 10vw 8rem;background:#fff}.news-featured{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff;margin-bottom:1.5rem}
.news-card-image img{display:block;width:100%;height:100%;min-height:580px;object-fit:cover}.news-card-copy{padding:5rem 4.5vw}
.news-meta{font:700 10px 'DM Mono',monospace!important;letter-spacing:.12em;color:var(--blue)!important;margin:0 0 2rem!important}
.news-card-copy h2{font-size:clamp(2.5rem,4vw,4.7rem);line-height:.95;letter-spacing:-.06em;margin:0 0 2rem}
.news-card-copy>p:not(.news-meta){font-size:.96rem;line-height:1.8;color:#b8c7d5}.news-perspective{padding-left:1.2rem;border-left:2px solid var(--blue)}
.news-card-copy a,.news-card a{display:inline-block;margin-top:1.2rem;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.news-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.news-card{border:1px solid var(--line);background:#f7f9fb}
.news-card>img{display:block;width:100%;height:270px;object-fit:cover}.news-card>div{padding:2.2rem}.news-card h3{font-size:1.75rem;line-height:1.12;letter-spacing:-.04em;margin:0 0 1rem}
.news-card p:not(.news-meta){font-size:.88rem;line-height:1.75;color:var(--muted)}.news-outlook{display:flex;align-items:flex-end;min-height:480px;color:#fff;background:linear-gradient(145deg,#061b35,#0b4f78)}
.news-outlook h3{font-size:2.4rem}.news-outlook p:not(.news-meta){color:#bdcad6}.news-cta{padding:8rem 10vw;color:#fff;background:linear-gradient(90deg,rgba(4,22,43,.97),rgba(4,49,82,.8)),url('/images/services/hero-welding.webp') center/cover}
.news-cta>div{max-width:850px}.news-cta h2{font-size:clamp(3rem,6vw,6.4rem);line-height:.92;letter-spacing:-.07em;margin:2rem 0}.news-cta p:not(.eyebrow){max-width:620px;color:#c0cfdb;line-height:1.8;margin-bottom:2rem}

/* Careers and applications */
.careers-hero{min-height:700px;padding:8rem 10vw 6rem;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(90deg,rgba(3,20,39,.97),rgba(4,38,68,.64) 56%,rgba(4,38,68,.12)),url('/images/services/field-team.webp') center 38%/cover}
.careers-hero-copy{max-width:940px}.careers-hero .back-link{margin-bottom:4rem}.careers-hero h1{font-size:clamp(4rem,8vw,8rem);line-height:.86;letter-spacing:-.08em;margin:1.4rem 0 2rem}
.careers-hero-copy>p:not(.eyebrow){max-width:650px;font-size:1.1rem;line-height:1.75;color:#c6d4e0}.careers-hero .button{margin-top:1.5rem}
.career-intro{padding:8rem 10vw;background:#fff}.career-intro-grid{display:grid;grid-template-columns:1.05fr .7fr;gap:9vw;margin-top:3rem}.career-intro h2,.application-copy h2{font-size:clamp(2.8rem,5vw,5.6rem);line-height:.96;letter-spacing:-.07em;margin:0}
.career-intro-grid p,.application-copy>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}.career-note{margin-top:1.5rem!important;padding-left:1.2rem;border-left:2px solid var(--blue);color:var(--ink)!important;font-weight:600}
.career-fields{padding:8rem 10vw;background:var(--ink);color:#fff}.career-field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.15);margin-top:3rem}
.career-field-grid article{padding:3rem;background:#071b35}.career-field-grid article>span{font:700 10px 'DM Mono',monospace;color:var(--blue)}.career-field-grid h3{font-size:1.8rem;letter-spacing:-.04em;margin:2rem 0 1rem}.career-field-grid p{max-width:440px;font-size:.9rem;line-height:1.7;color:#aabaca}
.application-section{padding:8rem 10vw;background:#fff;display:grid;grid-template-columns:.8fr 1fr;gap:9vw;align-items:start}.application-copy{position:sticky;top:2rem}.application-copy h2{margin:2.5rem 0 1.5rem}
.application-steps{padding:0;margin:3rem 0 0;list-style:none;border-top:1px solid var(--line)}.application-steps li{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.application-steps li>span{font:700 10px 'DM Mono',monospace;color:var(--blue)}.application-steps strong,.application-steps small{display:block}.application-steps strong{font-size:.88rem}.application-steps small{margin-top:.3rem;color:var(--muted);font-size:.75rem}
.application-form{padding:3rem;background:#f4f7fa;border-top:3px solid var(--blue)}.application-form label>span:first-child{display:block;margin-bottom:.25rem}.application-form select{width:100%;border:0;border-bottom:1px solid var(--line);padding:.9rem 0;background:transparent;color:var(--ink);outline:0}
.form-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.char-count{display:block;text-align:right;margin-top:.35rem;color:var(--muted);font:10px 'DM Mono',monospace}.form-security{font-size:.72rem!important;line-height:1.6!important;color:var(--muted)!important;margin:0!important}
.application-confirmation .confirmation-visual{background-image:linear-gradient(145deg,rgba(4,22,43,.58),rgba(4,22,43,.93)),url('/images/services/field-team.webp')}

@media(max-width:900px){.news-featured,.career-intro-grid,.news-intro-grid,.application-section{grid-template-columns:1fr}.application-copy{position:relative;top:0}.news-card-image img{min-height:420px}.news-card-copy{padding:4rem 7vw}}
@media(max-width:850px){.career-field-grid{grid-template-columns:1fr}.career-field-grid h3{overflow-wrap:break-word}}
@media(max-width:700px){.news-hero,.careers-hero{min-height:580px;padding:6rem 7vw 5rem}.news-hero h1{font-size:clamp(3.4rem,15vw,5rem)}.careers-hero h1{font-size:clamp(3.1rem,14vw,4.8rem)}.news-intro,.news-grid-section,.career-intro,.career-fields,.application-section,.news-cta{padding-left:7vw;padding-right:7vw}.news-card-grid,.career-field-grid{grid-template-columns:1fr}.news-card>img{height:240px}.application-form{padding:1.7rem}.form-two-columns{grid-template-columns:1fr}.career-intro-grid>*,.news-intro-grid>*{min-width:0}.career-intro h2,.application-copy h2,.news-intro h2{font-size:clamp(2.3rem,11vw,3.2rem);overflow-wrap:break-word;hyphens:auto}}

/* PIM 2026 brand refresh */
.brand img {
  width: 172px;
  height: auto;
  max-height: 82px;
  object-fit: contain;
}

.confirmation-brand img {
  width: 172px;
  height: auto;
  max-height: 82px;
  object-fit: contain;
}

.site-footer-brand img {
  content: url('/pim-logo-white.png?v=20260719-1');
  width: 220px;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: transparent;
  padding: 0;
}

.site-footer-map iframe {
  width: 360px;
  height: 270px;
  max-width: 100%;
}

@media (max-width: 720px) {
  .brand img {
    width: 145px;
    max-height: 72px;
  }

  .confirmation-brand img {
    width: 145px;
    max-height: 72px;
  }

  .site-footer-brand img {
    width: 190px;
  }
}

/* Global navigation and footer system */
.site-header nav {
  align-items: center;
  gap: 1.35rem;
  white-space: nowrap;
}

.site-header nav > a,
.nav-submenu-toggle {
  font: inherit;
  letter-spacing: inherit;
  text-transform: uppercase;
}

.nav-legal {
  position: relative;
}

.nav-submenu-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .75rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-weight: 700;
  cursor: pointer;
  opacity: .74;
}

.nav-submenu-toggle b {
  color: var(--blue);
  font-size: .9rem;
  transition: transform .2s ease;
}

.nav-submenu {
  position: absolute;
  top: calc(100% + .5rem);
  right: 0;
  z-index: 20;
  display: grid;
  min-width: 220px;
  padding: .65rem;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 45px rgba(7,27,53,.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.nav-submenu a {
  padding: .8rem .9rem;
  color: var(--ink);
  opacity: 1 !important;
}

.nav-submenu a:hover,
.nav-submenu a:focus-visible {
  background: #f3f7fa;
}

.nav-legal:hover .nav-submenu,
.nav-legal:focus-within .nav-submenu,
.nav-legal.is-open .nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-legal.is-open .nav-submenu-toggle b {
  transform: rotate(180deg);
}

.mobile-menu-toggle {
  display: none;
  width: 46px;
  height: 42px;
  padding: 10px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
}

.mobile-menu-toggle span {
  display: block;
  height: 2px;
  margin: 4px 0;
  background: var(--ink);
  transition: transform .2s ease, opacity .2s ease;
}

.mobile-menu-toggle.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.mobile-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.mobile-menu-toggle.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.site-header .header-cta {
  display: none;
}

.confirmation-nav.site-header .confirmation-nav-meta { display: none; }
.confirmation-footer .footer-bottom-links { display: flex; justify-content: center; gap: 1.3rem; }
.confirmation-footer .footer-bottom-links a,
.confirmation-footer .footer-credit { color: var(--blue); }

.site-footer .footer-bottom {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 2rem;
}

.site-footer .footer-bottom-links {
  justify-content: center;
  text-align: center;
}

.site-footer .footer-credit {
  justify-self: end;
  color: var(--blue);
}

@media (max-width: 1100px) and (min-width: 901px) {
  .site-header { padding-left: 3vw; padding-right: 3vw; }
  .site-header nav { gap: .85rem; font-size: .62rem; }
  .brand img { width: 150px; }
}

@media (max-width: 900px) {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: 78px;
    background: #fff;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
  }

  .site-header nav {
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    display: none;
    max-height: calc(100vh - 78px);
    overflow-y: auto;
    padding: 1rem 5vw 1.4rem;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 18px 35px rgba(7,27,53,.14);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .site-header nav.is-open { display: flex; }
  .site-header nav > a,
  .nav-submenu-toggle {
    width: 100%;
    padding: 1rem 0;
    border-bottom: 1px solid var(--line);
    text-align: left;
    opacity: 1;
  }

  .nav-submenu-toggle { justify-content: space-between; }
  .nav-submenu {
    position: static;
    display: none;
    min-width: 0;
    padding: .35rem 0 .6rem 1rem;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .nav-legal.is-open .nav-submenu { display: grid; }
  .mobile-menu-toggle { display: block; margin-left: auto; }
  .header-actions { margin-left: .7rem; }
  .lang { display: inline-flex; }
}

@media (max-width: 760px) {
  .site-footer .footer-bottom {
    grid-template-columns: 1fr;
    align-items: flex-start;
    text-align: left;
  }
  .site-footer .footer-bottom-links { justify-content: flex-start; text-align: left; }
  .site-footer .footer-credit { justify-self: start; }
  .confirmation-footer { height: auto; padding: 1rem 5vw; flex-direction: column; gap: .8rem; }
  .confirmation-footer .footer-bottom-links { display: flex; flex-wrap: wrap; }
}

/* Header refinement — 2026-07-23 */
@media (min-width: 1101px) {
  .site-header nav {
    font-size: .792rem;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .site-header nav {
    font-size: .682rem;
  }
}

@media (max-width: 900px) {
  .site-header nav {
    font-size: .72rem;
    font-weight: 800;
  }

  .site-header nav > a,
  .nav-submenu-toggle,
  .nav-submenu a {
    font-weight: 800;
  }
}

/* Header scale and sticky update — 2026-07-23 */
.site-header {
  height: 138px;
}

.brand img {
  width: 258px;
  max-height: 123px;
}

.header-brand-title {
  margin-left: .35rem;
  margin-right: auto;
  transform: translateX(-.5rem);
  color: var(--ink);
  font-size: clamp(1.35rem, 2.25vw, 2.45rem);
  line-height: .95;
  font-weight: 800;
  letter-spacing: -.045em;
  white-space: nowrap;
}

@media (min-width: 901px) {
  .site-header,
  .detail-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
  }

  .detail-hero {
    padding-top: 11rem;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .brand img {
    width: 225px;
    max-height: 123px;
  }

  .header-brand-title {
    margin-left: .2rem;
    font-size: 1.35rem;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 117px;
  }

  .brand img {
    width: 218px;
    max-height: 108px;
  }

  .header-brand-title {
    display: none;
  }

  .site-header nav {
    top: 117px;
    max-height: calc(100vh - 117px);
  }

  .detail-hero {
    padding-top: 8.5rem;
  }
}

/* Homepage service hero slideshow — 2026-07-23 */
.hero-image.hero-slideshow {
  overflow: hidden;
  transform: none;
  filter: none;
  background-image: none;
}

.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.045);
  filter: saturate(.86) contrast(1.04);
  transition: opacity 1.1s ease, transform 6.2s ease;
}

.hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
}

.hero-service-panel {
  position: absolute;
  right: 5vw;
  bottom: 5.7rem;
  z-index: 2;
  width: min(370px, 32vw);
  padding: 1.25rem;
  color: #fff;
  background: rgba(4, 22, 43, .68);
  border: 1px solid rgba(255, 255, 255, .18);
  backdrop-filter: blur(14px);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .25);
}

.hero-service-kicker {
  display: block;
  margin-bottom: 1.1rem;
  font: 10px 'DM Mono', monospace;
  letter-spacing: .16em;
  color: var(--blue);
}

.hero-service-panel h2 {
  margin: 0 0 .85rem;
  font-size: 1.55rem;
  line-height: 1.05;
  letter-spacing: -.04em;
}

.hero-service-panel p {
  margin: 0 0 1.25rem;
  color: #c7d5e2;
  font-size: .84rem;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .hero-service-panel {
    width: min(330px, 34vw);
  }
}

@media (max-width: 900px) {
  .hero {
    padding-bottom: 310px;
  }

  .hero-service-panel {
    left: 7vw;
    right: 7vw;
    bottom: 4.8rem;
    width: auto;
  }

  .hero-service-panel h2 {
    font-size: 1.35rem;
  }
}

@media (max-width: 520px) {
  .hero {
    padding-bottom: 350px;
  }

}

/* Floating contact rail — 2026-07-23 */
.floating-contact {
  --contact-green: #648a18;
  position: fixed;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: calc(1.25rem + env(safe-area-inset-bottom));
  z-index: 80;
  transition: bottom .22s ease, opacity .18s ease, transform .18s ease;
}

.floating-contact-actions {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.floating-contact-action {
  position: relative;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 10px 26px rgba(3,22,42,.22);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  -webkit-tap-highlight-color: transparent;
}

button.floating-contact-action {
  appearance: none;
}

.floating-contact-phone { background: var(--ink); }
.floating-contact-message { background: var(--blue); }
.floating-contact-email { background: var(--contact-green); }

.floating-contact-action svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.floating-contact-action:hover,
.floating-contact-action:focus-visible {
  transform: translateX(-3px);
  box-shadow: 0 13px 30px rgba(3,22,42,.28);
  filter: brightness(1.06);
}

.floating-contact-action:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.floating-contact-chooser a:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: -2px;
}

.floating-contact-label {
  position: absolute;
  top: 50%;
  right: calc(100% + .7rem);
  width: max-content;
  max-width: 210px;
  padding: .52rem .7rem;
  border: 1px solid rgba(7,27,53,.1);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 8px 22px rgba(3,22,42,.16);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  opacity: 0;
  transform: translate(8px,-50%);
  transition: opacity .16s ease, transform .16s ease;
}

.floating-contact-action:hover .floating-contact-label,
.floating-contact-action:focus-visible .floating-contact-label {
  opacity: 1;
  transform: translate(0,-50%);
}

.floating-contact-chooser {
  position: absolute;
  top: 50%;
  right: calc(100% + .85rem);
  width: 190px;
  padding: .45rem;
  border: 1px solid rgba(7,27,53,.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(3,22,42,.22);
  transform: translateY(-50%);
}

.floating-contact-chooser[hidden] {
  display: none;
}

.floating-contact-chooser a {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 48px;
  padding: .55rem .65rem;
  border-radius: 8px;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 800;
}

.floating-contact-chooser a:hover {
  background: #edf6fb;
}

.floating-contact-service-icon {
  width: 31px;
  height: 31px;
  padding: 7px;
  border-radius: 50%;
  color: #fff;
  fill: currentColor;
  flex: 0 0 auto;
}

.floating-contact-service-icon-whatsapp { background: var(--contact-green); }
.floating-contact-service-icon-viber { background: var(--ink); }

.floating-contact.is-open .floating-contact-message {
  box-shadow: 0 0 0 4px rgba(7,153,236,.2), 0 13px 30px rgba(3,22,42,.28);
}

.floating-contact.is-footer-visible {
  bottom: calc(5.75rem + env(safe-area-inset-bottom));
}

.floating-contact.is-menu-open {
  opacity: 0;
  pointer-events: none;
  transform: translateX(1rem);
}

@media (max-width: 900px) {
  .floating-contact {
    right: max(.85rem, env(safe-area-inset-right));
    bottom: calc(1rem + env(safe-area-inset-bottom));
  }

  .floating-contact.is-footer-visible {
    bottom: calc(5.25rem + env(safe-area-inset-bottom));
  }

  .floating-contact-action {
    width: 50px;
    height: 50px;
  }

  .floating-contact-label {
    display: none;
  }

  .floating-contact.is-form-active {
    opacity: 0;
    pointer-events: none;
    transform: translateX(1rem);
  }

  .floating-contact-chooser {
    right: calc(100% + .7rem);
    width: 178px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-contact,
  .floating-contact-action,
  .floating-contact-label {
    transition: none;
  }
}


/* Dorada početne stranice — 2026-07-29 */
.header-brand-title,
.hero-service-panel {
  display: none !important;
}

.site-header nav {
  font-size: .864rem;
  font-weight: 800;
}

.site-header nav > a,
.nav-submenu-toggle,
.nav-submenu a {
  font-weight: 800;
}

.hero-stamp {
  font-size: 7.5rem;
  color: rgba(255, 255, 255, .08);
  pointer-events: none;
  user-select: none;
}

.hero-stamp small {
  font-size: 2.1rem;
}

@media (min-width: 1101px) {
  .site-header nav {
    font-size: .9504rem;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .site-header nav {
    font-size: .8184rem;
  }
}

@media (max-width: 900px) {
  .hero {
    padding-bottom: 90px;
  }
}

@media (max-width: 850px) {
  .hero-stamp {
    font-size: 5.25rem;
  }
}


/* Prozirna vodena tekstura oznake — 2026-07-29 */
.hero-stamp,
.hero-stamp small {
  color: rgba(255, 255, 255, .10);
  background-color: rgba(255, 255, 255, .10);
  background-image: repeating-radial-gradient(
    ellipse at center,
    rgba(255, 255, 255, .045) 0 1px,
    transparent 2px 7px
  );
  background-size: 22px 12px;
  background-repeat: repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}


/* Puna širina i veća oznaka — 2026-07-29 */
.hero-stamp {
  width: max-content;
  max-width: none;
  padding-inline: .06em .16em;
  white-space: nowrap;
  font-size: 9.375rem;
  background-size: 27.5px 15px;
}

.hero-stamp small {
  font-size: 2.625rem;
  background-size: 27.5px 15px;
}

@media (max-width: 850px) {
  .hero-stamp {
    font-size: 6.5625rem;
  }
}


/* Tipografija glavnog menija — 2026-07-29 */
.site-header nav,
.site-header nav > a,
.nav-submenu-toggle,
.nav-submenu a {
  font-family: Manrope, Arial, sans-serif;
}


/* Dorada desktop zaglavlja — 2026-07-29 */
@media (min-width: 1101px) {
  .site-header {
    padding-left: 10vw;
  }

  .brand img {
    width: 283.8px;
    max-height: 135.3px;
  }

  .site-header nav {
    margin-left: auto;
    margin-right: 1rem;
    font-size: .90288rem;
    color: #071b35;
  }

  .site-header nav > a,
  .nav-submenu-toggle {
    color: #071b35;
    opacity: 1;
  }

  .site-header nav > a:hover,
  .site-header nav > a:focus-visible,
  .nav-submenu-toggle:hover,
  .nav-submenu-toggle:focus-visible {
    color: #00c8ff;
    opacity: 1;
  }
}


/* Centriranje logotipa i desktop jezičko dugme — 2026-07-29 */
@media (min-width: 1101px) {
  .site-header .brand {
    display: flex;
    align-items: center;
  }

  .lang {
    border-color: #071b35;
    background: #071b35;
    color: #ffffff;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
  }

  .lang:hover,
  .lang:focus-visible {
    border-color: #00c8ff;
    background: #000000;
    color: #00c8ff;
  }
}


/* Mobilno jezičko dugme — 2026-07-29 */
@media (max-width: 900px) {
  .lang {
    border-color: #071b35;
    background: #071b35;
    color: #ffffff;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
  }

  .lang:hover,
  .lang:focus-visible {
    border-color: #00c8ff;
    background: #000000;
    color: #00c8ff;
  }
}


/* Navigacija usklađena sa glavnim naslovima — 2026-07-29 */
.site-header nav,
.site-header nav > a,
.nav-submenu-toggle,
.nav-submenu a {
  font-family: Manrope, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
}


/* Povećanje prikaza logotipa — 2026-07-29 */
.site-header .brand img {
  transform: scale(1.17);
  transform-origin: left center;
}


/* Završne veličine logotipa i navigacije — 2026-07-29 */
.site-header .brand img {
  transform: scale(1.25);
}

.site-header nav > a,
.nav-submenu-toggle,
.nav-submenu a {
  font-size: 1.08em;
}


/* Smanjenje prikaza logotipa za trinaest posto — 2026-07-29 */
.site-header .brand img {
  transform: scale(1.0875);
}
