/* BK Studio — lyst beige + navyblå tema, moderne effekter på hele sitet.
   Indlæses efter style.css (som har paletten). fx.js styrer de globale effekter, v2.js forsiden/Arbejde. */

:root{
  --intro-bg:var(--black);  /* introens baggrund = sidens hovedfarve (--black i style.css) */
  --tint:var(--black);      /* farven de slørede billeder i introen får */
  --sand:#ececea;--paper:#f7f7f5;
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.76,0,.24,1);
  --sp:clamp(72px,10vw,140px);--gut:min(5.5vw,84px);
}
html,body{overflow-x:clip;}
body{background:var(--white);color:var(--black);}
::selection{background:var(--black);color:var(--white);}

/* ---------- typografi ---------- */
h1,h2{text-transform:uppercase;font-weight:800;letter-spacing:-.025em;line-height:.98;}
.section-head h2{font-size:clamp(36px,5.4vw,76px);max-width:16ch;}
.text-link{color:inherit;}
.eyebrow{color:var(--grey-500);}
.eyebrow.light{color:var(--grey-300);}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em;}
.wi{display:inline-block;transform:translateY(112%);transition:transform 1.1s var(--ease-out) calc(var(--i,0)*.055s);}
.js .split{}
body.ready .split.in .wi{transform:none;}

/* ---------- knapper ---------- */
.btn,.cta-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:19px 36px;background:var(--black);color:var(--white);border:1px solid var(--black);cursor:pointer;font-family:inherit;
  font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:color .45s var(--ease-out),transform .35s var(--ease-out);}
.btn::before,.cta-btn::before{content:'';position:absolute;inset:-1px;background:var(--white);transform:translateY(101%);transition:transform .55s var(--ease-out);z-index:-1;}
.btn span,.cta-btn span{color:inherit;position:relative;}
.btn:hover,.cta-btn:hover{color:var(--black);opacity:1;}
.btn:hover::before,.cta-btn:hover::before{transform:none;}
.cta-btn::after{color:currentColor;}
.btn-w,.cta-box .cta-btn{background:var(--white);color:var(--black);border-color:var(--white);}
.btn-w::before,.cta-box .cta-btn::before{background:var(--black);}
.btn-w:hover,.cta-box .cta-btn:hover{color:var(--white);}
.btn:disabled,.cta-btn:disabled{opacity:.4;cursor:not-allowed;}
.btn:disabled:hover::before,.cta-btn:disabled:hover::before{transform:translateY(101%);}
.cta-box .cta-btn span{color:inherit;}

/* ---------- intro-tæppe, sidetransition, scroll-linje ---------- */
.pt{position:fixed;inset:0;background:var(--black);z-index:9997;transform:translateY(100%);pointer-events:none;transition:transform .6s var(--ease-io);}
.pt.go{transform:none;pointer-events:auto;}
.pbar{position:fixed;left:0;top:0;height:3px;width:100%;background:#fff;mix-blend-mode:difference;transform-origin:0 50%;transform:scaleX(0);z-index:9996;pointer-events:none;}

/* ---------- markør ---------- */
.cursor{position:fixed;left:0;top:0;width:12px;height:12px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:10000;
  transform:translate(-50%,-50%);opacity:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.08em;color:#000;
  transition:width .4s var(--ease-out),height .4s var(--ease-out),opacity .3s,left .09s linear,top .09s linear;}
.cursor.show{opacity:1;}
.cursor.shrink{width:56px;height:56px;}
.cursor.label{width:92px;height:92px;}
@media(any-hover:none){.cursor{display:none;}}

/* ---------- header ---------- */
header.site-header{--hc:#fff;mix-blend-mode:normal;color:var(--hc);transition:transform .55s var(--ease-out),background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent;}
body.hdr-solid header.site-header{--hc:var(--black);background:rgba(247,247,245,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  padding-top:14px;padding-bottom:14px;border-bottom-color:var(--line-light);}
body.hdr-hide:not(.menu-open) header.site-header{transform:translateY(-100%);}
body.menu-open header.site-header{--hc:var(--white);background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;}
nav.primary-nav a{color:var(--hc);}
nav.primary-nav a::after{background:var(--hc);}
.book-btn{border-color:var(--hc);color:var(--hc);}
.menu-btn span{background:var(--hc);}
.logo-mark{position:relative;}
.logo-mark img{opacity:1;filter:brightness(0) invert(1);transition:filter .4s;}
body.hdr-solid .logo-mark img{filter:brightness(0) invert(.13);}
body.menu-open .logo-mark img{filter:brightness(0) invert(1);}
@media(max-width:820px){nav.primary-nav a{color:var(--white);}}

/* ---------- hero ---------- */
.hero{background:var(--black);}
.hero .hero-media{will-change:transform,filter;transform-origin:50% 40%;}
.hero::before{background:linear-gradient(180deg,rgba(20,20,20,.62) 0%,rgba(20,20,20,.28) 28%,rgba(20,20,20,.36) 48%,rgba(20,20,20,.86) 100%);z-index:1;}
.hero .hero-title{opacity:1;transform:none;animation:none;max-width:none;font-size:clamp(40px,min(6.6vw,12vh),112px);line-height:.98;}
.hero .hero-title .ln{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em;margin-right:.22em;}
.hero .hero-title .ln>span{display:inline-block;transform:translateY(112%);animation:lineUp 1.2s calc(.15s + var(--i)*.14s) var(--ease-out) forwards;animation-play-state:paused;}
.hero-content .eyebrow,.hero-subtext,.hero-actions,.hero-footnote{animation-play-state:paused;}
body.ready .hero .hero-title .ln>span,body.ready .hero-content .eyebrow,body.ready .hero-subtext,body.ready .hero-actions,body.ready .hero-footnote{animation-play-state:running;}
@keyframes lineUp{to{transform:translateY(0)}}
.hero-facts{position:absolute;left:var(--gut);bottom:38px;z-index:2;display:flex;gap:min(4vw,52px);color:var(--white);}
.hero-fact-label{display:block;font-size:11px;color:var(--grey-300);margin-bottom:4px;}
.hero-fact p{font-size:13px;}
@media(max-width:820px){.hero-facts{display:none}.hero .hero-title{font-size:clamp(38px,12.4vw,80px);}}

/* løbende tekstbånd */
.marq{overflow:hidden;background:var(--white);border-bottom:1px solid var(--line-light);padding:clamp(20px,2.6vw,36px) 0;}
.marq-track{display:flex;width:max-content;align-items:center;gap:.45em;font-size:clamp(44px,8vw,120px);font-weight:800;text-transform:uppercase;
  letter-spacing:-.03em;line-height:1;color:var(--black);will-change:transform;}
.marq-track span{display:block;}
.marq-track i{font-style:normal;font-weight:300;-webkit-text-stroke:0;color:var(--black);opacity:.3;}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease-out) var(--d,0s),transform 1s var(--ease-out) var(--d,0s);}
.rv.in{opacity:1;transform:none;}
.reveal{transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);}
.js [data-clip]{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease-io) var(--d,0s);}
.js [data-clip].in{clip-path:inset(0 0 0 0);}
.js [data-clip] img{transform:scale(1.28);transition:transform 1.8s var(--ease-out) var(--d,0s);}
.js [data-clip].in img{transform:scale(1);}

/* ---------- udsagn ---------- */
.stmt{padding:var(--sp) var(--gut);background:var(--paper);}
.stmt p{font-size:clamp(28px,4vw,62px);line-height:1.14;font-weight:700;letter-spacing:-.025em;max-width:22em;margin-bottom:min(4vw,44px);}
.sw{opacity:.16;transition:opacity .25s linear;}

/* ---------- arbejde: to marquee-rækker ---------- */
.wk{padding:var(--sp) 0;background:var(--sand);overflow:hidden;}
.wk .section-head{padding:0 var(--gut);margin-bottom:min(5vw,56px);}
.wk-marq{overflow:hidden;}
.wk-marq+.wk-marq{margin-top:clamp(12px,1.4vw,20px);}
.wk-track{display:flex;gap:clamp(12px,1.4vw,20px);width:max-content;animation:wkx 100s linear infinite;}
.wk-rev .wk-track{animation-direction:reverse;animation-duration:120s;}
.wk-marq:hover .wk-track{animation-play-state:paused;}
@keyframes wkx{to{transform:translateX(-50%)}}
.wcard{display:block;width:clamp(230px,23vw,340px);flex:none;}
.wcard-img{aspect-ratio:4/5;overflow:hidden;background:var(--near-black);}
.wk-rev .wcard-img{aspect-ratio:5/4;}
.wcard-img img{transition:transform 1.1s var(--ease-out);filter:contrast(1.03) saturate(1.02);}
.wcard:hover .wcard-img img{transform:scale(1.08);}
.wcard-meta{display:flex;align-items:center;gap:10px;padding-top:14px;}
.wcard-meta i{width:9px;height:9px;flex:none;background:var(--black);}
.wcard-meta h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.wcard-meta span{font-size:13px;color:var(--grey-500);margin-left:auto;}
.wk-foot{display:flex;align-items:center;gap:min(4vw,36px);flex-wrap:wrap;padding:min(5vw,52px) var(--gut) 0;}

/* ---------- stablede ydelseskort ---------- */
.pns{padding:var(--sp) 0;background:var(--white);}
.pns .section-head{padding:0 var(--gut);margin-bottom:min(5vw,56px);}
.stack{padding:0 var(--gut);}
.sc{position:sticky;top:calc(92px + var(--k)*20px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(72vh,580px);margin-bottom:22px;
  background:var(--sand);color:var(--black);border:1px solid var(--line-light);overflow:hidden;transform-origin:50% 0;will-change:transform;}
.sc:last-child{margin-bottom:0;}
.sc2{background:var(--black);color:var(--white);border-color:var(--black);}
.sc3{background:var(--paper);}
.sc-txt{padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;gap:20px;}
.sc h3{font-size:clamp(30px,4vw,60px);font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:1;max-width:11ch;}
.sc p{font-size:clamp(16px,1.4vw,19px);line-height:1.6;max-width:32ch;opacity:.85;}
.sc ul{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.sc li{position:relative;padding-left:20px;font-size:15px;line-height:1.55;opacity:.8;}
.sc li::before{content:'';position:absolute;left:0;top:.55em;width:7px;height:7px;background:currentColor;}
.sc-link{margin-top:auto;align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding-bottom:4px;position:relative;}
.sc-link::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform-origin:100% 50%;transition:transform .5s var(--ease-out);}
.sc-link:hover::after{transform:scaleX(0);}
.sc-img{position:relative;overflow:hidden;background:var(--near-black);}
.sc-img img{position:absolute;inset:0;}
@media(max-width:900px){
  .sc{position:relative;top:auto;grid-template-columns:1fr;min-height:0;margin-bottom:16px;}
  .sc-img{order:-1;height:56vw;}
}

/* ---------- billedbånd (navy) ---------- */
.strip{background:var(--black);color:var(--white);padding:var(--sp) 0;overflow:hidden;}
.strip-track{display:flex;gap:clamp(10px,1.2vw,18px);width:max-content;padding-left:var(--gut);will-change:transform;}
.strip-track div{height:min(54vh,480px);flex:none;overflow:hidden;background:var(--near-black);}
.strip-track img{width:auto;height:100%;max-width:none;filter:contrast(1.03) saturate(1.02);}
.strip-txt{display:flex;justify-content:space-between;align-items:flex-end;gap:min(6vw,80px);flex-wrap:wrap;padding:min(6vw,72px) var(--gut) 0;}
.strip-txt p{font-size:clamp(20px,2.3vw,32px);line-height:1.3;font-weight:600;letter-spacing:-.015em;max-width:26em;}
.strip-btns{display:flex;align-items:center;gap:min(4vw,32px);flex-wrap:wrap;}
.strip .btn{background:var(--white);color:var(--black);border-color:var(--white);}
.strip .btn::before{background:var(--black);}
.strip .btn:hover{color:var(--white);}

/* ---------- team ---------- */
.tm{padding:var(--sp) var(--gut);background:var(--sand);}
.tm .section-head{margin-bottom:min(5vw,56px);}
.tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:min(2.2vw,28px);perspective:1200px;}
.tcard{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--near-black);transition:transform .5s var(--ease-out);will-change:transform;}
.tcard img{object-position:50% 30%;}
.tcard::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,0) 45%,rgba(20,20,20,.88) 100%);z-index:1;}
.tcard::after{content:'';position:absolute;left:0;bottom:0;height:5px;width:0;background:var(--white);z-index:3;transition:width .8s var(--ease-out);}
.tcard:hover::after{width:100%;}
.tcard-meta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(20px,2.4vw,36px);color:var(--white);}
.tcard-meta h3{font-size:clamp(22px,2.4vw,34px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;}
.tcard-meta p{font-size:13px;color:var(--grey-100);margin-top:8px;}
@media(max-width:700px){.tm-grid{grid-template-columns:1fr;}.tcard{aspect-ratio:4/4.6;}}

/* ---------- stor CTA (navy) ---------- */
.cta-big{position:relative;overflow:hidden;background:var(--black);color:var(--white);padding:var(--sp) var(--gut);}
.cta-bg{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none;opacity:.16;}
.cta-bg-track{display:flex;width:max-content;align-items:center;gap:.4em;font-size:clamp(120px,24vw,360px);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--white);will-change:transform;}
.cta-bg-track i{font-style:normal;-webkit-text-stroke:0;color:var(--white);font-weight:300;}
.cta-big-in{position:relative;z-index:2;}
.cta-big h2{font-size:clamp(44px,8vw,120px);margin-bottom:22px;}
.cta-big p{font-size:clamp(16px,1.6vw,20px);color:var(--grey-100);margin-bottom:34px;}

