/* NIVEO — forside */
@keyframes winIn{from{opacity:0;transform:translateY(14vh) scale(.94)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:.7}}
@keyframes rise{to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@keyframes bob{50%{transform:translateY(-8px)}}
@keyframes blink{50%{opacity:.2}}
@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(91,76,255,0)}}
@keyframes drift{from{transform:translate3d(0,-5px,0)}to{transform:translate3d(0,6px,0)}}
.hero .pin{background:var(--ink);color:var(--paper)}
.hero__glow{display:none}
.hero__ring{position:absolute;right:-14vw;top:50%;width:min(112vh,84vw);aspect-ratio:1;transform:translateY(-50%) scale(calc(1 + var(--p,0)*1.15));opacity:calc(1 - var(--p,0)*.6)}
.hero__seg{transform-box:view-box;transform-origin:200px 200px;transform:rotate(calc(52deg + var(--p,0)*320deg))}
.hero__wins{position:absolute;inset:0;max-width:2200px;margin-inline:auto;pointer-events:none}
.win{position:absolute;animation:winIn 1.4s var(--ease) both;animation-delay:calc(.45s + var(--i)*.1s)}
.win__in{transform:translate3d(0,calc(var(--p,0)*var(--k)*-62vh),0) rotate(var(--r,0deg));will-change:transform}
.w1{left:55%;top:max(8vh,calc(var(--hdr) - 4px));width:35%}
.w2{left:54%;top:42vh;width:26%;z-index:2}
.w3{left:86%;top:21vh;width:10%;z-index:3}
.w4{left:67%;top:58vh;width:calc(var(--u)*25);z-index:3;--u:calc(min(1vw,1.7778vh)*.74)}
.w4 .sow{width:calc(var(--u)*34)}
.t3{left:93.2%;top:57vh;width:4.4%;z-index:4}
.u4{left:73%;top:85vh;z-index:6}
.t1{left:45%;top:max(13vh,calc(var(--hdr) + 6px));width:5.4%;z-index:4}
.t2{left:92.5%;top:72vh;width:5%;z-index:4}
.u1{left:50%;top:33vh;z-index:5}
.u2{left:73%;top:40vh;z-index:5}
.u3{left:60%;top:77vh;z-index:5}
.cardwin{border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -24px rgba(0,0,0,.7)}
.cardwin img{display:block;width:100%;height:auto}
.uc--ok{gap:12px;padding:12px 18px;border-radius:99px}
.uc--ok span{display:grid;gap:2px;font-weight:700}
.uc--ok small{font-size:11px;font-weight:500;color:#6b6560}
.uc__dot{width:26px;height:26px;border-radius:50%;background:#0b8f4a;position:relative;flex:none}
.uc__dot::after{content:"";position:absolute;left:9px;top:6px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.uc{display:flex;align-items:center;gap:10px;background:rgba(245,244,240,.96);color:#0e0e10;border-radius:16px;padding:12px 16px;box-shadow:0 24px 50px -18px rgba(0,0,0,.7);font:600 13px/1.2 var(--text);white-space:nowrap}
.uc--book{background:#0080ff;color:#06080b;border-radius:99px;padding:13px 20px}
.uc--pro{flex-direction:column;align-items:flex-start;gap:3px;min-width:150px;background:#fffdf8;border-radius:14px}
.uc--pro small{font-size:11px;color:#6b6560;font-weight:500}
.uc--pro b{font:800 22px/1 var(--display);letter-spacing:-.03em}
.uc--pro i{font:500 12px var(--text);color:#6b6560;font-style:normal}
.uc--pro .bar{display:block;width:100%;height:5px;border-radius:9px;background:#f3ede5;margin-top:5px;overflow:hidden}
.uc--pro .bar i{display:block;height:100%;width:93%;background:#f97316;border-radius:9px}
.hero__txt{position:absolute;left:var(--g);right:var(--g);bottom:6.5vh;z-index:6;opacity:calc(1 - var(--o,0));transform:translateY(calc(var(--o,0)*-14vh))}
.hero__eyebrow{margin-bottom:2.4vh;animation:fade 1s .2s both}
.hero__title{font:800 clamp(46px,min(8.7vw,15.8vh),168px)/.9 var(--display);letter-spacing:-.05em;text-transform:uppercase;max-width:60vw}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.hero__title .line>span{display:block;transform:translateY(112%);animation:rise 1.2s var(--ease) forwards;animation-delay:calc(.15s + var(--i)*.09s)}
.hero__foot{display:flex;align-items:center;flex-wrap:wrap;gap:20px 40px;margin-top:3.6vh;animation:fadeUp 1.2s .9s var(--ease) both}
.hero__foot p{max-width:34ch;color:var(--mute-d);font-size:clamp(15px,1.15vw,18px)}
.hero__paper{position:absolute;inset:0;z-index:7;background:var(--paper);color:var(--ink);display:flex;align-items:center;padding-inline:var(--g);clip-path:circle(calc(var(--s,0)*150vmax) at 72% 50%)}
.triad{display:grid;gap:0}
.triad li{font:800 clamp(44px,10vw,190px)/.92 var(--display);letter-spacing:-.055em;text-transform:uppercase;opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*8vh))}
.triad li:nth-child(3) span{color:var(--acc)}
.triad li:nth-child(1){opacity:var(--s,1)}
.hero__scroll{position:absolute;right:var(--g);bottom:5vh;z-index:6;display:flex;align-items:center;gap:12px;font:600 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;opacity:calc(.6*(1 - var(--o,0)));animation:fade 1s 1.6s both}
.hero__scroll span{width:1px;height:42px;background:linear-gradient(var(--paper),transparent);animation:drip 2s var(--ease-io) infinite;transform-origin:top}
.triad--b{display:none}
.manifest{padding:clamp(100px,16vw,260px) 0 clamp(80px,12vw,200px)}
.mf__big{font:600 clamp(30px,5.2vw,96px)/1.06 var(--display);letter-spacing:-.035em;margin-top:clamp(28px,4vw,56px);max-width:19em}
.sw{color:rgba(14,14,16,.16);transition:color .4s}
.sw.on{color:var(--ink)}
.rec{position:absolute;right:0;top:0;display:flex;align-items:center;gap:8px;font:600 11px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;background:#0e0e10cc;padding:9px 12px;border-radius:99px;z-index:4}
.rec i{width:8px;height:8px;border-radius:50%;background:#ff4d4d;animation:blink 1.2s infinite}
.proc .pin{background:var(--ink);color:var(--paper)}
.proc__head{position:absolute;left:var(--g);top:calc(var(--hdr) + 3vh);z-index:3}
.proc__ring{position:absolute;right:var(--g);top:calc(var(--hdr) + 1vh);width:clamp(74px,8vw,128px);z-index:3}
.proc__ring b{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(18px,1.8vw,28px) var(--display);letter-spacing:-.03em}
.proc__arc{transition:stroke-dashoffset .1s linear}
.proc__track{position:absolute;left:0;top:59%;display:flex;align-items:center;gap:clamp(40px,6vw,120px);padding:0 var(--g) 0 var(--g);translate:0 -50%;will-change:transform}
.ps{flex:none;width:min(42vw,620px)}
.ps__no{display:block;font:800 clamp(120px,min(20vw,36vh),380px)/.8 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1.5px rgba(245,244,240,.5);transition:color .6s,-webkit-text-stroke-color .6s}
.ps.is-on .ps__no{color:var(--acc);-webkit-text-stroke-color:var(--acc)}
.ps__t{font:800 clamp(34px,4.6vw,84px)/.95 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin-top:2vh;color:rgba(245,244,240,.55);transition:color .6s var(--ease)}
.ps__p{color:#8d8d96;max-width:34ch;margin-top:1.6vh;transition:color .6s var(--ease)}
.ps.is-on .ps__t{color:var(--paper)}
.ps.is-on .ps__p{color:#b4b4bc}
.proc__dots{display:none}
.proc__bar{position:absolute;left:var(--g);right:var(--g);bottom:3.2vh;height:2px;background:var(--line-d)}
.proc__bar i{display:block;height:100%;background:var(--acc-hi);width:calc(var(--p,0)*100%)}
.about{padding:clamp(90px,13vw,220px) 0;overflow:hidden}
.about__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,7vw,130px);align-items:center}
.about__vis{position:relative;width:min(100%,560px);aspect-ratio:1;justify-self:center}
.about__ring{position:absolute;inset:-7%;width:114%;height:114%;max-width:none;transform:rotate(calc(var(--pv,0)*70deg));will-change:transform}
.about__ring circle{fill:none}
.about__arc{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 2s var(--ease) .2s}
.about__vis.in .about__arc{stroke-dashoffset:72}
.about__ph{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#e7e5df}
.about__ph img{position:absolute;inset:0;width:100%;height:106%;object-fit:cover;object-position:50% 14%;clip-path:circle(0% at 50% 50%);transform:translate3d(0,calc(var(--pv,0)*-3%),0);transition:clip-path 1.5s var(--ease)}
.about__vis.in .about__ph img{clip-path:circle(75% at 50% 50%)}
.about__tag{position:absolute;left:-3%;bottom:7%;display:grid;gap:3px;background:var(--ink);color:var(--paper);padding:16px 22px;border-radius:18px;box-shadow:0 24px 50px -18px rgba(0,0,0,.5);opacity:0;transform:translateY(16px);transition:opacity .8s .9s,transform .9s .9s var(--ease)}
.about__tag b{font:800 clamp(17px,1.5vw,22px)/1 var(--display);letter-spacing:-.02em}
.about__tag span{font:500 13px/1.2 var(--text);color:#a6a6ae}
.about__vis.in .about__tag{opacity:1;transform:none}
.about__h{font:800 clamp(36px,5vw,92px)/.95 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin:22px 0 clamp(20px,3vw,40px)}
.about .lead{margin-top:0}
.about p.mute{max-width:46ch;margin-top:18px}
.about__cta{margin-top:clamp(26px,3.4vw,44px)}
.contact{position:relative;padding:clamp(90px,13vw,220px) 0;overflow:hidden}
.contact__ring{position:absolute;right:-20vw;top:-12vw;width:min(90vw,1100px);aspect-ratio:1;opacity:.9;pointer-events:none}
.contact__arc{stroke-dasharray:calc(5 + var(--v,0)*95) 100;transition:stroke-dasharray 1.2s var(--ease)}
.contact.is-sent .contact__arc{stroke-dasharray:100 100}
.contact__grid{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,120px);align-items:start}
.contact__t{font:800 clamp(40px,6.2vw,116px)/.96 var(--display);letter-spacing:-.04em;word-spacing:.1em;text-transform:uppercase;margin:24px 0 0;max-width:9em;text-wrap:balance}
.contact__info{margin-top:clamp(28px,4vw,56px);display:grid;gap:14px}
.contact__info li{display:grid;grid-template-columns:90px 1fr;font-size:clamp(16px,1.3vw,20px)}
.contact__info span{font:600 11px/2.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d)}
.contact__info a{border-bottom:1px solid var(--line-d);justify-self:start;transition:border-color .3s}
.contact__info a:hover{border-color:var(--acc-hi)}
.form{display:grid;gap:6px;background:rgba(23,23,26,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-d);border-radius:24px;padding:clamp(22px,3vw,44px)}
.fld{position:relative;padding-top:14px}
.fld input,.fld textarea{width:100%;background:none;border:0;border-bottom:1px solid var(--line-d);padding:16px 0 12px;font-size:clamp(17px,1.4vw,21px);outline:none;border-radius:0;transition:border-color .3s;resize:vertical}
.fld input:focus,.fld textarea:focus{border-color:var(--acc-hi);box-shadow:0 2px 0 0 var(--acc-hi)}
.fld label{position:absolute;left:0;top:30px;color:var(--mute-d);pointer-events:none;transition:transform .4s var(--ease),font-size .4s var(--ease),color .3s;transform-origin:left top;font-size:clamp(17px,1.4vw,21px)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{transform:translateY(-26px);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-hi)}
.fld__e{display:none;font-size:13px;color:#ff8a8a;margin-top:6px}
.fld.err .fld__e{display:block}
.fld.err input,.fld.err textarea{border-color:#ff8a8a}
.needs{border:0;padding:0;margin:20px 0 6px;display:flex;flex-wrap:wrap;gap:8px}
.needs legend{font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--acc-hi);margin-bottom:14px;padding:0;width:100%;float:left}
.needs label{cursor:pointer}
.needs input{position:absolute;opacity:0;pointer-events:none}
.needs span{display:block;font-size:14px;padding:11px 16px;border-radius:99px;border:1px solid var(--line-d);transition:background .3s,border-color .3s,color .3s}
.needs input:checked+span{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.needs input:focus-visible+span{outline:2px solid var(--acc-hi);outline-offset:2px}
.needs label:hover span{border-color:var(--paper)}
.form__legal{font-size:13px;color:var(--mute-d);margin:12px 0 10px}
.form__legal a{text-decoration:underline}
.form .btn{justify-self:start;margin-top:4px}
.form__msg{color:#ff8a8a;font-size:14px;margin-top:8px;min-height:1.2em}
.done{display:none;text-align:left;border:1px solid var(--line-d);border-radius:24px;padding:clamp(28px,4vw,56px);background:rgba(23,23,26,.72)}
.done.show{display:grid;gap:12px;outline:none}
.done svg{width:64px;color:var(--paper);animation:spin 6s linear infinite}
.done h3{font:800 clamp(30px,3.4vw,56px)/1 var(--display);letter-spacing:-.04em;text-transform:uppercase}
.done p{color:var(--mute-d)}
.work__intro,.svc,.about,.contact{--r:clamp(24px,3.4vw,56px);position:relative;z-index:2;margin-top:calc(var(--r)*-1);border-radius:var(--r) var(--r) 0 0}
.about{padding-top:calc(clamp(90px,13vw,220px) + var(--r))}
.contact{padding-top:calc(clamp(90px,13vw,220px) + var(--r))}
@media (max-width:1100px){
}
@media (max-width:900px){
.contact__grid,.about__grid{grid-template-columns:1fr}
.about__vis{width:min(80vw,460px)}
}
@media (max-width:760px){
.manifest{padding-top:90px}
.mf__big{font-size:clamp(28px,8vw,56px)}
.form{border-radius:18px}
.contact__info li{grid-template-columns:78px 1fr}
}
.flat .proc{height:auto!important}
.flat .proc .pin{position:relative;height:auto;padding:90px var(--g)}
.flat .proc__head{position:relative;left:auto;top:auto;margin-bottom:36px}
.flat .proc__ring,.flat .proc__bar{display:none}
.flat .proc__track{position:relative;top:auto;translate:none;transform:none!important;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0}
.flat .ps{width:auto;opacity:1;padding:28px 0;border-top:1px solid var(--line-d);display:grid;grid-template-columns:auto 1fr;gap:0 18px}
.flat .ps__no{font-size:64px;grid-row:1/3;-webkit-text-stroke:1px var(--acc);color:transparent}
.flat .ps__t{margin-top:0;font-size:clamp(30px,9vw,48px);color:var(--paper)}
.flat .ps__p{color:var(--mute-d)}
.flat .ps__p{margin-top:6px}
.flat .hero{height:auto!important}
.flat .hero .pin{position:relative;height:auto;min-height:100svh}
.flat .hero__paper,.flat .hero__scroll,.flat .triad--a{display:none}
.flat .triad--b{display:grid;margin-top:clamp(40px,8vw,90px)}
@media (min-width:0){
.win__in>*{animation:drift 11s ease-in-out infinite alternate}
.w2 .win__in>*{animation-duration:13s;animation-delay:-4s}
.w3 .win__in>*,.t2 .win__in>*{animation-duration:9s;animation-delay:-2s}
}
@media (prefers-reduced-motion:reduce){
.w>span,.hero__title .line>span{transform:none}
.about__ph img{clip-path:none;transform:none;transition:none}
.about__arc{stroke-dashoffset:72;transition:none}
.about__tag{opacity:1;transform:none;transition:none}
.about__ring{transform:none}
}
html:not(.js) .about__ph img,.calm .about__ph img{clip-path:none;transform:none;transition:none}
html:not(.js) .about__tag,.calm .about__tag{opacity:1;transform:none;transition:none}
html:not(.js) .about__arc,.calm .about__arc{stroke-dashoffset:72;transition:none}
.calm .about__ring{transform:none}
@media (prefers-reduced-motion:reduce){
.sw{color:var(--ink)}
.hero__seg{transform:none}
}

/* ============================== ARBEJDE — stablede case-paneler ============================== */
.work{position:relative}
.work__intro{--r:clamp(24px,3.4vw,56px);padding:calc(clamp(90px,12vw,200px) + var(--r)) 0 clamp(50px,6vw,100px);position:relative;z-index:2;margin-top:calc(var(--r)*-1);border-radius:var(--r) var(--r) 0 0}
.work__intro .lead{max-width:40ch}
.work__stack{position:relative}
.wp{--rr:clamp(22px,3.2vw,52px);--cv:0;--e:1;position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--c);color:var(--i);isolation:isolate}
.wp+.wp{border-radius:var(--rr) var(--rr) 0 0;box-shadow:0 -28px 70px -24px rgba(0,0,0,.45)}
.wp::after{content:"";position:absolute;inset:0;background:#000;opacity:calc(var(--cv)*.5);pointer-events:none;z-index:9}
.wp__in{position:absolute;left:50%;top:50%;width:calc(var(--u)*100);height:calc(var(--u)*56.25);margin:calc(var(--u)*-28.125) 0 0 calc(var(--u)*-50);transform:scale(calc(1 - var(--cv)*.045));transform-origin:50% 30%}
.wp__txt{position:absolute;z-index:4;display:grid;gap:calc(var(--u)*1.6);align-content:center;transform:translateY(calc((1 - var(--e))*5vh));opacity:calc(.25 + var(--e)*.75)}
.wp__no{font:600 calc(var(--u)*.85)/1 var(--text);letter-spacing:.18em;opacity:.7}
.wp__t{font:800 calc(var(--u)*8.4)/.88 var(--display);letter-spacing:-.055em;text-transform:uppercase}
.wp__a{display:block;color:inherit}
.wp__a::after{content:"";position:absolute;inset:0;z-index:7}
.wp__a:focus-visible{outline:none}
.wp__a:focus-visible::after{outline:3px solid currentColor;outline-offset:-10px;border-radius:inherit}
.wp .tags li{font-size:max(10px,calc(var(--u)*.8));padding:calc(var(--u)*.7) calc(var(--u)*1)}
.wp__p{font:500 calc(var(--u)*1.55)/1.45 var(--text);max-width:26em;opacity:.9}
.wp__go{display:inline-flex;align-items:center;gap:calc(var(--u)*1);font:700 calc(var(--u)*1.25)/1 var(--text);letter-spacing:.02em;padding:calc(var(--u)*1.2) calc(var(--u)*2);border-radius:99px;background:var(--i);color:var(--c);justify-self:start;transition:transform .5s var(--ease)}
.wp:hover .wp__go{transform:translateX(calc(var(--u)*.6))}
.wp__go .ar{width:calc(var(--u)*1.3);height:calc(var(--u)*1.3)}
.wp__vis{position:absolute;inset:0;pointer-events:none}
.wpo{position:absolute;transform:translate3d(0,calc((1 - var(--e))*var(--d,1)*16vh),0) rotate(var(--r,0deg));filter:drop-shadow(0 calc(var(--u)*2) calc(var(--u)*3) rgba(0,0,0,.28))}
.wpo>img,.wpo>.bw,.wpo>.phone{width:100%}
.wpo>img{border-radius:calc(var(--u)*.7)}
.wpo .bw{border-radius:calc(var(--u)*.8);box-shadow:none}
.wpo .bw__bar{height:calc(var(--u)*2.1)}
.wpo .phone{box-shadow:none}
.wp__wm{position:absolute;opacity:.09;pointer-events:none}

/* 01 Bjørn */
.wp--bd .wp__txt{left:calc(var(--u)*4.4);top:0;bottom:0;width:calc(var(--u)*35)}
.wp--bd .wp__t{font-size:calc(var(--u)*7.4)}
.wp--bd .wp__wm{right:calc(var(--u)*-8);bottom:calc(var(--u)*-14);width:calc(var(--u)*64)}
.bd-card{left:calc(var(--u)*41);top:calc(var(--u)*7);width:calc(var(--u)*34);z-index:2}
.bd-card2{left:calc(var(--u)*62);top:calc(var(--u)*26);width:calc(var(--u)*27);z-index:1}
.bd-flyer{left:calc(var(--u)*77);top:calc(var(--u)*3.5);width:calc(var(--u)*17);z-index:3}
.bd-phone{left:calc(var(--u)*53);top:calc(var(--u)*27.5);width:calc(var(--u)*12.5);z-index:4}
/* 02 Måltid */
.wp--mt .wp__txt{left:calc(var(--u)*58);top:0;bottom:0;width:calc(var(--u)*37)}
.wp--mt .wp__t{font-size:calc(var(--u)*8.4)}
.wp--mt .pl{color:#fff}
.wp--mt .wp__go{background:#171717;color:#fff}
.wp--mt .wp__wm{left:calc(var(--u)*-10);bottom:calc(var(--u)*-16);width:calc(var(--u)*52);opacity:.16}
.mt-ph1{left:calc(var(--u)*4);top:calc(var(--u)*14);width:calc(var(--u)*15.5);z-index:1}
.mt-ph2{left:calc(var(--u)*19.5);top:calc(var(--u)*4.5);width:calc(var(--u)*18);z-index:3}
.mt-ph3{left:calc(var(--u)*37.5);top:calc(var(--u)*15);width:calc(var(--u)*15.5);z-index:2}
.mt-icon{left:calc(var(--u)*29);top:calc(var(--u)*38.5);width:calc(var(--u)*9);z-index:4}
.mt-icon img{border-radius:22.5%}
/* 03 ServiceOS */
.wp--so{background-color:#0b1626;background-image:radial-gradient(70% 90% at 78% 24%,#12305f,#0b1626 70%)}
.wp--so .wp__txt{left:calc(var(--u)*4.4);top:0;bottom:0;width:calc(var(--u)*38)}
.wp--so .wp__t{font-size:calc(var(--u)*7.4);text-transform:none;letter-spacing:-.05em;color:#fff}
.wp--so .pl{color:#7fa2ff}
.wp--so .wp__go{background:#fff;color:#0b1626}
.wp--so .tags li{border-color:rgba(255,255,255,.3)}
.wp--so .wp__wm{right:calc(var(--u)*-6);bottom:calc(var(--u)*-12);width:calc(var(--u)*52);opacity:.07}
.so-win{left:calc(var(--u)*43);top:calc(var(--u)*11);width:calc(var(--u)*34);z-index:2}
.so-ph{left:calc(var(--u)*76);top:calc(var(--u)*6);width:calc(var(--u)*14);z-index:3}
.so-chip{left:calc(var(--u)*46);top:calc(var(--u)*40);z-index:4;background:#fff;color:#0d1b2e;border-radius:calc(var(--u)*1.3);padding:calc(var(--u)*1.2) calc(var(--u)*1.8);display:grid;gap:calc(var(--u)*.3);font:800 calc(var(--u)*1.6)/1.1 "Figtree",var(--text)}
.so-chip span{font:700 calc(var(--u)*1.1)/1 "Figtree",var(--text);color:#1b7f55}
.sow{display:grid;grid-template-columns:18% 1fr;background:#f4f5f2;border-radius:calc(var(--u)*1.2);overflow:hidden;color:#0d1b2e;font-family:"Figtree",var(--text);aspect-ratio:1.5}
.sow__sb{background:#fff;border-right:1px solid #e1e4df;padding:calc(var(--u)*1.2) calc(var(--u)*.9);display:grid;align-content:start;gap:calc(var(--u)*.7)}
.sow__sb i{height:calc(var(--u)*1.6);width:calc(var(--u)*1.6);border-radius:50% 50% 0 0;background:#2e6be6;margin-bottom:calc(var(--u)*.6)}
.sow__sb b{height:calc(var(--u)*1.2);border-radius:calc(var(--u)*.4);background:#eceee9}.sow__sb b.on{background:#e8effd}
.sow__m{padding:calc(var(--u)*1.4)}
.sow__h{font:800 calc(var(--u)*1.7)/1 "Figtree",var(--text);margin-bottom:calc(var(--u)*1)}
.sow__k{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:calc(var(--u)*.6);margin-bottom:calc(var(--u)*1)}
.sow__k span{background:#fff;border:1px solid #e1e4df;border-radius:calc(var(--u)*.7);padding:calc(var(--u)*.8);font:800 calc(var(--u)*1.2)/1.1 "Figtree",var(--text);white-space:nowrap}
.sow__k small{display:block;font:600 calc(var(--u)*.7)/1.2 "Figtree",var(--text);color:#5b6676;margin-bottom:calc(var(--u)*.3)}
.sow__k em{font-style:normal;color:#b83a2e}
.sow__r{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e1e4df;border-radius:calc(var(--u)*.7);padding:calc(var(--u)*.7) calc(var(--u)*.9);margin-bottom:calc(var(--u)*.5);font:700 calc(var(--u)*1)/1 "Figtree",var(--text)}
.sow__r i{font-style:normal;font-size:calc(var(--u)*.8);border-radius:99px;padding:calc(var(--u)*.3) calc(var(--u)*.8);background:#e5f3ec;color:#1b7f55}.sow__r i.b{background:#fbeae7;color:#b83a2e}
.sop{width:100%;height:100%;overflow:hidden;background:#fff;border-radius:12.4% / 5.6%;padding:calc(var(--u)*4.4) calc(var(--u)*1.2) calc(var(--u)*1.4);display:flex;flex-direction:column;gap:calc(var(--u)*.7);color:#0d1b2e;font-family:"Figtree",var(--text)}
.sop .tt{margin-top:auto;display:flex;justify-content:space-between;font:700 calc(var(--u)*.85)/1 "Figtree",var(--text);color:#5b6676;border-top:1px solid #e1e4df;padding-top:calc(var(--u)*.8)}.sop .tt b{font-size:calc(var(--u)*1)}
.sop b{font:800 calc(var(--u)*1.5)/1 "Figtree",var(--text)}
.sop .o{border:1.5px solid #e1e4df;border-radius:calc(var(--u)*.8);padding:calc(var(--u)*.8);font:700 calc(var(--u)*.9)/1.2 "Figtree",var(--text)}.sop .o.on{border-color:#2e6be6;background:#e8effd}
.sop .sg{font:italic 700 calc(var(--u)*1.1)/1 "Segoe Script","Brush Script MT",cursive;color:#2e6be6;border-bottom:2px solid #0d1b2e;padding-bottom:calc(var(--u)*.4)}
.sop .bt2{background:#2e6be6;color:#fff;border-radius:calc(var(--u)*.8);text-align:center;padding:calc(var(--u)*.9);font:800 calc(var(--u)*1)/1 "Figtree",var(--text)}
.so-ph .phone{box-shadow:none;aspect-ratio:1/2.057}
/* 04 VVS */
/* 05 Niveo Grafik */

/* mobil: panelerne bliver til høje plakater med tekst øverst og komposition nedenunder */
@media (max-width:760px){
  .wp{height:auto;min-height:100vh;min-height:100svh}
  .wp__in{position:relative;left:auto;top:auto;width:auto;height:auto;margin:0;min-height:100svh;display:flex;flex-direction:column;padding:calc(var(--hdr) + 3vh) var(--g) 32px;gap:22px;transform:none}
  .wp--mt .wp__in{flex-direction:column-reverse;justify-content:flex-end}
  .wp .wp__txt{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;width:auto;gap:12px;opacity:1;transform:none;padding:0}
  .wp__no{font-size:11px}
  .wp__t{font-size:clamp(44px,15vw,92px)!important}
  .wp__p{font-size:16px}
  .wp__go{font-size:14px;padding:13px 22px;gap:10px}
  .wp__go .ar{width:15px;height:15px}
  .wp .tags li{font-size:10px;padding:8px 11px}
  .wp__vis{position:relative;inset:auto;height:min(94vw,440px);flex:none}
  .wpo{--u:min(.52vw,2.3px);transform:rotate(var(--r,0deg))}
  .wp--bd .wp__wm{width:96vw;right:-22vw;bottom:-18vw}
  .bd-card{left:0;top:3%;width:62%} .bd-card2{left:34%;top:46%;width:50%} .bd-flyer{left:70%;top:0;width:26%} .bd-phone{left:6%;top:42%;width:24%}
  .wp--mt .wp__wm{width:90vw;left:-24vw;bottom:-24vw}
  .wp--so .wp__wm{width:90vw;right:-24vw;bottom:-24vw}
  .so-win,.so-chip{--u:min(.8vw,3.3px)} .so-ph{--u:min(1.15vw,4.8px)}
  .so-win{left:0;top:8%;width:68%} .so-ph{left:66%;top:0;width:30%} .so-chip{left:8%;top:66%}
  .mt-ph1{left:0;top:12%;width:33%} .mt-ph2{left:30%;top:0;width:38%} .mt-ph3{left:66%;top:12%;width:33%} .mt-icon{left:48%;top:68%;width:20%}





}
@media (prefers-reduced-motion:reduce){
  .wp,.wp__txt,.wpo{transform:none!important;opacity:1!important}
  .wp::after{display:none}
}
.calm .wp{position:relative;height:auto;min-height:100svh}

/* kontrast (WCAG AA) i case-panelerne */
.wp__no,.wp__p{opacity:1}
.wp--bd .wp__no,.wp--bd .tags li,.wp--bd .wp__p{color:#06080b}
.wp--bd .tags li{border-color:rgba(6,8,11,.45)}
.wp--bd .wp__go{color:#0062c4}
.wp .tags li{opacity:1}

/* ---------- portræt: forsiden som pinned scene ---------- */
@media (orientation:portrait){
  .hero{--F:clamp(32px,min(14.4vw,6.8svh),120px);--hu:max(1.7px,min(1vw,calc((100svh - var(--hdr) - 3svh - var(--F)*3.6 - 188px)/94)));--ox:calc((100vw - var(--hu)*100)/2)}
  .hero__ring{right:-44vw;width:130vw;top:36%}
  .hero__wins{inset:0}
  .hero__txt{bottom:4.4svh;left:var(--g);right:var(--g)}
  .hero__title{font-size:var(--F);max-width:none}
  .hero__foot{margin-top:2.2svh;gap:12px 24px}
  .hero__foot p{font-size:14.5px;max-width:none}
  .hero__foot .btn{padding:15px 21px;font-size:14.5px}
  .hero__eyebrow{margin-bottom:1.4svh}
  .hero__scroll{display:none}
  .w1{left:calc(var(--ox) + var(--hu)*4.4);top:calc(var(--hdr) + 3svh);width:min(calc(var(--hu)*68),520px)}
  .w2{left:calc(var(--ox) + var(--hu)*26);top:calc(var(--hdr) + 3svh + var(--hu)*18);width:min(calc(var(--hu)*62),480px)}
  .w3{left:auto;right:calc(var(--ox) + var(--hu)*7);top:calc(var(--hdr) + 3svh + var(--hu)*4);width:min(calc(var(--hu)*22),150px)}
    .t1{left:calc(var(--ox) + var(--hu)*4.4);top:calc(var(--hdr) + 3svh + var(--hu)*62);width:min(calc(var(--hu)*14),90px)}
  .t2{left:auto;right:calc(var(--ox) + var(--hu)*4.4);top:calc(var(--hdr) + 3svh + var(--hu)*66);width:min(calc(var(--hu)*13),80px)}
  .u1{left:calc(var(--ox) + var(--hu)*4.4);top:calc(var(--hdr) + 3svh + var(--hu)*40)}
  .u2{left:auto;right:calc(var(--ox) + var(--hu)*4.4);top:calc(var(--hdr) + 3svh + var(--hu)*47)}
  .u3{left:calc(var(--ox) + var(--hu)*30);top:calc(var(--hdr) + 3svh + var(--hu)*74)}
  .w4{left:calc(var(--ox) + var(--hu)*50);top:calc(var(--hdr) + 3svh + var(--hu)*52);width:min(calc(var(--hu)*45),330px);--u:calc(var(--hu)*1.32);z-index:6}
  .w4 .sow{width:calc(var(--u)*34)}
  .t3{left:calc(var(--ox) + var(--hu)*3);top:calc(var(--hdr) + 3svh + var(--hu)*50);width:min(calc(var(--hu)*13),80px)}
  .u4{display:none}
  .uc{font-size:max(10.5px,calc(var(--hu)*3.1));padding:calc(var(--hu)*2.6) calc(var(--hu)*3.3);gap:calc(var(--hu)*2.4)}
  .uc--pro b{font-size:max(15px,calc(var(--hu)*4.6))}
  .uc--pro small{font-size:max(8.5px,calc(var(--hu)*2.4))}
  .uc--pro{min-width:calc(var(--hu)*38)}
}
@media (orientation:portrait) and (min-width:700px){
  .hero__foot p{font-size:clamp(16px,2.2vw,19px)}
  .hero__foot .btn{padding:18px 26px;font-size:16px}
  .hero__eyebrow{font-size:13px}
}
@media (orientation:portrait) and (max-width:340px){
  .hero__foot{gap:10px 8px}
  .hero__foot .btn{padding:13px 14px;font-size:13.5px;gap:8px}
  .hero__foot p{font-size:13.5px}
}
@media (orientation:portrait){
  .triad li{font-size:clamp(38px,12.8vw,110px)}
  .hero__paper{padding-inline:var(--g)}
  .proc__track{gap:clamp(36px,12vw,120px)}
  .ps{width:min(76vw,460px)}
  .ps__p{max-width:none}
  .ps__no{font-size:clamp(110px,min(34vw,24svh),260px)}
  .proc__head{top:calc(var(--hdr) + 2svh);max-width:calc(100% - var(--g)*2 - 70px)}
  .proc__ring{width:62px;top:calc(var(--hdr) + .5svh)}
}

/* telefon liggende: tekstblokken holdes i venstre halvdel, så den ikke ligger over vinduerne */
@media (orientation:landscape) and (max-height:520px){
  .hero__txt{bottom:5vh;right:auto;width:min(48vw,560px)}
  .hero__title{font-size:clamp(34px,min(7.2vw,12.6vh),96px);max-width:none}
  .hero__foot{margin-top:2vh;gap:10px 14px}
  .hero__foot p{font-size:13px;max-width:30ch}
  .hero__foot .btn{padding:12px 18px;font-size:13.5px}
  .w1{top:calc(var(--hdr) + 1.5vh)}
  .t1{top:calc(var(--hdr) + 7vh)}
}
@media (orientation:landscape) and (max-height:440px){.hero__foot p{display:none}}


/* ydelser: tekstsektion */
.svc{padding:calc(clamp(90px,12vw,200px) + var(--r)) 0 clamp(90px,12vw,200px)}
.svc__head{margin-bottom:clamp(36px,5vw,72px);max-width:62rem}
.svc__lead{margin-top:clamp(18px,2vw,28px);max-width:44ch;color:var(--mute-d);font-size:clamp(17px,1.5vw,22px);line-height:1.45}
.svc__rows{border-top:1px solid var(--line-d)}
.svc__rows li{display:grid;grid-template-columns:4rem minmax(0,1.2fr) minmax(0,1fr);gap:8px clamp(16px,3vw,48px);align-items:baseline;padding:clamp(22px,2.6vw,40px) 0;border-bottom:1px solid var(--line-d)}
.svc__rows .num{font:600 12px/1 var(--text);letter-spacing:.12em;color:var(--acc-hi)}
.svc__rows .svc__name{font:800 clamp(30px,4.4vw,72px)/.98 var(--display);letter-spacing:-.05em;text-transform:uppercase;color:var(--paper)}
.svc__rows .svc__d{color:var(--mute-d);max-width:40ch}
.svc__cta{margin-top:clamp(32px,4vw,56px)}
@media (max-width:760px){.svc__rows li{grid-template-columns:1fr}.svc__rows .num{display:none}}

/* proces på mobil: swipe-karrusel (desktop uændret) */
@media (max-width:760px){
.proc.scene{height:auto!important}
.proc .pin{position:relative;height:auto;overflow:hidden;padding:84px 0 52px}
.proc__head{position:relative;left:auto;top:auto;max-width:none;padding:0 var(--g);margin-bottom:30px}
.proc__ring,.proc__bar{display:none}
.proc__track{position:relative;left:auto;top:auto;translate:none;transform:none!important;display:flex;align-items:stretch;gap:14px;padding:4px var(--g) 10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--g);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.proc__track::-webkit-scrollbar{display:none}
.ps{width:78vw;max-width:340px;scroll-snap-align:start;background:var(--ink-2);border:1px solid var(--line-d);border-radius:22px;padding:26px 24px 30px}
.ps__no{font-size:clamp(84px,26vw,118px)}
.ps__t{color:var(--paper);margin-top:14px}
.ps__p{color:#b4b4bc;margin-top:12px}
.proc__dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.proc__dots i{width:8px;height:8px;border-radius:99px;background:rgba(245,244,240,.22);transition:width .3s var(--ease),background .3s}
.proc__dots i.on{width:26px;background:var(--acc-hi)}
}
