/* EPT v2: ett rörligt fotografiskt lager per sektion, utan fast bakgrund. */
body:is(.page-index,.page-team,.page-profile) {
 --orange:#ff5000;--orange-2:#ff742e;--muted:#c4cbd0;
 background:#0b0e10;isolation:isolate;
}
body:is(.page-index,.page-team,.page-profile)::before,
body:is(.page-index,.page-team,.page-profile)::after {display:none;}
body:is(.page-index,.page-team,.page-profile) .site-header {
 background:rgba(24,28,31,.93);border-bottom:1px solid #ff500045;box-shadow:0 6px 30px #0004;
}
body:is(.page-index,.page-team,.page-profile) main {position:relative;z-index:1;}
body:is(.page-index,.page-team,.page-profile) main > section {
 --scene:url('../images/ept-milling.webp');--scene-position:70% center;--scene-dark:.48;
 position:relative;isolation:isolate;overflow:hidden;background:#0b0e10;
 border-color:#ffffff18;
}
/* Överstyr äldre ID-regler: innehåll ska alltid ligga ovanför bildens toning. */
body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om) > .container {position:relative;z-index:2;}
/* ID i :is håller de gamla sektionsreglerna under det gemensamma lagret. */
body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om)::before {
 content:"";position:absolute;inset:-9%;z-index:0;pointer-events:none;
 background-image:var(--scene);background-size:cover;background-position:var(--scene-position);
 opacity:1;mask-image:none;-webkit-mask-image:none;
 transform-origin:center;animation:ept-drift 16s ease-in-out infinite alternate;
 will-change:auto;
}
body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om)::after {
 content:"";display:block;position:absolute;inset:0;width:auto;height:auto;border-radius:0;
 z-index:1;pointer-events:none;transform:none;
 background:linear-gradient(90deg,rgba(9,12,14,.78),rgba(9,12,14,var(--scene-dark)) 55%,rgba(9,12,14,.16)),linear-gradient(180deg,#0b0e1066,transparent 22%,transparent 70%,#0b0e10cc);
}
@keyframes ept-drift {
 from {transform:scale(1.02) translate3d(-1.8%,1%,0);}
 to {transform:scale(1.14) translate3d(2.4%,-1.8%,0);}
}
body.page-index main > .hero {--scene:url('../images/ept-probe-wide.webp');--scene-position:65% center;--scene-dark:.38;}
body.page-index main > #tjanster {--scene:url('../images/ept-milling.webp');--scene-position:center 58%;--scene-dark:.40;}
body.page-index main > #arbetssatt {--scene:url('../images/ept-blueprint.webp');--scene-position:center;--scene-dark:.35;}
body.page-index main > #om {--scene:url('../images/ept-metal.webp');--scene-position:center 65%;--scene-dark:.55;}
body.page-index main > #kontakt {--scene:url('../images/ept-turning.webp');--scene-position:35% center;--scene-dark:.45;}
body.page-index main > #tjanster::before {animation-duration:20s;animation-direction:alternate-reverse;}
body.page-index main > #arbetssatt::before {animation-duration:24s;}
body.page-index main > #om::before {animation-duration:19s;animation-direction:alternate-reverse;}
body.page-index .hero-visual {background:none;}
body.page-index .hero-visual::before,body.page-index .hero-visual::after {opacity:.22;}
body.page-index .hero-e {filter:drop-shadow(0 24px 38px #000a);}
body:is(.page-index,.page-team,.page-profile) .card,
body:is(.page-index,.page-team,.page-profile) .step,
body:is(.page-index,.page-team,.page-profile) .person-card,
body:is(.page-index,.page-team,.page-profile) .contact-box,
body:is(.page-index,.page-team,.page-profile) .skill-list li {
 background:linear-gradient(145deg,rgba(26,31,34,.94),rgba(12,17,20,.90));
 border:1px solid #ffffff29;box-shadow:0 20px 45px #0004,inset 0 1px 0 #ffffff06;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
body.page-index .card {border-top:2px solid var(--orange);}
body.page-index .card:hover {border-color:var(--orange);box-shadow:0 20px 45px #0006,0 0 25px #ff500012;}
body.page-index .work-copy,body.page-index .about-copy {
 padding:28px;background:rgba(10,14,17,.82);border:1px solid #ffffff18;
 border-left:2px solid var(--orange);border-radius:8px;
}
body.page-index .hero-copy,body.page-index .hero-note,
body.page-index .lead,body.page-team .lead,body.page-profile .lead {color:#cbd1d5;}
body:is(.page-index,.page-team,.page-profile) h1,
body:is(.page-index,.page-team,.page-profile) h2 {text-shadow:0 3px 22px #000a;}
body:is(.page-index,.page-team,.page-profile) footer {position:relative;z-index:2;background:#080b0d;border-top:1px solid #ff500030;}
body[data-scene-page="team"] main > .page-hero {--scene:url('../images/ept-turning.webp');}
body[data-scene-page="team"] main > section:not(.page-hero) {--scene:url('../images/ept-metal.webp');}
body[data-scene-page="jobs"] main > .page-hero {--scene:url('../images/ept-milling.webp');}
body[data-scene-page="jobs"] main > section:not(.page-hero) {--scene:url('../images/ept-turning.webp');--scene-position:40% center;}
body[data-scene-page="role"] main > .page-hero {--scene:url('../images/ept-turning.webp');}
body[data-scene-page="role"] main > section:not(.page-hero) {--scene:url('../images/ept-drawing.webp');}
body[data-scene-page="profile"] main > .page-hero {--scene:url('../images/ept-milling.webp');}
body[data-scene-page="profile"] main > section:not(.page-hero) {--scene:url('../images/ept-probe-wide.webp');--scene-position:65% center;}
@media(max-width:840px) {
 body:is(.page-index,.page-team,.page-profile) main > section {--scene-dark:.66;}
 body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om)::after {
 background:linear-gradient(90deg,#090c0edb,#090c0e9e),linear-gradient(180deg,#0b0e1077,transparent 25%,#0b0e1099);
 }
 body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om)::before {animation-duration:20s;}
 body.page-index .work-copy,body.page-index .about-copy {padding:22px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om)::before {animation:none;transform:none;}
}
/* JS pausar animationer utanför vyn utan att ändra deras motiv. */
body:is(.page-index,.page-team,.page-profile) main > section:is(section,#tjanster,#arbetssatt,#om)[data-scene-paused]::before {animation-play-state:paused;}