/* ---------- kontakt (forside) ---------- */
.ct{padding:var(--sp) var(--gut);background:var(--paper);}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:min(7vw,110px);align-items:start;}
.ct-copy h2{font-size:clamp(36px,5.4vw,76px);margin-bottom:26px;}
.ct-copy p{font-size:16px;line-height:1.75;color:var(--grey-700);max-width:42ch;}
.ct-lines{display:flex;flex-direction:column;gap:8px;margin-top:34px;font-size:14px;color:var(--grey-500);}
.ct-lines a:hover{color:var(--black);}
.hform{position:relative;display:flex;flex-direction:column;gap:26px;}
.hf-row{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.hform label{display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-500);}
.hform label em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--grey-300);}
.hform input:not([type=checkbox]),.hform textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-light);color:var(--black);
  font:inherit;font-size:16px;letter-spacing:0;text-transform:none;padding:10px 0 12px;border-radius:0;transition:border-color .3s;}
.hform textarea{border:1px solid var(--line-light);padding:14px;resize:vertical;}
.hform input:focus,.hform textarea:focus{outline:none;border-color:var(--black);}
.hform .hf-check{flex-direction:row;align-items:center;gap:12px;text-transform:none;letter-spacing:0;font-size:14px;color:var(--grey-700);}
.hform .hf-check input{width:18px;height:18px;accent-color:var(--black);flex:none;}
.hform .hf-check a{text-decoration:underline;text-underline-offset:3px;}
.hform .btn{align-self:flex-start;}
.form-status{font-size:14px;min-height:1.2em;}
.form-status.is-success{color:var(--black);font-weight:600;}.form-status.is-error{color:#a3281c;}
@media(max-width:820px){.ct-grid{grid-template-columns:1fr;gap:44px;}.hf-row{grid-template-columns:1fr;}}

/* ---------- FAQ ---------- */
.faq{background:var(--sand);border-top:0;}
.faq.section-pad{padding-top:var(--sp);padding-bottom:var(--sp);}
.faq .head-title h2{max-width:none;}
.faq-item[open] .faq-answer{animation:faqIn .6s var(--ease-out);}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- footer ---------- */
footer{position:relative;overflow:hidden;}
.f-word{font-size:clamp(70px,19vw,320px);font-weight:800;text-transform:uppercase;letter-spacing:-.05em;line-height:.8;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px rgba(247,247,245,.35);margin:clamp(24px,4vw,56px) 0 0;overflow:hidden;padding-bottom:.08em;}
.f-word span{display:inline-block;transform:translateY(105%);transition:transform 1.4s var(--ease-out);}
.f-word.in span{transform:none;}

/* ---------- undersider ---------- */
.page-hero{background:var(--black);}
.page-hero h1{font-size:clamp(42px,7vw,104px);}
.page-hero-media{opacity:.5;}
.page-hero::after{background:linear-gradient(180deg,rgba(20,20,20,.1),rgba(20,20,20,.8));}
.page-intro,.process,.meet,.contact{background:var(--white);}
.founder-photo,.meet-media{background:var(--near-black);}
.meet-media img,.founder-photo img{transition:transform 1.4s var(--ease-out);}
.meet-row:hover .meet-media img{transform:scale(1.04);}
.option-card{transition:transform .4s var(--ease-out),border-color .3s,background .3s,color .3s;}
.option-card:hover{transform:translateY(-3px);}
.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--black);}
.work-item{transition:transform .6s var(--ease-out);}
.work-page .work{background:var(--white);}
.work-page .burst-intro{background:var(--black);color:var(--white);padding:var(--sp) var(--gut) min(6vw,56px);}
.work-page .burst-intro .head-title{display:flex;flex-direction:column;}
.work-page .burst-intro p{color:var(--grey-300);}
.work-page .work.section-pad{padding-top:var(--sp);padding-bottom:var(--sp);}
.overlay{background:var(--white);}
.overlay-close{border-color:var(--line-dark);background:var(--black);color:var(--white);}
/* ---------- projekter: billederne folder sig ud, mens man scroller (Arbejde) ---------- */
.burst{position:relative;height:220vh;background:var(--black);color:var(--white);}
.burst-stage{position:sticky;top:0;height:100vh;overflow:hidden;--p:0;--e:clamp(0,calc((var(--p) - .02)*2),1);--k:1;}
.burst-cover{position:absolute;left:50%;top:50%;width:min(26vw,40vh);aspect-ratio:4/5;z-index:6;
  transform:translate(-50%,-50%) scale(calc(1 - var(--e)*.1));}
.burst-cover::before{content:'';position:absolute;inset:-12px;border:1px solid var(--white);opacity:calc(1 - var(--e)*2.5);z-index:2;pointer-events:none;}
.shard{position:absolute;left:50%;top:50%;width:var(--w,18vw);aspect-ratio:var(--a,3/4);z-index:var(--z,2);
  transform:translate(-50%,-50%) translate(calc(var(--x)*var(--e)*var(--k)),calc(var(--y)*var(--e)*var(--k))) rotate(calc(var(--r)*var(--e))) scale(calc(.55 + var(--e)*.45));}
.shard img,.burst-cover img{filter:contrast(1.035) saturate(1.025);}
.burst-copy{position:absolute;z-index:8;left:var(--gut);bottom:8vh;max-width:min(520px,90vw);
  opacity:clamp(0,calc((var(--e) - .55)*3),1);transform:translateY(calc((1 - var(--e))*30px));pointer-events:none;
  background:linear-gradient(90deg,rgba(20,20,20,.85),rgba(20,20,20,0));padding:22px 40px 22px 0;}
.burst-copy h3{font-size:clamp(34px,5vw,64px);}
.burst-copy p{color:var(--grey-100);margin:14px 0 20px;font-size:15px;line-height:1.65;max-width:42ch;}
.burst-copy p.cat{margin:8px 0 0;font-size:12px;letter-spacing:.14em;color:var(--grey-300);}
.burst-copy p.cat + p{margin-top:14px;}
.burst-copy a{pointer-events:auto;display:inline-block;border:1px solid var(--white);color:var(--white);font-size:12px;letter-spacing:.16em;padding:14px 26px;transition:background .3s,color .3s;}
.burst-copy a:hover{background:var(--white);color:var(--black);}
.burst-count{position:absolute;right:var(--gut);top:110px;z-index:8;font-size:12px;letter-spacing:.2em;color:var(--grey-300);}
@media(max-width:700px){.burst{height:200vh}.burst-stage{--k:.6}.burst-cover,.shard{top:33%}.burst-cover{width:38vw}.shard{--w:25vw}
  .burst-copy{left:0;right:0;bottom:0;max-width:none;padding:70px 6vw 78px;background:linear-gradient(0deg,var(--black) 58%,rgba(20,20,20,0));}
  .burst-copy h3{font-size:clamp(32px,10vw,44px)}.burst-copy p{margin:10px 0 16px}}

/* ---------- Arbejde: overskrift over de dynamiske billeder + oversigt under ---------- */
.work-page .burst-intro{background:var(--black);color:var(--white);padding:var(--sp) var(--gut) min(6vw,56px);}
.work-page .burst-intro .head-title{display:flex;flex-direction:column;}
.work-page .burst-intro h2{font-size:clamp(40px,7vw,84px);}
.work-page .burst-intro p{color:var(--grey-300);}
.work-page .work.section-pad{padding-top:var(--sp);padding-bottom:var(--sp);}


@media(prefers-reduced-motion:reduce){
  .burst{height:auto}.burst-stage{position:relative;height:auto;min-height:100vh}
  .hero .hero-title .ln>span{animation:none;transform:none}.rv{opacity:1;transform:none}
  .wk-track{animation:none}.wk-marq{overflow-x:auto}.sw{opacity:1}.sc{position:relative;top:auto}
  .js [data-clip]{clip-path:none}.js [data-clip] img{transform:none}.f-word span{transform:none}
}

/* ---------- pladsholdere til manglende billeder ---------- */
.ph{position:relative;display:grid;place-items:center;text-align:center;background-color:var(--sand);
  background-image:repeating-linear-gradient(135deg,rgba(20,20,20,.07) 0 1px,transparent 1px 16px);border:1px dashed rgba(20,20,20,.3);}
.ph span{padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-500);background:var(--white);}
.sc-img.ph{border:0;border-left:1px dashed rgba(20,20,20,.3);}
.sc3 .sc-img.ph{background-color:var(--sand);}
:is(.wcard-img,.sc-img,.tcard,.strip-track div,.founder-photo,.meet-media,.work-item .frame):has(>img.image-error){
  background-color:var(--sand);background-image:repeating-linear-gradient(135deg,rgba(20,20,20,.07) 0 1px,transparent 1px 16px);}
img.image-error{visibility:hidden;}

/* ---------- kundelogoer ---------- */
.logos{background:var(--white);border-bottom:1px solid var(--line-light);padding:clamp(28px,3.4vw,48px) 0;overflow:hidden;}
.logos-label{padding:0 var(--gut);margin-bottom:clamp(18px,2vw,28px);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-500);}
.logos-marq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.logos-track{display:flex;width:max-content;gap:clamp(28px,4vw,64px);animation:wkx 40s linear infinite;}
.logos-marq:hover .logos-track{animation-play-state:paused;}
.logo-slot{flex:none;height:clamp(44px,5vw,68px);width:clamp(120px,14vw,190px);display:flex;align-items:center;justify-content:center;}
.logo-slot img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .4s,opacity .4s;}
.logo-slot:hover img{filter:none;opacity:1;}
.logo-slot.ph span{background:transparent;padding:0;}
@media(prefers-reduced-motion:reduce){.logos-track{animation:none}.logos-marq{overflow-x:auto}}
.logo-light img,.logo-light:hover img{filter:brightness(0);opacity:.75;}
.logo-light:hover img{opacity:1;}

/* ---------- arbejde: kort der svæver i 3D-rum ---------- */
.w3d{position:relative;overflow:hidden;background:var(--black);color:var(--white);min-height:max(130vh,900px);padding:clamp(90px,12vw,150px) 0 var(--sp);isolation:isolate;}
.w3d-map{position:absolute;inset:0;background:url(images/contours.svg) center/cover no-repeat;opacity:.11;z-index:0;}
.w3d-title{position:relative;z-index:1;padding:0 var(--gut);font-size:clamp(46px,8.6vw,150px);line-height:.92;letter-spacing:-.04em;max-width:none;text-align:center;}
.w3d-scene{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 42%;z-index:2;pointer-events:none;}
.w3d-stage{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg));will-change:transform;}
.w3c{position:absolute;left:50%;top:calc(50% + 4vh);width:var(--w);aspect-ratio:var(--a);pointer-events:auto;transform-style:preserve-3d;
  transform:translate(-50%,-50%) translate3d(calc(var(--x)*1vw),calc(var(--y)*1vh),calc(var(--z)*1px + var(--fly,0)*var(--k)*1px + var(--hz,0)*1px)) rotateY(var(--ry)) rotateX(var(--rx)) rotateZ(var(--rz));
  transition:transform .8s var(--ease-out);}
