.services-hero{padding:155px 0 72px;background:#0d1a2b;color:#fff}.services-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.services-hero h1{font-size:clamp(54px,7vw,104px);line-height:.94;letter-spacing:-.065em;margin:28px 0 0}.services-hero h1 em{font-style:normal;color:#58a6ff}.services-intro{max-width:520px;color:#aab9ca;font-size:18px;line-height:1.7}.services-intro a{display:inline-block;margin-top:25px;color:#fff;border-bottom:1px solid #58a6ff;padding-bottom:6px}.service-index{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:70px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font:10px monospace;letter-spacing:.08em;color:#91a5bb}.service-catalog{padding:50px 0 120px;background:#eef3f8}.service-card{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-bottom:1px solid #cbd7e3;align-items:stretch}.service-card.reverse .service-content{order:2}.service-card.reverse .geo-visual{order:1}.service-content{padding:85px 8vw 70px 0;align-self:center}.service-card.reverse .service-content{padding:85px 0 70px 8vw}.service-content>span{font:10px monospace;text-transform:uppercase;letter-spacing:.15em;color:#427dbb}.service-content h2{font-size:clamp(38px,4vw,64px);line-height:1;letter-spacing:-.055em;margin:24px 0}.service-content p{color:#56697d;font-size:17px;line-height:1.75}.service-content ul{list-style:none;padding:0;margin:30px 0 0;border-top:1px solid #ced9e4}.service-content li{padding:12px 0;border-bottom:1px solid #ced9e4;font-size:13px}.geo-visual{position:relative;overflow:hidden;min-height:480px;background:#13263d;background-image:linear-gradient(rgba(88,166,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(88,166,255,.1) 1px,transparent 1px);background-size:38px 38px}.geo-visual:before,.geo-visual:after,.geo-visual i,.geo-visual b{content:"";position:absolute;display:block}.geo-visual span{position:absolute;left:25px;bottom:22px;font:10px monospace;letter-spacing:.15em;color:#87bfff}.visual-ortho:before{inset:21% 18%;border:2px solid #58a6ff;clip-path:polygon(8% 15%,72% 0,100% 38%,80% 96%,22% 88%,0 46%)}.visual-ortho:after{width:12px;height:12px;border-radius:50%;background:#58a6ff;left:58%;top:43%;box-shadow:0 0 0 16px rgba(88,166,255,.16)}.visual-cloud:before{width:62%;height:45%;left:19%;top:27%;background:radial-gradient(circle,#75b8ff 0 2px,transparent 3px);background-size:17px 15px;transform:perspective(500px) rotateX(58deg) rotateZ(-11deg)}.visual-terrain:before,.visual-terrain:after{width:85%;height:55%;left:7%;top:22%;border:1px solid rgba(88,166,255,.65);border-radius:50%;transform:rotate(-15deg)}.visual-terrain:after{width:64%;height:37%;left:18%;top:31%}.visual-terrain i{width:42%;height:22%;left:29%;top:39%;border:1px solid #58a6ff;border-radius:50%;transform:rotate(-15deg)}.visual-volume:before{width:50%;height:30%;left:25%;top:37%;border-radius:50%;background:radial-gradient(ellipse at center,#58a6ff 0,rgba(88,166,255,.2) 48%,transparent 50%);transform:perspective(300px) rotateX(55deg)}.visual-volume:after{height:36%;border-left:1px dashed #58a6ff;left:50%;top:28%}.visual-time:before,.visual-time:after{inset:19% 45% 19% 12%;border:1px solid rgba(88,166,255,.5)}.visual-time:after{left:54%;right:12%;border-color:#58a6ff}.visual-time i{width:26%;border-top:1px dashed #58a6ff;left:37%;top:50%}.visual-nature:before,.visual-nature:after{width:110%;height:38%;left:-5%;top:25%;border:1px solid rgba(88,166,255,.62);border-radius:50%;transform:rotate(-8deg)}.visual-nature:after{width:80%;height:25%;left:10%;top:33%}.visual-nature i{width:10px;height:10px;border-radius:50%;background:#58a6ff;left:61%;top:42%}.method-band{padding:110px 0;background:#fff}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.method-grid h2{font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:25px 0}.method-grid>div:last-child{align-self:end;color:#586b7f;font-size:18px;line-height:1.7}.method-grid a{display:inline-block;margin-top:25px;color:#173f6a;border-bottom:2px solid #58a6ff;padding-bottom:5px}@media(max-width:760px){.services-hero-grid,.service-card,.method-grid{grid-template-columns:1fr}.services-intro{margin-top:35px}.service-index{grid-template-columns:repeat(2,1fr)}.service-card.reverse .service-content,.service-card.reverse .geo-visual{order:initial}.service-content,.service-card.reverse .service-content{padding:60px 0}.geo-visual{min-height:360px}.service-card{padding-bottom:20px}}

/* Mere direkte ydelsesoversigt med dokumentariske billeder fra i.dk. */
.services-hero{padding:120px 0 48px;min-height:auto}
.services-hero h1{font-size:clamp(50px,6.2vw,88px);max-width:760px}
.services-intro{font-size:17px}
.service-index{margin-top:44px}
.service-catalog{padding-top:28px}
.service-card{min-height:500px;border:1px solid #cbd7e3;border-bottom:0;background:#f9fbfa;overflow:hidden}
.service-card:first-child{border-radius:18px 18px 0 0}.service-card:last-child{border-bottom:1px solid #cbd7e3;border-radius:0 0 18px 18px}
.service-content{padding:64px 7vw 58px 0}.service-card.reverse .service-content{padding:64px 0 58px 7vw}
.service-content h2{font-size:clamp(36px,3.7vw,56px)}
.service-photo{position:relative;min-height:500px;margin:0;overflow:hidden;background:#dfe6df}
.service-photo img{width:100%;height:100%;min-height:500px;display:block;object-fit:cover}
.service-photo-dark{background:#080d0b}.service-photo-dark img{object-fit:contain;padding:28px}
.service-photo-dark.service-photo-lidar img{object-fit:cover;object-position:center;padding:0;transform:scale(1.08)}
.service-photo-model img{object-fit:contain;background:#080d0b;padding:18px}
.service-photo-model img[src*="arkil-punktsky-model"]{object-fit:cover;padding:0;object-position:48% 66%;transform:scale(1.48);transform-origin:48% 66%}
.service-photo-model img[src*="lillebaelt-golf-dsm"]{object-fit:cover;padding:0;object-position:58% 48%;transform:scale(2.35);transform-origin:58% 48%}
.service-photo-model img[src*="volumes1-aalsbo"]{object-fit:cover;padding:0;object-position:36% 50%;transform:none}
.service-photo-model img[src*="ejendom-3d-model-historisk"]{object-fit:contain;padding:0;object-position:50% 54%;transform:scale(1.38);transform-origin:50% 54%}
.service-photo img[src*="traetaelling-risikotraeer-v4"]{object-fit:contain;object-position:center;padding:0;transform:none;background:#183425}
.service-photo figcaption{position:absolute;left:22px;bottom:18px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.88);color:#263e34;font:600 10px monospace;letter-spacing:.12em;text-transform:uppercase}
.service-card.reverse .service-photo{order:1}.service-card.reverse .service-content{order:2}
@media(max-width:760px){.services-hero{padding-top:110px}.service-index{grid-template-columns:repeat(2,1fr)}.service-card{grid-template-columns:1fr}.service-card.reverse .service-photo,.service-card.reverse .service-content{order:initial}.service-content,.service-card.reverse .service-content{padding:48px 22px}.service-photo,.service-photo img{min-height:330px}}

/* Samme lyse Mapping-designlinje som forsiden og Om os; grøn bruges som accent. */
.services-hero{background-color:#f3f1e9!important;background-image:radial-gradient(circle at 1px 1px,rgba(55,107,87,.07) 1px,transparent 1.2px)!important;background-size:48px 48px!important;color:#20352c!important;border-bottom:1px solid #d7d9ca}
.services-hero .breadcrumbs,.services-hero .breadcrumbs a{color:#708078!important}
.services-hero .eyebrow{color:#777c45!important}
.services-hero h1{color:#17241f!important}.services-hero h1 em{color:#777c45!important}
.services-intro{color:#53665e!important}
.service-index{border-top-color:#cfd3c3!important;color:#6a765f!important}
.service-index span{color:#6a765f!important}
.service-catalog{background:#fafaf6!important}
.service-card{border-color:#d7d9ca!important;background:#fffef9!important}
.service-content>span{color:#a4784c!important}
.service-content h2{color:#20352c!important}
.service-content p{color:#5c6c66!important}
.service-fit{margin-top:28px;padding:20px 22px 18px;background:#e7ece8;border-left:2px solid #a4784c}.service-fit strong{display:block;margin-bottom:9px;color:#20352c;font-size:14px}.service-fit ul{margin:0;border:0;list-style:disc;padding-left:18px}.service-fit li{padding:4px 0;border:0;font-size:13px;line-height:1.45;color:#5c6c66}.service-case-link{display:inline-block;margin-top:18px;color:#20352c;font-weight:600;text-decoration:none;border-bottom:0}.service-case-link:hover{color:#a4784c}
.method-band{background:#263e34!important;color:#f5f3e9!important}
.method-band .eyebrow,.method-band a{color:#b6bc82!important;border:0!important;text-decoration:none!important;padding-bottom:0}.method-grid>div:last-child{color:#c8d2cc!important}

/* Kompakt hero med selve ydelserne som oversigt i højre kolonne. */
.services-hero{padding:70px 0 34px!important}
.services-hero-grid{align-items:end}
.services-hero .breadcrumbs{margin-bottom:24px}
.services-hero h1{font-size:clamp(48px,5.4vw,76px);margin-top:20px}
.hero-service-list{margin:0;padding:0;list-style:none;border-top:1px solid #cbd0c3;color:#20352c}
.hero-service-list li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #cbd0c3;font:600 14px/1.3 Manrope,Arial,sans-serif}
.hero-service-list span{color:#a4784c;font:600 9px/1.8 monospace}
@media(max-width:760px){.services-hero{padding:48px 0 30px!important}.hero-service-list{margin-top:30px}.services-hero h1{font-size:48px}}

/* Finpudsning af hero og interaktive modelvisninger. */
@media(min-width:761px){.services-hero-grid{align-items:start!important}}
.service-photo-link{position:absolute;inset:0;display:block;color:inherit;overflow:hidden}
.service-photo-link img{width:100%;height:100%;min-height:500px;display:block;object-fit:cover}
.service-photo-splat .service-photo-link img{object-fit:cover;padding:0}
.service-360-icon{position:absolute;right:22px;top:20px;z-index:2;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(32,53,44,.78);color:#fff;font:700 13px/1 Manrope,Arial,sans-serif;backdrop-filter:blur(5px)}
.service-model-cta{position:absolute;right:20px;bottom:18px;z-index:3;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.92);color:#20352c;font:700 11px/1.2 Manrope,Arial,sans-serif;transition:transform .2s ease,background .2s ease}
.service-photo-link:hover .service-model-cta{transform:translateY(-2px);background:#fff}
.service-photo-link:focus-visible{outline:3px solid #a4784c;outline-offset:-3px}
.service-photo-link~figcaption{z-index:4}
@media(max-width:760px){.service-photo-link img{min-height:330px}.service-model-cta{right:14px;bottom:14px}.service-360-icon{right:14px;top:14px}}

/* Direkte 360-viewer og fælles stor visning til 360 og Gaussian Splatting. */
.service-inline-viewer{position:absolute;inset:0;width:100%;height:100%;min-height:500px;border:0;background:#13231d}
.service-photo-360{background:#13231d}
.service-photo-360 .service-360-icon{pointer-events:none}
.service-drag-hint{pointer-events:none;position:absolute;z-index:3;left:50%;bottom:20px;display:flex;align-items:center;gap:8px;padding:8px 11px 8px 9px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(25,48,40,.76);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);backdrop-filter:blur(6px);transform:translateX(-50%)}
.service-drag-hint svg{width:42px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-drag-hint b{white-space:nowrap;font:700 10px/1.1 Manrope,Arial,sans-serif;letter-spacing:.03em}
.service-model-cta{border:1px solid rgba(32,53,44,.18);cursor:pointer}
.service-photo-splat .service-model-cta{padding:12px 17px;background:#244738;color:#fff;border-color:#244738;box-shadow:0 10px 24px rgba(8,18,14,.28)}
.service-photo-splat .service-model-cta:hover,.service-photo-splat .service-model-cta:focus-visible{background:#a4784c;border-color:#a4784c;color:#fff;transform:translateY(-2px)}
.service-photo-splat>img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}
.viewer-modal{width:min(70vw,1400px);height:70vh;max-width:none;max-height:none;padding:0;border:0;border-radius:18px;overflow:hidden;background:#07110e;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.viewer-modal::backdrop{background:rgba(9,20,17,.76);backdrop-filter:blur(6px)}
.viewer-modal-frame{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr;background:#07110e}
.viewer-modal-bar{min-height:54px;padding:0 14px 0 20px;display:flex;align-items:center;justify-content:space-between;background:#20352c;color:#fff}
.viewer-modal-bar strong{font:700 13px/1.2 Manrope,Arial,sans-serif;letter-spacing:.04em}
.viewer-modal-bar button{width:36px;height:36px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;color:#fff;font:400 24px/1 Arial,sans-serif;cursor:pointer}
.viewer-modal iframe{display:block;width:100%;height:100%;border:0;background:#07110e}
@media(max-width:760px){.service-inline-viewer,.service-photo-splat>img{min-height:330px}.viewer-modal{width:94vw;height:80vh}.viewer-modal-bar{min-height:48px}.service-model-cta{max-width:calc(100% - 28px)}.service-drag-hint{bottom:64px}.service-drag-hint b{display:none}}