.w3c:hover{--hz:140;}
.w3c-in{position:absolute;inset:0;display:block;overflow:hidden;background:var(--near-black);box-shadow:0 30px 60px rgba(0,0,0,.45);animation:w3bob 9s ease-in-out var(--dl,0s) infinite alternate;}
@keyframes w3bob{from{transform:translate3d(0,-10px,0) rotate(-.6deg)}to{transform:translate3d(0,12px,0) rotate(.6deg)}}
.w3c-in img{transition:transform 1.2s var(--ease-out);filter:contrast(1.03) saturate(1.02);}
.w3c:hover .w3c-in img{transform:scale(1.07);}
.w3c-in::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,0) 62%,rgba(20,20,20,.72) 100%);}
.w3c-in em{position:absolute;left:12px;bottom:10px;z-index:2;font-style:normal;font-size:clamp(11px,1.05vw,15px);font-weight:600;letter-spacing:.02em;color:#fff;}
.w3d-foot{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(28px,4vw,56px);z-index:4;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;pointer-events:none;}
.w3d-foot>*{pointer-events:auto;}
.w3d-foot p{max-width:26ch;font-size:clamp(15px,1.3vw,18px);line-height:1.5;color:var(--grey-100);text-shadow:0 2px 14px rgba(20,20,20,.7);}
.w3d-btns{display:flex;align-items:center;gap:min(4vw,32px);flex-wrap:wrap;}
@media(max-width:700px){
  .w3d{min-height:max(120vh,760px);}
  .w3c:nth-child(n+10){display:none;}
  .w3c{--w:calc(var(--wm,1)*30vw);}
  .w3c{width:calc(var(--w)*1.7);}
  .w3d-title{font-size:clamp(40px,13vw,80px);}
}
@media(prefers-reduced-motion:reduce){.w3c-in{animation:none}.w3c{transition:none}}

/* ---------- projektside (case-opbygning) ---------- */
.overlay{background:var(--white);}
.ov-hero{height:86vh;}
.ov-hero::before{background:linear-gradient(180deg,rgba(20,20,20,.35),rgba(20,20,20,.88));}
.ov-hero .hero-media img{animation:ovzoom 2.4s var(--ease-out) both;}
@keyframes ovzoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.ov-hero-content h1{font-size:clamp(46px,10vw,150px);line-height:.9;text-transform:uppercase;font-weight:800;letter-spacing:-.04em;}
.ov-count{position:absolute;left:0;top:-58vh;padding:0 min(5.5vw,84px);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--white);}
.overlay.open .ov-hero-content h1{animation:ovup 1.1s var(--ease-out) .25s both;}
@keyframes ovup{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
.ov-body{padding:0;}
.ov-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line-light);margin:0 min(5.5vw,84px);}
.ov-meta div{padding:clamp(22px,3vw,36px) 0;padding-right:16px;}
.ov-meta dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-500);margin-bottom:8px;}
.ov-meta dd{font-size:clamp(16px,1.5vw,20px);font-weight:600;letter-spacing:-.01em;}
.ov-info{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:min(6vw,80px);padding:clamp(44px,7vw,100px) min(5.5vw,84px);margin:0;}
.ov-lab{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-500);padding-top:.7em;}
.ov-info p{font-size:clamp(22px,2.9vw,42px);line-height:1.22;font-weight:600;letter-spacing:-.02em;color:var(--black);max-width:26em;}
.ov-gallery{margin:0 min(5.5vw,84px) clamp(48px,8vw,110px);}
.ov-gallery > div{overflow:hidden;background:var(--sand);}
.ovr{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);}
.ovr.in{opacity:1;transform:none;}
.ovr img{transform:scale(1.12);transition:transform 1.6s var(--ease-out);}
.ovr.in img{transform:scale(1);}
.ov-cta{background:var(--black);color:var(--white);padding:clamp(48px,8vw,110px) min(5.5vw,84px);display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}
.ov-cta h3{font-size:clamp(28px,4.4vw,64px);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;max-width:14em;}
.ov-next{position:relative;overflow:hidden;border-top:0;padding:clamp(56px,9vw,130px) min(5.5vw,84px);display:flex;justify-content:space-between;align-items:flex-end;background:var(--near-black);color:var(--white);isolation:isolate;transform:none;}
.ov-next:hover{opacity:1;transform:none;}
.ov-next-bg{position:absolute;inset:0;z-index:-1;}
.ov-next-bg img{opacity:.4;transform:scale(1.05);transition:transform 1.4s var(--ease-out),opacity .6s;}
.ov-next:hover .ov-next-bg img{transform:scale(1.14);opacity:.62;}
.ov-next h3{font-size:clamp(40px,8vw,120px);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:.92;}
.ov-next-arrow{font-size:clamp(36px,5vw,72px);line-height:1;transition:transform .5s var(--ease-out);}
.ov-next:hover .ov-next-arrow{transform:translateX(16px);}
@media(max-width:820px){.ov-meta{grid-template-columns:1fr 1fr;}.ov-info{grid-template-columns:1fr;gap:14px;}.ov-count{top:-64vh;}}

/* ---------- menu: tal + ekstra ---------- */
sup.cnt{font-size:.62em;margin-left:5px;font-weight:600;vertical-align:top;position:relative;top:-.3em;letter-spacing:0;}
.nav-extra{display:none;}
@media(max-width:820px){
  nav.primary-nav{flex-direction:column;justify-content:center;align-items:flex-start;padding:0 8vw;}
  nav.primary-nav ul{text-align:left;align-items:flex-start;gap:14px;}
  nav.primary-nav a{font-size:clamp(34px,10vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;}
  nav.primary-nav.open a{animation:navin .7s var(--ease-out) both;}
  nav.primary-nav.open li:nth-child(2) a{animation-delay:.06s}nav.primary-nav.open li:nth-child(3) a{animation-delay:.12s}nav.primary-nav.open li:nth-child(4) a{animation-delay:.18s}
  @keyframes navin{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
  .nav-extra{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8vh;width:100%;color:var(--grey-100);font-size:14px;line-height:1.7;}
  .nav-extra span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-300);margin-bottom:8px;}
  nav.primary-nav .nav-extra a{display:block;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--white);animation:none;word-break:break-word;}
  .nav-extra>div{min-width:0;}
}

/* ---------- ingen markør-cirkel; billeder skifter fra sort/hvid med slør til farve ---------- */
.cursor{display:none!important;}
@media(any-hover:hover){
  .tcard,.sc-img,.work-item .frame,.wcard-img{background:var(--tint);}
  .tcard img,.sc-img img,.work-item img,.wcard-img img{filter:grayscale(1) contrast(1.06);opacity:.74;
    transition:filter .6s var(--ease-out),opacity .6s var(--ease-out),transform 1.2s var(--ease-out);}
  .tcard:hover img,.sc:hover .sc-img img,.work-item:hover img,.wcard:hover .wcard-img img{filter:none;opacity:1;}
}

/* ---------- showreel (pladsholder) ---------- */
.reel{background:var(--white);padding:var(--sp) var(--gut) 0;}
.reel-head{margin-bottom:min(5vw,56px);}
.reel-frame{position:relative;aspect-ratio:16/9;width:100%;}
.reel-frame span{position:absolute;left:18px;bottom:16px;}
.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(72px,8vw,112px);height:clamp(72px,8vw,112px);background:var(--black);color:var(--white);display:grid;place-items:center;transition:transform .5s var(--ease-out),background .3s;}
.reel-play i{display:block;width:0;height:0;border-left:clamp(16px,1.8vw,26px) solid currentColor;border-top:clamp(10px,1.1vw,15px) solid transparent;border-bottom:clamp(10px,1.1vw,15px) solid transparent;margin-left:6px;}
.reel-play:hover{transform:translate(-50%,-50%) scale(1.08);}

/* ---------- proces ---------- */
.proc{background:var(--paper);padding:var(--sp) var(--gut);}
.proc .section-head{margin-bottom:min(5vw,56px);}
.proc-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:min(3vw,44px);counter-reset:none;}
.proc-list li{position:relative;padding-top:26px;border-top:1px solid var(--black);}
.proc-n{display:block;font-size:clamp(72px,9vw,150px);font-weight:800;line-height:.85;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--black);margin-bottom:24px;}
.proc-list h3{font-size:clamp(22px,2.2vw,32px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin-bottom:12px;}
.proc-list p{font-size:16px;line-height:1.65;color:var(--grey-700);max-width:34ch;}
@media(max-width:820px){.proc-list{grid-template-columns:1fr;gap:34px;}}

/* mobil: backdrop-filter på headeren gør den til "container" for den faste menu og klipper den — brug fuld baggrund i stedet */
@media(max-width:820px){
  body.hdr-solid header.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(247,247,245,.97);}
}
@media(max-width:820px){
  nav.primary-nav{visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;}
  nav.primary-nav.open{visibility:visible;transition:transform .5s var(--ease),visibility 0s;}
}

/* ---------- linjer der ikke rammer hinanden (Å, Æ, Ø) ---------- */
h1,h2{line-height:1.08;}
.hero .hero-title{line-height:1.08;}
.section-head h2,.ct-copy h2,.cta-big h2,.w3d-title,.page-hero h1,.ov-hero-content h1,.team2 h2{line-height:1.08;}
.sc h3,.pn h3,.proc-list h3,.tcard-meta h3,.ov-next h3,.ov-cta h3,.legal-title{line-height:1.1;}
.w,.hero .hero-title .ln{padding-top:.2em;margin-top:-.2em;padding-bottom:.16em;margin-bottom:-.16em;}
.w3d-title{line-height:1.05;}
.marq-track{line-height:1.12;}

/* ---------- stort BK STUDIO i footeren: centreret og tilpasset bredden ---------- */
.f-word{display:block;width:100%;text-align:center;line-height:.86;padding-top:.06em;padding-bottom:.1em;margin-left:0;margin-right:0;}
.f-word span{padding-right:.05em;}

/* ================= arkiv-side ================= */
.ak-head{position:relative;overflow:hidden;background:var(--white);padding:clamp(120px,15vw,200px) var(--gut) clamp(28px,4vw,52px);}
.ak-head-in{position:relative;z-index:1;}
.ak-title{font-size:clamp(64px,15vw,240px);line-height:1;letter-spacing:-.05em;}
.ak-title sup{font-size:.16em;letter-spacing:0;vertical-align:top;position:relative;top:.9em;margin-left:.3em;font-weight:600;}
.ak-sub{max-width:44ch;margin-top:clamp(14px,2vw,26px);font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:var(--grey-700);}
.ak-filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(24px,3vw,40px);}
.chip{padding:12px 20px;border:1px solid var(--black);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--black);transition:background .3s var(--ease-out),color .3s var(--ease-out);}
.chip sup{font-size:.85em;margin-left:6px;opacity:.6;letter-spacing:0;}
.chip:hover{background:rgba(20,20,20,.08);}
.chip[aria-pressed="true"]{background:var(--black);color:var(--white);}
.ak-wrap{background:var(--white);padding:0 var(--gut) var(--sp);}
.ak-grid{column-count:5;column-gap:clamp(6px,.8vw,12px);}
.ak-item{position:relative;display:block;width:100%;margin:0 0 clamp(6px,.8vw,12px);break-inside:avoid;overflow:hidden;background:var(--tint);cursor:zoom-in;padding:0;
  opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out) var(--i,0s),transform .8s var(--ease-out) var(--i,0s);}
.ak-item[hidden]{display:none;}
.ak-item.seen.in,.ak-item.in.seen{opacity:1;transform:none;}
.ak-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);opacity:.74;transition:filter .6s var(--ease-out),opacity .6s var(--ease-out),transform 1.2s var(--ease-out);}
.ak-item:hover img,.ak-item:focus-visible img{filter:none;opacity:1;transform:scale(1.04);}
.ak-tag{position:absolute;left:10px;bottom:9px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s;text-shadow:0 1px 10px rgba(20,20,20,.8);}
.ak-item:hover .ak-tag,.ak-item:focus-visible .ak-tag{opacity:1;transform:none;}
@media(any-hover:none){.ak-item img{filter:none;opacity:1;}.ak-tag{opacity:1;transform:none;}}
@media(max-width:1100px){.ak-grid{column-count:3;}}
@media(max-width:700px){.ak-grid{column-count:2;}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:950;background:rgba(20,20,20,.97);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:72px clamp(10px,3vw,40px) 28px;opacity:0;transition:opacity .35s var(--ease-out);}
.lb[hidden]{display:none;}
.lb.open{opacity:1;}
.lb-top{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(16px,3vw,40px);color:var(--white);}
.lb-count{font-size:13px;font-weight:600;letter-spacing:.16em;font-variant-numeric:tabular-nums;}
.lb-close{padding:10px 16px;border:1px solid var(--line-dark);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--white);transition:background .3s,color .3s;}
.lb-close:hover{background:var(--white);color:var(--black);}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:100%;}
.lb-fig img{max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;object-fit:contain;filter:blur(2px);transition:filter .5s;}
.lb-fig img.sharp{filter:none;}
.lb-cap{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--white);}
.lb-cap a{border-bottom:1px solid currentColor;padding-bottom:2px;color:var(--grey-100);}
.lb-cap a:hover{color:var(--white);}
.lb-nav{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line-dark);color:var(--white);font-size:20px;transition:background .3s,color .3s;}
.lb-nav:hover{background:var(--white);color:var(--black);}
@media(max-width:700px){.lb{grid-template-columns:minmax(0,1fr);padding:64px 10px 90px;}.lb-nav{position:absolute;bottom:22px;width:56px;height:48px;}.lb-prev{left:16px}.lb-next{right:16px}}

/* ================= forsiden: arkiv-rækker ================= */
.ark{position:relative;overflow:hidden;background:var(--black);color:var(--white);padding:clamp(20px,3vw,40px) 0;isolation:isolate;}
.ark-rows{display:flex;flex-direction:column;gap:clamp(8px,1vw,14px);}
.ark-row{overflow:hidden;height:clamp(110px,22vh,230px);}
.ark-track{display:flex;gap:clamp(8px,1vw,14px);height:100%;width:max-content;animation:wkx 120s linear infinite;}
.ark-row.rev .ark-track{animation-direction:reverse;animation-duration:150s;}
.ark-row:nth-child(3) .ark-track{animation-duration:170s;}
.ark:hover .ark-track{animation-play-state:paused;}
.ark-tile{flex:none;height:100%;aspect-ratio:var(--r);overflow:hidden;background:var(--tint);}
.ark-tile img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);opacity:.6;transition:filter .5s var(--ease-out),opacity .5s var(--ease-out),transform 1s var(--ease-out);}
.ark-tile:hover img{filter:none;opacity:1;transform:scale(1.06);}
.ark-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;background:var(--black);padding:clamp(28px,4vw,56px) clamp(28px,5vw,72px);max-width:min(92vw,620px);box-shadow:0 30px 80px rgba(0,0,0,.4);}
.ark-cta.rv{transform:translate(-50%,-50%) translateY(34px);}
.ark-cta.rv.in{transform:translate(-50%,-50%);}
.ark-cta h2{font-size:clamp(44px,7vw,100px);margin-bottom:14px;}
.ark-cta p{font-size:clamp(14px,1.2vw,17px);line-height:1.6;color:var(--grey-100);margin-bottom:26px;}
@media(prefers-reduced-motion:reduce){.ark-track{animation:none}.ark-row{overflow-x:auto}.ak-item{opacity:1;transform:none}}

/* ================= video ================= */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1.2s var(--ease-out);}
.hero-video.on{opacity:1;}
.reel-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.reel-frame.has-video{background:#000;border:0;overflow:hidden;}
.reel-frame.has-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,0) 50%,rgba(20,20,20,.5));pointer-events:none;}
.reel-frame.has-video .reel-play{z-index:2;}
.rm{position:fixed;inset:0;z-index:980;background:rgba(20,20,20,.96);display:grid;place-items:center;padding:clamp(12px,4vw,56px);}
.rm video{width:100%;max-height:100%;max-width:1400px;background:#000;}
.rm-x{position:absolute;top:20px;right:clamp(16px,3vw,40px);padding:10px 16px;border:1px solid var(--line-dark);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--white);}
.rm-x:hover{background:var(--white);color:var(--black);}

/* ================= flydende CTA + skip-link ================= */
.fab{position:fixed;right:clamp(14px,2.4vw,32px);bottom:clamp(14px,2.4vw,32px);z-index:600;display:inline-flex;align-items:center;padding:16px 26px;background:var(--black);color:var(--white);
  font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 14px 40px rgba(20,20,20,.35);border:1px solid var(--white);
  opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),background .3s,color .3s;}
.fab.show{opacity:1;transform:none;pointer-events:auto;}
.fab:hover{background:var(--white);color:var(--black);border-color:var(--black);}
body.menu-open .fab{opacity:0;pointer-events:none;}
.skip{position:fixed;left:12px;top:-80px;z-index:10001;padding:12px 18px;background:var(--white);color:var(--black);font-weight:600;font-size:14px;transition:top .2s;}
.skip:focus{top:12px;}
:focus-visible{outline:2px solid var(--black);outline-offset:3px;}
.hero :focus-visible,footer :focus-visible,.ark :focus-visible,.cta-big :focus-visible,.lb :focus-visible,.rm :focus-visible{outline-color:var(--white);}
.reel-play[hidden]{display:none;}

/* ================= forsiden: billedvæg ================= */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.wall{position:relative;height:100vh;height:100svh;min-height:560px;background:var(--black);color:var(--white);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;}
.wall.drag{cursor:grabbing;}
.wall-stage{position:absolute;inset:0;perspective:1100px;perspective-origin:50% 45%;}
.wall-world{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none;will-change:transform;}
.wc{position:absolute;left:50%;top:50%;display:block;overflow:hidden;background:var(--tint);border-radius:5px;pointer-events:auto;backface-visibility:hidden;cursor:pointer;
  box-shadow:0 14px 36px rgba(0,0,0,.35);will-change:transform,opacity;}
.wc img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;filter:grayscale(1) contrast(1.08) brightness(.92);opacity:.78;transition:filter .5s var(--ease-out),opacity .5s var(--ease-out);}
.wc.hov img,.wc.mid img{filter:none;opacity:1;}
.wall-vig{position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(ellipse 70% 62% at 50% 46%,rgba(20,20,20,0) 40%,rgba(20,20,20,.55) 72%,rgba(20,20,20,.94) 100%),
             linear-gradient(180deg,rgba(20,20,20,.8) 0,rgba(20,20,20,0) 15%,rgba(20,20,20,0) 68%,rgba(20,20,20,.95) 100%);}
.wall-ui{position:absolute;inset:0;z-index:3;pointer-events:none;}
.wall-ui>*{pointer-events:auto;}
.wall-cap{position:absolute;left:0;right:0;bottom:68px;display:flex;justify-content:center;gap:10px;align-items:baseline;font-size:clamp(15px,1.4vw,20px);pointer-events:none;text-shadow:0 2px 16px rgba(20,20,20,.9);}
.wall-cap b{font-weight:700;letter-spacing:-.01em;}
.wall-cap span{color:var(--grey-300);}
.wall-cap span::before{content:'·';margin-right:10px;}
.wall-filter{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:4px;max-width:92vw;overflow-x:auto;scrollbar-width:none;}
.wall-filter::-webkit-scrollbar{display:none;}
.wall-filter button{padding:6px 12px;font-size:14px;color:var(--grey-300);white-space:nowrap;border-bottom:1px solid transparent;transition:color .3s,border-color .3s;}
.wall-filter button:hover{color:var(--white);}
.wall-filter button[aria-pressed="true"]{color:var(--white);border-bottom-color:var(--white);}
.wall-hint{position:absolute;left:var(--gut);bottom:28px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-100);pointer-events:none;}
.h-touch{display:none;}
@media(any-hover:none){.h-mouse{display:none}.h-touch{display:inline}}
.wall-cta{position:absolute;right:var(--gut);bottom:26px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--white);padding-bottom:3px;border-bottom:1px solid currentColor;}
.wall-cta:hover{opacity:.7;}
@media(max-width:820px){.wall-hint{display:none}.wall-cta{bottom:62px;right:auto;left:50%;transform:translateX(-50%);}.wall-cap{bottom:104px;}}

/* tagline ved logoet (kun forsiden) */
.logo-tag{position:absolute;left:calc(min(5.5vw,84px) + 66px);top:27px;font-size:13px;line-height:1.2;color:#fff;transition:opacity .3s;pointer-events:none;}
body.hdr-solid .logo-tag{opacity:0;}
@media(max-width:820px){.logo-tag{display:none}}

/* ================= forsiden: scroll gennem logoet (efter podium.global) ================= */
.thru{position:sticky;top:0;height:100vh;height:100svh;z-index:0;overflow:hidden;background:var(--white);}
.thru-spacer{height:280vh;margin-bottom:-158vh;}
main>*:not(.thru):not(.thru-spacer){position:relative;z-index:1;}
.thru-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.thru-title{position:absolute;left:var(--gut);bottom:clamp(24px,5vh,56px);max-width:min(24em,70vw);font-size:clamp(20px,2.4vw,38px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;color:var(--black);will-change:transform,opacity;}
.thru-scroll{position:absolute;right:var(--gut);bottom:clamp(24px,5vh,56px);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--black);}
@media(max-width:820px){.thru-spacer{height:250vh;margin-bottom:-140vh}.thru-scroll{display:none}.thru-title{max-width:calc(100vw - 2*var(--gut));font-size:clamp(18px,5vw,26px);}}
@media(prefers-reduced-motion:reduce){.thru{position:relative}.thru-spacer{display:none}}
.wc{opacity:0;visibility:hidden;}
/* menu over den lyse forside og gennem logoet */
body.hdr-ink header.site-header{--hc:var(--black);}
body.hdr-ink .logo-mark img{filter:brightness(0) invert(.13);}
body.menu-open.hdr-ink header.site-header{--hc:var(--white);}
body.menu-open.hdr-ink .logo-mark img{filter:brightness(0) invert(1);}
body[data-nohide].hdr-hide:not(.menu-open) header.site-header{transform:none;}
.logo-tag{color:inherit;}


/* ================= nyt klat-logo i header, intro og footer ================= */
.logo-mark{width:auto;height:44px;overflow:visible;}
.logo-mark img{height:40px;width:auto;max-width:none;}
@media(max-width:820px){.logo-mark{height:40px}.logo-mark img{height:34px}}
.footer-brand .fmark img{height:64px;width:auto;max-width:none;}
.intro-mark img{width:clamp(110px,14vw,170px);height:auto;}
.logo-tag{left:calc(min(5.5vw,84px) + 60px);}

/* svævende projektkort: i farve; ved hover slørres billedet, og "Se projekt" vises */
.w3c-in img{filter:contrast(1.03) saturate(1.05);transition:filter .6s var(--ease-out),transform 1.2s var(--ease-out);}
.w3c:hover .w3c-in img{filter:blur(9px) brightness(.55) saturate(.9);transform:scale(1.12);}
.w3c-cta{position:absolute;left:0;right:0;top:50%;z-index:3;text-align:center;font-size:clamp(12px,1.1vw,15px);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#fff;
  opacity:0;transform:translateY(calc(-50% + 10px));transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);pointer-events:none;}
.w3c-cta::after{content:' →';}
.w3c:hover .w3c-cta{opacity:1;transform:translateY(-50%);}
.w3c:hover .w3c-in em{opacity:0;}
.w3c-in em{transition:opacity .3s;}


/* footer: stort centreret logo */
.f-logo{display:flex;justify-content:center;padding:clamp(28px,5vw,64px) 0 clamp(8px,2vw,24px);}
.f-logo img{width:clamp(200px,32vw,460px);height:auto;filter:brightness(0) invert(1);opacity:.96;transform:translateY(40px) scale(.94);transition:transform 1.4s var(--ease-out),opacity 1.4s;opacity:0;}
.f-logo.in img{transform:none;opacity:.96;}
@media(prefers-reduced-motion:reduce){.f-logo img{transform:none;opacity:.96}}

/* arkiv-siden: væggen først, derefter alle billeder i gitter */
.ak-head{padding-top:clamp(64px,8vw,120px);}

/* ordmærke "Studio" ved logoet (erstatter "Foto / Video / Content"); ingen tal i menuen */
.logo-mark{display:inline-flex;align-items:center;gap:12px;color:var(--hc);}
.logo-word{font-size:clamp(22px,2.1vw,29px);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;line-height:1;color:var(--hc);transition:color .4s;}
.logo-tag,sup.cnt{display:none!important;}
@media(max-width:820px){.logo-word{font-size:21px}}

/* ================= projektsiden: skiftende hero, dynamisk opstilling ================= */
.cs-hero{position:relative;height:230vh;background:var(--black);}
.cs-hero-in{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:#fff;}
.cs-slides{position:absolute;inset:0;transform-origin:50% 55%;will-change:transform;}
.cs-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease-out);}
.cs-slide.on{opacity:1;}
.cs-slide img{width:100%;height:100%;object-fit:cover;}
.cs-slide.on img{animation:kb 9s ease-out both;}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.cs-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.45) 0,rgba(20,20,20,0) 24%,rgba(20,20,20,0) 46%,rgba(20,20,20,.78) 100%);pointer-events:none;}
.cs-count{position:absolute;left:var(--gut);top:clamp(84px,11vh,120px);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.cs-cat{position:absolute;left:var(--gut);bottom:calc(11vh + clamp(64px,13vw,210px) + 14px);font-size:clamp(12px,1.1vw,15px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:pre;}
.cs-title{position:absolute;left:var(--gut);bottom:11vh;margin:0;max-width:none;font-size:clamp(64px,13vw,220px);line-height:1;font-weight:800;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;transform-origin:0 100%;will-change:transform;color:#fff;}
.cs-scroll{position:absolute;right:var(--gut);bottom:calc(11vh + 6px);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.cs-scroll::after{content:'';display:block;width:1px;height:46px;margin:10px 0 0 auto;background:currentColor;animation:scrl 1.8s var(--ease-io) infinite;transform-origin:top;}
@keyframes scrl{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

.cs-rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease-out),transform 1s var(--ease-out);}
.cs-rv.in{opacity:1;transform:none;}
.ov-info p.cs-rv{transform:translateX(-8vw);}
.ov-info p.cs-rv.in{transform:none;}

.cs-flow{padding:clamp(28px,5vw,80px) 0 clamp(48px,7vw,110px);overflow:hidden;background:var(--white);}
.cf-block{position:relative;display:flex;align-items:flex-start;padding:0 var(--gut);margin-bottom:clamp(44px,7vw,110px);}
.cf-img{position:relative;overflow:hidden;background:var(--sand);}
.cf-img img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;transform:translate3d(0,var(--py,0px),0);}
.cf-img.cs-rv{transform:translateY(60px) scale(.97);}
.cf-img.cs-rv.in{transform:none;}
.cf-wide .cf-img{width:100%;height:min(84vh,780px);}
.cf-duo .a{width:34%;aspect-ratio:3/4;}
.cf-duo .b{width:54%;margin-left:auto;margin-top:clamp(40px,14vh,150px);aspect-ratio:4/3;}
.cf-trio{justify-content:space-between;}
.cf-trio .a{width:27%;aspect-ratio:3/4;}
.cf-trio .b{width:31%;margin-top:clamp(30px,10vh,120px);aspect-ratio:4/5;}
.cf-trio .c{width:25%;margin-top:clamp(12px,4vh,50px);aspect-ratio:3/4;}
.cf-solo{align-items:center;gap:clamp(20px,5vw,80px);}
.cf-solo .cf-img{width:48%;aspect-ratio:4/5;flex:none;}
.cf-right{flex-direction:row-reverse;}
.cf-word{flex:1;min-width:0;}
.cf-word b{display:block;font-size:clamp(38px,7vw,120px);line-height:1.02;font-weight:800;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:anywhere;}
.cf-word span{display:block;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-500);}
.cf-word.cs-rv{transform:translateX(12vw);}
.cf-left .cf-word.cs-rv{transform:translateX(12vw);}
.cf-right .cf-word.cs-rv{transform:translateX(-12vw);}
.cf-word.cs-rv.in{transform:none;}
.cf-cap{position:absolute;bottom:16px;z-index:3;padding:9px 14px;background:var(--black);color:#fff;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:transform .9s var(--ease-out) .25s,opacity .6s .25s;opacity:0;}
.cf-cap[data-from="l"]{left:0;transform:translateX(-110%);}
.cf-cap[data-from="r"]{right:0;transform:translateX(110%);}
.cf-img.in .cf-cap{opacity:1;transform:none;}
.cf-band{overflow:hidden;margin:clamp(6px,1.6vw,24px) 0 clamp(50px,8vw,120px);}
.cf-track{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;font-size:clamp(54px,10.5vw,170px);font-weight:800;letter-spacing:-.035em;text-transform:uppercase;line-height:1.05;will-change:transform;}
.cf-track i{font-style:normal;font-weight:300;color:var(--grey-300);}
@media(max-width:700px){
  .cs-hero{height:210vh}
  .cs-title{bottom:9vh}
  .cf-duo,.cf-trio{flex-direction:column;}
  .cf-duo .a{width:66%;}.cf-duo .b{width:86%;margin-top:22px;}
  .cf-trio .a{width:60%;}.cf-trio .b{width:78%;margin:22px 0 0 auto;}.cf-trio .c{width:56%;margin-top:22px;}
  .cf-solo,.cf-right{flex-direction:column;align-items:flex-start;}
  .cf-solo .cf-img{width:100%;}
  .cf-wide .cf-img{height:64vh;}
}
@media(prefers-reduced-motion:reduce){.cs-rv{opacity:1;transform:none}.cs-slide.on img{animation:none}.cf-cap{opacity:1;transform:none}.cs-scroll::after{animation:none}}

/* ================= "Sådan arbejder vi": rækker med små tal ================= */
.proc-rows{border-bottom:1px solid var(--line-light);}
.pr{display:grid;grid-template-columns:clamp(56px,7vw,110px) minmax(0,1.15fr) minmax(0,1fr);gap:min(4vw,56px);align-items:baseline;padding:clamp(26px,3.6vw,48px) clamp(8px,1.6vw,22px);border-top:1px solid var(--line-light);
  transition:background .5s var(--ease-out),color .5s var(--ease-out),padding-left .5s var(--ease-out);}
.pr-n{justify-self:start;padding:5px 10px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.12em;transition:background .4s,color .4s;}
.pr h3{font-size:clamp(26px,4vw,58px);line-height:1.05;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;}
.pr p{max-width:38ch;font-size:16px;line-height:1.65;color:var(--grey-700);transition:color .5s;}
.pr:hover{background:var(--black);color:var(--white);padding-left:clamp(20px,3vw,44px);}
.pr:hover p{color:var(--grey-100);}
.pr:hover .pr-n{background:var(--white);color:var(--black);}
@media(max-width:820px){.pr{grid-template-columns:1fr;gap:12px;}.pr:hover{padding-left:clamp(8px,1.6vw,22px);}}

/* ================= header: "Studio" lidt federe ================= */
.logo-mark{gap:14px;}
.logo-word{font-family:'Bebas Neue',Impact,'Arial Narrow Bold','Inter',Arial,sans-serif;font-size:clamp(34px,3.2vw,46px);font-weight:400;letter-spacing:.07em;line-height:.9;padding-top:.05em;transition:letter-spacing .5s var(--ease-out),color .4s;}
.logo-mark:hover .logo-word{letter-spacing:.16em;}
@media(max-width:820px){.logo-word{font-size:31px}}
.f-logo{display:none;}

/* "Skriv til os": levende højdekurver bag teksten */
.cta-flow{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;}
.cta-big{background:var(--black);}
.cta-big-in{position:relative;z-index:2;}
.cta-bg{display:none;}

/* ================= header: organisk "STUDIO" (tegnet som vektor, matcher klat-logoet) ================= */
.logo-mark{gap:clamp(10px,1vw,16px);}
.logo-mark .logo-wm{height:clamp(24px,2.2vw,32px);width:auto;max-width:none;transform-origin:0 60%;transition:transform .6s var(--ease-out),filter .4s;}
.logo-mark:hover .logo-wm{transform:rotate(-2.5deg) scale(1.05);}
.logo-word{display:none;}
@media(max-width:820px){.logo-mark .logo-wm{height:22px}}


/* ================= ydelser: tre kort side om side, de to sidste kommer ind fra højre ================= */
.pns{height:270vh;padding:0;background:var(--white);}
.pns-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;gap:clamp(14px,2.6vh,30px);
  padding:clamp(88px,12vh,124px) var(--gut) clamp(20px,3.6vh,44px);}
.pns .section-head{margin:0;padding:0;flex:none;}
.pns .section-head h2{max-width:none;font-size:clamp(28px,3.7vw,54px);}
.pns .section-head p{max-width:34ch;font-size:clamp(13px,1.05vw,15px);}
.svc-row3{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);flex:1 1 auto;min-height:0;will-change:transform;}
.sv{display:flex;flex-direction:column;min-height:0;background:var(--sand);color:var(--black);border:1px solid var(--line-light);overflow:hidden;will-change:transform;transform-origin:0 50%;}
.sv2{background:var(--black);color:var(--white);border-color:var(--black);}
.sv3{background:var(--white);}
.sv-img{position:relative;flex:1 1 40%;min-height:0;overflow:hidden;background:var(--near-black);}
.sv-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sv-img.ph{border:0;border-bottom:1px dashed rgba(20,20,20,.3);background-color:var(--sand);}
.sv-txt{flex:none;display:flex;flex-direction:column;gap:clamp(8px,1.4vh,14px);padding:clamp(16px,2vw,28px);}
.sv h3{font-size:clamp(20px,2.3vw,34px);font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:1.05;}
.sv p{font-size:clamp(13px,1.1vw,16px);line-height:1.5;opacity:.85;}
.sv ul{display:flex;flex-direction:column;gap:clamp(4px,.9vh,9px);}
.sv li{position:relative;padding-left:16px;font-size:clamp(12px,.98vw,14px);line-height:1.45;opacity:.8;}
.sv li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;background:currentColor;}
.sv .sc-link{margin-top:clamp(4px,1vh,10px);}
@media(max-height:780px){.sv ul{display:none}}
@media(any-hover:hover){
  .sv-img:not(.ph) img{filter:grayscale(1) contrast(1.06);opacity:.8;transition:filter .6s var(--ease-out),opacity .6s var(--ease-out),transform 1.2s var(--ease-out);}
  .sv:hover .sv-img img{filter:none;opacity:1;transform:scale(1.04);}
}
@media(max-width:900px){
  .pns{height:260vh;}
  .pns-pin{padding-top:clamp(80px,11vh,100px);}
  .svc-row3{display:flex;width:max-content;gap:14px;padding-right:var(--gut);}
  .sv{width:78vw;flex:none;}
  .sv ul{display:flex;}
}
@media(max-width:900px) and (max-height:700px){.sv ul{display:none}}
@media(prefers-reduced-motion:reduce){.pns{height:auto}.pns-pin{position:relative;height:auto;overflow:visible}.svc-row3{display:grid;grid-template-columns:1fr;}.sv{transform:none!important}.sv-img{flex:none;aspect-ratio:16/10}}

/* levende mønster bag "Arbejde, der taler højere end ord" */
.w3d-flow{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;}
.w3d-map{display:none;}

/* billedbåndet (landskab, der kører fra højre mod venstre): i farver */
.strip-track img{filter:contrast(1.03) saturate(1.06);opacity:1;}
/* "Start et projekt" nederst til højre: organisk skrift */
.fab{padding:15px 24px;}
.fab .fab-txt{display:block;height:15px;width:auto;filter:brightness(0) invert(1);transition:filter .3s;}
.fab:hover .fab-txt{filter:brightness(0) invert(.08);}
@media(max-width:820px){.fab .fab-txt{height:14px}}

/* ================= ens indlæsning/overgang på alle sider: logoet afsløres langsomt ================= */
.blade{display:none;}
#intro{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background:var(--white);opacity:1;visibility:visible;transform:none;
  transition:opacity .6s var(--ease-out),visibility .6s;animation:vfail .01s 6s forwards;}
#intro.hide{opacity:0;visibility:hidden;pointer-events:none;transform:none;}
#intro.go{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s var(--ease-out),visibility 0s;animation:none;}
body.home #intro:not(.go){opacity:0;visibility:hidden;}
#intro .intro-mark{position:static;display:block;opacity:1;transform:none;}
#intro .intro-mark img{display:block;width:clamp(130px,15vw,210px);height:auto;filter:brightness(0) invert(.08);animation:vreveal 1.6s cubic-bezier(.4,.05,.25,1) both;}
@keyframes vreveal{0%{opacity:0;filter:blur(34px) brightness(0) invert(.08);transform:scale(.86)}55%{opacity:1}100%{opacity:1;filter:blur(0) brightness(0) invert(.08);transform:none}}
@keyframes vfail{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){#intro{display:none!important}}
html.veil-cont #intro .intro-mark img{animation:none;filter:brightness(0) invert(.08);}

/* indlæsning på alle sider = forsidens logo-åbning på et fixed lærred; #intro er nu kun et kort hvidt fade ved sideskift */
.veil-cv{position:fixed;inset:0;z-index:9998;background:var(--white);touch-action:none;}
.veil-cv canvas{display:block;width:100%;height:100%;}
#intro .intro-mark{display:none;}
#intro{z-index:9997;}

/* ingen mellemscene ved sideskift */
#intro{display:none!important;}

/* ================= ydelser: fire kort, blødere bevægelse ================= */
.svc-row3{grid-template-columns:repeat(4,minmax(0,1fr));}
.sv{contain:layout paint;backface-visibility:hidden;transform-origin:50% 50%;}
.sv h3{font-size:clamp(18px,1.85vw,29px);}
.sv p{font-size:clamp(12px,.98vw,15px);}
.sv li{font-size:clamp(11px,.86vw,13px);}
.sv-txt{padding:clamp(14px,1.5vw,22px);}
.sv4{background:var(--black);color:var(--white);border-color:var(--black);}
.sv-mark{display:grid;place-items:center;background:var(--black);}
.sv-mark img{position:static;width:58%;height:auto;object-fit:contain;filter:brightness(0) invert(1)!important;opacity:.95!important;transform:none!important;}
@media(max-width:1180px){
  .pns{height:260vh;}
  .pns-pin{padding-top:clamp(80px,11vh,100px);}
  .svc-row3{display:flex;width:max-content;gap:14px;padding-right:var(--gut);}
  .sv{width:min(78vw,420px);flex:none;}
  .sv ul{display:flex;}
  .sv h3{font-size:clamp(20px,5vw,30px);}
  .sv p{font-size:14px;}
  .sv li{font-size:13px;}
}
@media(max-width:1180px) and (max-height:700px){.sv ul{display:none}}

/* de tre ydelser i samme lyse farve; kun "Din opgave?" står i sort som modstykke */
.sv1,.sv2,.sv3{background:var(--sand);color:var(--black);border-color:var(--line-light);}
.sv2 .sv-img{background:var(--near-black);}

/* ================= header: menuens tekst tegnet i samme tykke, bløde stil som logoet ================= */
.nav-lt{display:block;height:14px;width:auto;max-width:none;filter:brightness(0) invert(1);transition:filter .4s,transform .45s var(--ease-out),opacity .3s;}
body.hdr-ink .nav-lt,body.hdr-solid .nav-lt{filter:brightness(0) invert(.13);}
body.menu-open .nav-lt{filter:brightness(0) invert(1);}
nav.primary-nav a{padding-bottom:6px;}
nav.primary-nav a:hover .nav-lt{transform:translateY(-1px) rotate(-2.5deg);}
.book-btn{display:inline-flex;align-items:center;padding-top:13px;padding-bottom:13px;}
.book-btn .nav-lt{height:13px;}
.book-btn:hover{opacity:1;}
.book-btn:hover .nav-lt{transform:rotate(-2deg) scale(1.04);}
@media(max-width:820px){
  nav.primary-nav a{padding-bottom:0;}
  nav.primary-nav .nav-lt{height:clamp(34px,9.5vw,52px);filter:brightness(0) invert(1);}
  nav.primary-nav .nav-book-mobile .nav-lt{height:clamp(24px,7vw,36px);}
}

@media(max-width:820px){.book-btn{display:none!important;}}

/* ================= header: ingen streger ved hover, organisk knap, ingen flydende knap ================= */
nav.primary-nav a::after{display:none!important;}
.fab{display:none!important;}
.book-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:15px 27px;border:0!important;background:none;isolation:isolate;transition:transform .5s var(--ease-out);}
.book-btn::before,.book-btn::after{content:'';position:absolute;inset:-3px -5px;z-index:-1;pointer-events:none;background:no-repeat center/100% 100%;filter:brightness(0) invert(1);transition:opacity .4s var(--ease-out),transform .55s var(--ease-out),filter .4s;max-width:none;margin:0;}
.book-btn::before{background-image:url(images/logo/btn-ring.svg);}
.book-btn::after{background-image:url(images/logo/btn-fill.svg);opacity:0;transform:scale(.9,.8);}
.book-btn:hover{opacity:1;transform:rotate(-1.4deg);}
.book-btn:hover::after{opacity:1;transform:none;max-width:none;margin:0;}
.book-btn:hover .nav-lt{transform:none;filter:brightness(0) invert(.13);}
body.hdr-ink .book-btn::before,body.hdr-ink .book-btn::after,body.hdr-solid .book-btn::before,body.hdr-solid .book-btn::after{filter:brightness(0) invert(.13);}
body.hdr-ink .book-btn:hover .nav-lt,body.hdr-solid .book-btn:hover .nav-lt{filter:brightness(0) invert(1);}
@media(max-width:820px){.book-btn{display:none!important;}}

@media(max-width:820px){nav.primary-nav .nav-book-mobile .nav-lt{height:auto;width:min(78vw,320px);max-width:100%;}}

/* ================= organiske knapper (i stedet for firkanter uden sort boks bag teksten) ================= */
.btn,.cta-btn{position:relative;overflow:visible!important;isolation:isolate;background:none!important;border:0!important;border-radius:0!important;color:var(--black);padding:17px 36px;
  transition:transform .5s var(--ease-out),color .35s var(--ease-out);}
.btn::before,.cta-btn::before{content:'';position:absolute;inset:-3px -5px;z-index:-1;background:url(images/logo/btn-fill.svg) no-repeat center/100% 100%;transform:scale(.9,.8);opacity:0;
  transition:opacity .4s var(--ease-out),transform .55s var(--ease-out);pointer-events:none;}
.btn::after,.cta-btn::after{content:'';position:absolute;inset:-3px -5px;z-index:-1;background:url(images/logo/btn-ring.svg) no-repeat center/100% 100%;pointer-events:none;max-width:none;margin:0;opacity:1;}
.btn:hover,.cta-btn:hover{color:var(--white);transform:rotate(-1.2deg);}
.btn:hover::before,.cta-btn:hover::before{opacity:1;transform:none;}
.btn:disabled:hover::before,.cta-btn:disabled:hover::before{opacity:0;}
.btn:disabled:hover,.cta-btn:disabled:hover{color:var(--black);transform:none;}
/* på mørk baggrund */
.btn-w,.strip .btn,.cta-box .cta-btn{color:var(--white)!important;}
.btn-w::before,.btn-w::after,.strip .btn::before,.strip .btn::after,.cta-box .cta-btn::before,.cta-box .cta-btn::after{filter:brightness(0) invert(1);}
.btn-w:hover,.strip .btn:hover,.cta-box .cta-btn:hover{color:var(--black)!important;}

/* headerens knap: samme tekststørrelse som menuens ord */
.book-btn .nav-lt{height:14px;}

/* showreel: ingen playikon, den afspiller bare (hele fladen kan stadig trykkes for lyd) */
.reel-play{left:0!important;top:0!important;transform:none!important;width:100%!important;height:100%!important;background:transparent!important;border:0!important;cursor:pointer;display:block!important;}
.reel-play i{display:none!important;}
.reel-play:hover{transform:none!important;}
.reel-play[hidden]{display:none!important;}

/* kontaktformular: organiske felter */
.hform input:not([type=checkbox]),.hform textarea,.booking-form input:not([type=checkbox]),.booking-form textarea{
  border:1.5px solid var(--black)!important;background:transparent!important;color:var(--black);padding:15px 24px!important;font-size:16px;
  border-radius:26px 36px 24px 34px / 34px 24px 36px 26px!important;transition:background .35s var(--ease-out),transform .45s var(--ease-out),border-radius .6s var(--ease-out);}
.hform label:nth-child(2) input,.hform .hf-row label:nth-child(2) input,.booking-form .form-row:nth-child(even) input{border-radius:34px 24px 36px 26px / 24px 36px 26px 34px!important;}
.hform textarea,.booking-form textarea{border-radius:34px 44px 30px 40px / 42px 30px 44px 34px!important;min-height:150px;padding:20px 26px!important;}
.hform input:focus:not([type=checkbox]),.hform textarea:focus,.booking-form input:focus:not([type=checkbox]),.booking-form textarea:focus{background:var(--sand)!important;transform:rotate(-.3deg);border-radius:30px 40px 26px 38px / 38px 26px 40px 30px!important;}
.hform label,.booking-form label{gap:10px!important;}
.booking-form .form-row,.booking-form .form-submit-row{border:0!important;}
.booking-form input::placeholder,.booking-form textarea::placeholder,.hform textarea::placeholder{color:var(--grey-300);}

/* Om os: portrætter og billeder i organiske former */
.tcard.tc1{clip-path:url(#orgA);}
.tcard.tc2{clip-path:url(#orgB);}
.about-media{clip-path:url(#orgL);}
.meet-row .meet-media{clip-path:url(#orgC);}
.meet-row-reverse .meet-media{clip-path:url(#orgD);}
.tcard:hover{transform:rotate(-.6deg);}

/* logoet i bunden af footeren */
.fmark{display:inline-block;cursor:pointer;transition:transform .5s var(--ease-out);}
.fmark:hover{transform:rotate(-8deg) scale(1.08);}

/* navnene skal ligge inden i den organiske form */
.tcard .tcard-meta{padding:clamp(20px,2.4vw,36px) clamp(40px,7vw,96px) clamp(44px,6vw,84px) clamp(48px,7.6vw,112px)!important;}

/* ældre regler med højere vægt gav en sort firkant ved hover: nu er fyldet altid den organiske form */
.strip .btn::before,.cta-box .cta-btn::before,.btn-w::before{background:url(images/logo/btn-fill.svg) no-repeat center/100% 100%!important;}
.strip .btn,.cta-box .cta-btn{background:none!important;border:0!important;}

/* ================= Arbejde: projektkort i organiske former, der flyder over i en ny form ved hover ================= */
#workGrid .work-item:nth-child(3n+1){clip-path:polygon(0.7% 49.1%,1.0% 44.2%,1.3% 39.3%,1.6% 34.3%,1.9% 29.3%,2.0% 24.0%,2.2% 18.6%,2.7% 13.2%,3.7% 8.0%,5.8% 3.6%,9.2% 0.8%,13.7% 0.0%,18.6% 0.6%,23.1% 1.6%,26.9% 2.3%,30.1% 2.6%,32.9% 2.7%,35.4% 2.7%,37.8% 2.6%,40.1% 2.5%,42.2% 2.4%,44.3% 2.4%,46.4% 2.4%,48.4% 2.6%,50.4% 2.9%,52.4% 3.2%,54.4% 3.5%,56.4% 3.5%,58.5% 3.3%,60.6% 3.2%,62.9% 3.3%,65.1% 3.6%,67.5% 4.0%,70.1% 4.1%,73.3% 3.6%,77.2% 2.5%,81.7% 1.4%,86.4% 0.9%,90.8% 1.8%,94.5% 4.2%,97.2% 7.9%,99.0% 12.6%,99.9% 17.9%,100.0% 23.5%,99.8% 28.9%,99.7% 34.2%,99.7% 39.2%,99.8% 44.2%,99.9% 49.1%,99.9% 54.1%,100.0% 59.1%,100.0% 64.2%,99.9% 69.4%,99.7% 74.7%,99.1% 79.9%,97.8% 84.8%,95.5% 88.9%,92.4% 92.0%,88.9% 94.3%,85.4% 96.0%,82.1% 97.5%,78.8% 98.6%,75.6% 99.3%,72.5% 99.7%,69.6% 99.8%,66.8% 100.0%,64.2% 100.0%,61.7% 99.8%,59.2% 99.3%,56.9% 98.5%,54.6% 97.7%,52.5% 97.0%,50.4% 96.2%,48.4% 95.5%,46.5% 94.8%,44.6% 94.3%,42.6% 94.0%,40.5% 93.8%,38.4% 93.7%,36.0% 93.7%,33.5% 93.9%,30.8% 94.0%,27.8% 94.1%,24.5% 94.3%,20.6% 94.7%,16.1% 95.1%,11.4% 94.9%,7.2% 93.3%,3.9% 90.2%,1.8% 85.8%,0.6% 80.7%,0.1% 75.3%,0.0% 69.8%,0.1% 64.4%,0.3% 59.2%,0.5% 54.2%);}
#workGrid .work-item:nth-child(3n+1):hover{clip-path:polygon(3.7% 54.5%,3.5% 49.9%,3.2% 45.2%,3.3% 40.5%,3.8% 35.8%,5.0% 31.4%,6.9% 27.5%,9.5% 24.2%,12.5% 21.5%,16.4% 20.1%,21.1% 20.2%,26.4% 22.0%,30.9% 24.0%,34.3% 25.3%,36.6% 25.6%,38.5% 25.3%,40.1% 24.8%,41.6% 24.1%,43.0% 23.3%,44.4% 22.3%,45.8% 21.1%,47.2% 19.8%,48.7% 18.2%,50.3% 16.4%,52.0% 14.3%,53.9% 12.2%,56.0% 10.3%,58.2% 9.0%,60.6% 8.1%,63.1% 7.3%,65.8% 6.2%,69.0% 4.5%,72.7% 2.5%,76.7% 0.9%,80.9% 0.0%,84.8% 0.3%,88.2% 2.0%,90.7% 5.4%,92.4% 9.7%,93.5% 14.3%,94.7% 18.8%,96.0% 23.1%,97.3% 27.4%,98.4% 31.7%,99.3% 36.2%,99.7% 40.8%,99.9% 45.4%,100.0% 50.0%,99.9% 54.5%,99.7% 59.1%,99.5% 63.6%,99.0% 68.1%,98.1% 72.4%,96.5% 76.4%,94.2% 79.9%,91.5% 82.8%,88.8% 85.3%,86.1% 87.6%,83.7% 89.7%,81.3% 91.7%,78.8% 93.3%,76.1% 94.4%,73.4% 95.0%,70.7% 95.2%,68.3% 95.4%,66.0% 95.8%,64.0% 96.4%,62.0% 97.2%,60.0% 98.1%,58.1% 98.8%,56.1% 99.4%,54.0% 99.7%,52.0% 99.6%,50.0% 99.2%,48.0% 98.8%,46.0% 98.4%,43.9% 98.1%,41.8% 98.0%,39.5% 98.1%,37.1% 98.3%,34.3% 98.8%,31.3% 99.5%,27.9% 100.0%,24.5% 100.0%,21.1% 99.3%,17.8% 98.0%,14.6% 96.1%,11.1% 94.1%,7.3% 91.9%,3.5% 89.1%,0.9% 85.2%,0.0% 80.1%,0.7% 74.4%,2.1% 68.9%,3.2% 63.8%,3.7% 59.1%);}
#workGrid .work-item:nth-child(3n+2){clip-path:polygon(0.8% 49.3%,1.0% 44.6%,1.2% 39.8%,1.0% 34.9%,0.5% 29.7%,0.0% 24.2%,0.0% 18.7%,0.8% 13.4%,2.5% 8.7%,5.0% 4.8%,8.3% 2.0%,12.2% 0.3%,16.6% 0.0%,21.1% 0.8%,25.5% 2.3%,29.3% 3.8%,32.5% 4.9%,35.2% 5.6%,37.6% 6.0%,39.8% 6.1%,41.9% 6.0%,43.9% 5.9%,45.8% 5.9%,47.7% 5.9%,49.7% 5.8%,51.6% 5.5%,53.6% 5.0%,55.6% 4.5%,57.8% 3.9%,60.1% 3.5%,62.5% 3.1%,65.0% 2.9%,67.7% 2.8%,70.6% 2.6%,73.9% 2.2%,77.6% 1.8%,81.7% 1.6%,85.8% 2.1%,89.7% 3.5%,93.3% 5.8%,96.3% 9.1%,98.6% 13.4%,99.8% 18.3%,100.0% 23.8%,99.2% 29.5%,98.0% 35.0%,97.0% 40.0%,96.5% 44.7%,96.6% 49.3%,97.2% 54.0%,98.1% 58.8%,98.9% 63.9%,99.4% 69.2%,99.5% 74.5%,99.1% 79.8%,97.8% 84.7%,95.4% 88.7%,92.0% 91.5%,88.1% 93.3%,84.2% 94.5%,80.6% 95.5%,77.3% 96.4%,74.3% 97.2%,71.4% 97.8%,68.6% 98.2%,66.0% 98.6%,63.5% 99.0%,61.0% 99.4%,58.7% 99.7%,56.4% 100.0%,54.1% 100.0%,51.9% 99.8%,49.7% 99.2%,47.5% 98.5%,45.4% 97.6%,43.3% 96.6%,41.3% 95.6%,39.3% 94.7%,37.3% 93.8%,35.2% 93.0%,32.9% 92.5%,30.4% 92.3%,27.3% 92.8%,23.4% 94.0%,18.8% 95.4%,14.0% 95.9%,9.8% 94.9%,6.5% 92.3%,4.0% 88.6%,2.4% 84.1%,1.4% 79.1%,1.0% 73.9%,0.9% 68.8%,0.8% 63.8%,0.6% 58.9%,0.6% 54.1%);}
#workGrid .work-item:nth-child(3n+2):hover{clip-path:polygon(5.5% 52.0%,4.8% 48.1%,3.7% 43.8%,2.4% 39.3%,1.2% 34.4%,0.3% 29.2%,0.0% 24.1%,0.9% 19.4%,3.3% 15.7%,6.9% 13.4%,10.5% 11.6%,13.6% 9.7%,16.2% 7.5%,18.6% 5.1%,21.1% 2.9%,23.7% 1.2%,26.6% 0.3%,29.6% 0.0%,32.5% 0.0%,35.3% 0.0%,37.9% 0.1%,40.4% 0.1%,42.9% 0.1%,45.3% 0.1%,47.7% 0.4%,50.1% 1.3%,52.3% 2.9%,54.4% 4.6%,56.4% 6.4%,58.3% 8.0%,60.2% 9.5%,62.0% 10.9%,64.0% 12.2%,66.0% 13.4%,68.1% 14.5%,70.4% 15.4%,73.0% 16.2%,75.9% 17.0%,79.1% 17.9%,82.4% 19.3%,85.3% 21.3%,87.6% 24.2%,89.1% 27.8%,89.9% 31.8%,90.2% 35.9%,90.4% 40.0%,90.8% 44.0%,91.5% 48.0%,93.0% 52.0%,95.1% 56.4%,97.5% 61.3%,99.2% 66.6%,100.0% 71.9%,99.6% 77.0%,98.3% 81.7%,96.2% 85.9%,93.7% 89.6%,91.1% 93.1%,88.3% 96.1%,85.1% 98.4%,81.3% 99.6%,77.4% 100.0%,73.7% 99.9%,70.3% 99.9%,67.2% 99.9%,64.2% 99.5%,61.3% 98.3%,58.2% 95.9%,55.5% 93.0%,53.1% 90.2%,51.1% 88.3%,49.3% 87.1%,47.7% 86.3%,46.2% 86.0%,44.6% 85.9%,43.0% 86.0%,41.2% 86.3%,39.4% 86.9%,37.2% 88.0%,34.4% 90.4%,30.7% 93.8%,26.5% 97.0%,22.7% 98.3%,19.6% 97.5%,17.2% 95.3%,14.6% 93.2%,11.4% 91.5%,7.6% 90.0%,4.0% 87.8%,1.6% 84.2%,0.9% 79.5%,1.8% 74.1%,3.3% 68.9%,4.8% 64.1%,5.6% 59.9%,5.9% 55.9%);}
#workGrid .work-item:nth-child(3n){clip-path:polygon(0.4% 48.4%,0.2% 43.4%,0.0% 38.3%,0.0% 33.1%,0.3% 27.9%,0.8% 22.7%,1.5% 17.5%,2.5% 12.4%,4.2% 7.8%,7.0% 4.3%,10.9% 2.3%,15.3% 1.7%,19.7% 1.8%,23.7% 2.3%,27.1% 2.4%,29.9% 2.2%,32.5% 1.6%,34.8% 0.9%,37.1% 0.4%,39.4% 0.1%,41.6% 0.0%,43.8% 0.1%,46.0% 0.3%,48.0% 0.6%,50.1% 1.0%,52.1% 1.4%,54.1% 1.8%,56.1% 2.3%,58.1% 2.7%,60.1% 3.2%,62.2% 3.5%,64.5% 3.7%,67.0% 3.6%,69.8% 3.3%,73.0% 2.6%,76.7% 1.9%,80.7% 1.5%,84.8% 1.8%,88.6% 3.2%,91.7% 5.7%,94.1% 9.4%,95.8% 13.9%,96.9% 18.7%,97.7% 23.6%,98.4% 28.6%,98.9% 33.5%,99.4% 38.5%,99.7% 43.4%,99.9% 48.4%,100.0% 53.4%,100.0% 58.5%,99.9% 63.6%,99.7% 68.8%,99.2% 73.9%,98.2% 78.9%,96.5% 83.5%,94.0% 87.2%,90.8% 90.1%,87.2% 92.0%,83.6% 93.4%,80.3% 94.6%,77.3% 95.9%,74.6% 97.4%,72.1% 98.8%,69.4% 99.8%,66.7% 100.0%,63.9% 99.7%,61.3% 99.1%,58.9% 98.6%,56.6% 98.2%,54.4% 98.0%,52.2% 97.9%,50.1% 97.7%,48.0% 97.4%,45.9% 97.0%,43.8% 96.5%,41.8% 95.9%,39.7% 95.1%,37.7% 94.1%,35.7% 93.1%,33.6% 92.1%,31.3% 91.5%,28.6% 91.2%,25.5% 91.4%,21.6% 92.1%,17.1% 92.7%,12.5% 92.6%,8.6% 90.9%,5.8% 87.6%,4.2% 83.1%,3.2% 78.2%,2.5% 73.1%,2.0% 68.2%,1.5% 63.2%,1.0% 58.3%,0.7% 53.4%);}
#workGrid .work-item:nth-child(3n):hover{clip-path:polygon(1.9% 53.6%,2.2% 48.1%,2.6% 42.7%,3.2% 37.3%,4.1% 32.1%,5.2% 27.0%,6.7% 22.2%,8.5% 17.8%,11.2% 14.3%,14.6% 12.1%,18.5% 11.1%,22.1% 10.5%,25.3% 10.1%,28.2% 9.6%,31.0% 9.6%,33.7% 10.1%,36.2% 10.8%,38.6% 11.8%,40.7% 12.8%,42.6% 13.5%,44.3% 13.7%,45.8% 13.4%,47.4% 12.9%,48.9% 12.5%,50.4% 12.3%,52.0% 12.3%,53.6% 12.5%,55.1% 12.7%,56.7% 12.9%,58.4% 12.8%,60.3% 12.4%,62.6% 10.9%,65.7% 8.0%,69.6% 4.0%,73.8% 0.9%,77.6% 0.0%,80.6% 1.4%,83.1% 4.0%,85.3% 7.3%,87.5% 10.7%,89.8% 14.2%,92.2% 17.9%,94.5% 22.0%,96.3% 26.6%,97.7% 31.7%,98.7% 37.0%,99.4% 42.4%,99.8% 48.0%,100.0% 53.6%,100.0% 59.2%,100.0% 64.9%,99.7% 70.6%,99.0% 76.1%,97.4% 81.2%,95.4% 85.9%,93.0% 90.0%,89.9% 93.0%,85.9% 94.6%,81.2% 94.6%,77.0% 93.9%,73.4% 93.5%,70.8% 93.8%,68.5% 94.5%,66.6% 95.4%,64.6% 96.2%,62.7% 96.7%,60.8% 96.9%,58.9% 96.9%,57.1% 96.7%,55.4% 96.6%,53.7% 96.6%,52.1% 96.8%,50.4% 97.0%,48.8% 97.4%,47.1% 98.0%,45.3% 98.7%,43.4% 99.3%,41.4% 99.8%,39.4% 100.0%,37.3% 100.0%,35.1% 99.7%,32.8% 99.3%,30.5% 98.7%,27.9% 98.1%,24.9% 97.9%,21.3% 97.9%,17.2% 97.8%,13.2% 96.7%,9.3% 94.7%,5.9% 91.7%,2.9% 87.7%,0.9% 82.7%,0.0% 77.0%,0.0% 71.0%,0.7% 65.0%,1.4% 59.2%);}
#workGrid .work-item{transition:clip-path 1.1s cubic-bezier(.22,1,.36,1),transform .8s var(--ease-out);will-change:clip-path;}
#workGrid .work-item:hover{transform:rotate(-.5deg);}
#workGrid .work-item .meta{padding:clamp(26px,3vw,44px) clamp(54px,7vw,104px) clamp(40px,5vw,72px) clamp(56px,7.4vw,112px)!important;}
@media(any-hover:hover){#workGrid .work-item{cursor:none;}}
.blob-cur{position:fixed;left:0;top:0;z-index:900;width:112px;height:112px;display:grid;place-items:center;pointer-events:none;background:var(--black);color:var(--white);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;text-align:center;line-height:1.4;border-radius:58% 42% 55% 45% / 48% 58% 42% 52%;
  animation:blobmorph 3.6s ease-in-out infinite;animation-play-state:paused;will-change:transform;opacity:0;}
.blob-cur.on{opacity:1;animation-play-state:running;}
@keyframes blobmorph{0%,100%{border-radius:58% 42% 55% 45% / 48% 58% 42% 52%}33%{border-radius:44% 56% 40% 60% / 58% 42% 58% 42%}66%{border-radius:52% 48% 62% 38% / 40% 60% 40% 60%}}
@media(any-hover:none){.blob-cur{display:none;}}

/* klatten "Se projekt" også på de svævende kort; den gamle tekst inde i kortene skjules, når klatten findes */


/* portrætternes navne: under den organiske form (aldrig klippet af den) */
.tcard{aspect-ratio:auto!important;overflow:visible!important;background:none!important;clip-path:none!important;}
.tcard.tc1,.tcard.tc2{clip-path:none!important;}
.tcard::before,.tcard::after{display:none!important;}
.tcard img{position:relative!important;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;}
.tcard.tc1 img{clip-path:url(#orgA);}
.tcard.tc2 img{clip-path:url(#orgB);}
.tcard-meta{position:static!important;color:var(--black)!important;padding:22px 8px 4px!important;}
.tcard-meta p{color:var(--grey-700)!important;}
@media(max-width:700px){.tcard img{aspect-ratio:4/4.6;}}

.tcard .tcard-meta{padding:22px 6px 4px 6px!important;}

/* formularens felter: selve stregerne er organiske (to nestede, let vaklende konturlinjer) */
.hform input:not([type=checkbox]),.booking-form input:not([type=checkbox]){border:0!important;border-radius:0!important;padding:19px 30px!important;
  background:url(images/logo/field.svg) no-repeat center/100% 100%!important;transition:none;}
.hform textarea,.booking-form textarea{border:0!important;border-radius:0!important;padding:26px 32px!important;min-height:160px;
  background:url(images/logo/area.svg) no-repeat center/100% 100%!important;}
.hform input:focus:not([type=checkbox]),.booking-form input:focus:not([type=checkbox]){background:url(images/logo/field-focus.svg) no-repeat center/100% 100%!important;transform:none!important;border-radius:0!important;}
.hform textarea:focus,.booking-form textarea:focus{background:url(images/logo/area-focus.svg) no-repeat center/100% 100%!important;transform:none!important;border-radius:0!important;}
.hform input:-webkit-autofill,.booking-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--white) inset;}

/* tekstlinks i organisk skrift */
.text-link .txt-lt{display:block;height:13px;width:auto;filter:brightness(0) invert(1);transition:transform .45s var(--ease-out);}
.text-link:has(.txt-lt)::after{display:none!important;}
.text-link:hover .txt-lt{transform:translateY(-1px) rotate(-2deg);}

/* "Se projekt" på de svævende kort: altid synlig over det slørede billede */
.w3c-cta{font-size:clamp(13px,1.25vw,17px);text-shadow:0 2px 18px rgba(0,0,0,.65);}
.w3c:hover .w3c-in img,.w3c:focus-visible .w3c-in img{filter:blur(9px) brightness(.5) saturate(.9);transform:scale(1.12);}
.w3c:hover .w3c-cta,.w3c:focus-visible .w3c-cta{opacity:1;transform:translateY(-50%);}
.w3c:focus-visible .w3c-in em{opacity:0;}

/* "Se projekt" vises også på touch-enheder (et tryk viser det slørede kort og teksten) */
.w3c-cta{display:block!important;}

/* tallene under "Sådan arbejder vi": dynamiske, organiske former, der drejer og ånder ved hover */
.pr-n{position:relative;isolation:isolate;display:inline-grid;place-items:center;min-width:clamp(62px,5.6vw,84px);height:clamp(44px,4vw,58px);padding:0 14px!important;border:0!important;border-radius:0!important;background:none!important;font-size:13px;}
.pr-n::before,.pr-n::after{content:'';position:absolute;inset:-14px -16px;z-index:-1;pointer-events:none;-webkit-mask:no-repeat center/100% 100%;mask:no-repeat center/100% 100%;transition:transform 1.1s var(--ease-out),opacity .5s var(--ease-out);}
.pr-n::before{background:currentColor;}
.pr-n::after{background:var(--white);opacity:0;transform:scale(.7) rotate(-18deg);}
.pr:nth-child(3n+1) .pr-n::before{-webkit-mask-image:url(images/logo/num-1.svg);mask-image:url(images/logo/num-1.svg);}
.pr:nth-child(3n+1) .pr-n::after{-webkit-mask-image:url(images/logo/num-1f.svg);mask-image:url(images/logo/num-1f.svg);}
.pr:nth-child(3n+2) .pr-n::before{-webkit-mask-image:url(images/logo/num-2.svg);mask-image:url(images/logo/num-2.svg);}
.pr:nth-child(3n+2) .pr-n::after{-webkit-mask-image:url(images/logo/num-2f.svg);mask-image:url(images/logo/num-2f.svg);}
.pr:nth-child(3n) .pr-n::before{-webkit-mask-image:url(images/logo/num-3.svg);mask-image:url(images/logo/num-3.svg);}
.pr:nth-child(3n) .pr-n::after{-webkit-mask-image:url(images/logo/num-3f.svg);mask-image:url(images/logo/num-3f.svg);}
.pr:hover .pr-n{background:none!important;color:var(--black);}
.pr:hover .pr-n::before{animation:numwob 3.6s ease-in-out infinite;}
.pr:hover .pr-n::after{opacity:1;transform:rotate(12deg) scale(1.1);}
@keyframes numwob{0%,100%{transform:rotate(10deg) scale(1.1,1.02)}50%{transform:rotate(24deg) scale(1.04,1.16)}}
@media(prefers-reduced-motion:reduce){.pr:hover .pr-n::before{animation:none}}

/* "Se projekt": eget lag oven på kortet (uden for det slørede, beskårne indre lag), løftet lidt i 3D, så det aldrig ligger bag billedet */
.w3c > .w3c-cta{position:absolute;left:0;right:0;top:50%;z-index:6;text-align:center;color:#fff;font-size:clamp(13px,1.25vw,17px);font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  text-shadow:0 2px 18px rgba(0,0,0,.7);opacity:0;transform:translate3d(0,calc(-50% + 10px),3px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);pointer-events:none;will-change:opacity,transform;}
.w3c > .w3c-cta::after{content:' →';}
.w3c:hover > .w3c-cta,.w3c.is-hover > .w3c-cta,.w3c:focus-visible > .w3c-cta{opacity:1;transform:translate3d(0,-50%,3px);}
.w3c.is-hover .w3c-in img{filter:blur(9px) brightness(.5) saturate(.9);transform:scale(1.12);}
.w3c.is-hover .w3c-in em{opacity:0;}

/* tallene: mindre, og kun linjen skifter farve (hvid, når rækken bliver sort) uden udfyldning */
.pr-n{min-width:clamp(46px,3.9vw,58px)!important;height:clamp(34px,2.9vw,42px)!important;padding:0 8px!important;font-size:12px!important;}
.pr-n::before,.pr-n::after{inset:-8px -10px!important;}
.pr-n::after{display:none!important;}
.pr:hover .pr-n{color:var(--white)!important;}

/* tallene: endnu mindre og helt stille (kun farven skifter) */
.pr-n{min-width:clamp(38px,3.2vw,48px)!important;height:clamp(28px,2.4vw,34px)!important;padding:0 6px!important;font-size:11px!important;}
.pr-n::before,.pr-n::after{inset:-5px -7px!important;transition:none!important;}
.pr:hover .pr-n::before,.pr .pr-n::before{animation:none!important;transform:none!important;}

/* ================= Hele landet: kort over Danmark ================= */
.dk{background:var(--white);padding:clamp(70px,9vw,140px) var(--gut);}
.dk-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,110px);align-items:center;max-width:1500px;margin:0 auto;}
.dk-copy h2{font-size:clamp(34px,4.6vw,68px);line-height:1.02;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;margin:12px 0 22px;}
.dk-copy p{font-size:clamp(15px,1.2vw,18px);line-height:1.65;color:var(--grey-700);max-width:44ch;}
.dk-list{margin:26px 0 8px;display:flex;flex-direction:column;gap:12px;}
.dk-list li{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:600;letter-spacing:.02em;}
.dk-dot{display:inline-block;width:14px;height:14px;background:var(--black);border-radius:58% 42% 55% 45% / 48% 58% 42% 52%;flex:none;}
.dk-dot.b{border-radius:44% 56% 40% 60% / 58% 42% 58% 42%;background:none;border:2px solid var(--black);width:14px;height:14px;}
.dk-note{margin-top:20px;font-size:14px!important;color:var(--grey-500)!important;}
.dk-map{position:relative;margin:0;width:min(100%,640px);justify-self:end;}
.dk-map>img{display:block;width:100%;height:auto;}
.dk-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.dk-route path{fill:none;stroke:var(--black);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 9;opacity:.55;vector-effect:non-scaling-stroke;}
.dk-pin{position:absolute;transform:translate(-50%,-50%);display:block;width:0;height:0;}
.dk-pin i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;background:none;border:2.5px solid var(--black);border-radius:44% 56% 40% 60% / 58% 42% 58% 42%;}
.dk-pin.base i{background:var(--black);border-radius:58% 42% 55% 45% / 48% 58% 42% 52%;}
.dk-pin i::before{content:'';position:absolute;inset:-9px;border:1.5px solid var(--black);border-radius:50%;opacity:0;}
.dk-pin em{position:absolute;left:16px;top:-9px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;}
.dk-pin.base em{left:auto;right:16px;}
/* bevægelse kun ved hover */
.dk-map:hover .dk-route path{animation:dkflow 1.4s linear infinite;opacity:.95;}
.dk-map:hover .dk-pin i::before{animation:dkpulse 1.8s ease-out infinite;}
@keyframes dkflow{to{stroke-dashoffset:-40}}
@keyframes dkpulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.1);opacity:0}}
@media(prefers-reduced-motion:reduce){.dk-map:hover .dk-route path,.dk-map:hover .dk-pin i::before{animation:none}}
@media(max-width:900px){.dk-in{grid-template-columns:1fr;}.dk-map{justify-self:center;width:min(100%,520px);}}

.dk-copy h2{text-wrap:balance;}

/* ================= Danmark bag kontaktformularen: kun BK som prik og streger ud til steder i landet ================= */
.ct,.contact.section-pad{position:relative;overflow:hidden;}
.dk-bg{position:absolute;right:3%;top:50%;transform:translateY(-50%);height:min(560px,54vw);aspect-ratio:993/975;z-index:0;pointer-events:none;}
.dk-bg>img{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.17;}
.dk-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.dk-lines path{fill:none;stroke:var(--black);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:2 8;opacity:.5;vector-effect:non-scaling-stroke;}
.dk-lines .dot{fill:var(--black);}
.dk-lines .pulse{fill:none;stroke:var(--black);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;vector-effect:non-scaling-stroke;}
.dk-bg em{position:absolute;transform:translate(-50%,-50%);font-style:normal;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;opacity:.42;}
.dk-bg em.r{transform:translate(10px,-50%);}
.dk-bg em.l{transform:translate(calc(-100% - 10px),-50%);}
.dk-bg em.bk{opacity:.85;transform:translate(-112%,-165%);font-size:11px;}
.ct>.ct-grid,.contact.section-pad>.booking-grid{position:relative;z-index:1;}
/* bevægelse kun ved hover over sektionen */
.ct:hover .dk-lines path,.contact.section-pad:hover .dk-lines path{animation:dkflow 1.6s linear infinite;opacity:.8;}
.ct:hover .dk-lines .pulse,.contact.section-pad:hover .dk-lines .pulse{animation:dkpulse2 2s ease-out infinite;}
@keyframes dkpulse2{0%{transform:scale(.8);opacity:.7}100%{transform:scale(2.6);opacity:0}}
@media(prefers-reduced-motion:reduce){.ct:hover .dk-lines path,.ct:hover .dk-lines .pulse,.contact.section-pad:hover .dk-lines path,.contact.section-pad:hover .dk-lines .pulse{animation:none}}
@media(max-width:900px){.dk-bg em:not(.bk){display:none;}}

/* justering: hele Danmark kan ses; stednavnene vises først ved hover, så de ikke roder med formularens labels */
.dk-bg em:not(.bk){opacity:0;transition:opacity .5s var(--ease-out);}
.ct:hover .dk-bg em:not(.bk),.contact.section-pad:hover .dk-bg em:not(.bk){opacity:.55;}
.dk-bg>img{opacity:.2;}
@media(max-width:900px){.dk-bg>img{opacity:.16;}}
