/* ===================== style.css ===================== */
/* Inter (variabel, 300–700, latin) — hostes selv, ingen forbindelse til Google. Licens: fonts/OFL.txt */
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/inter-latin-300-700.woff2) format('woff2');}
:root{
    --black:#141414;
    --near-black:#0c0c0c;
    --white:#f7f7f5;
    --grey-700:#3a3a3a;
    --grey-500:#6e6e6e;
    --grey-300:#a6a6a6;
    --grey-100:#dedede;
    --line-dark:rgba(247,247,245,0.2);
    --line-light:rgba(20,20,20,0.15);
    --ease:cubic-bezier(.22,.61,.36,1);
    --dur-slow: 1.1s;
    --dur-med: .6s;
  }

  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--white);
    color:var(--black);
    font-family:'Inter',sans-serif;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block;width:100%;height:100%;object-fit:cover;}
  a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;}
  a:focus, button:focus{outline:none;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--grey-300);outline-offset:3px;}
  button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;}
  ul{list-style:none;}

  .eyebrow{
    font-size:11px;letter-spacing:.28em;
    color:var(--grey-500);font-weight:500;
  }
  .eyebrow.light{color:var(--grey-300);}

  h1,h2,h3{font-family:'Inter',sans-serif;font-weight:700;line-height:1.08;letter-spacing:-0.015em;}

  .section-pad{padding:min(15vw,170px) min(5.5vw,84px);}

  /* ---------- grain overlay ---------- */
  .grain{
    position:fixed;inset:0;pointer-events:none;z-index:9998;
    opacity:.02;mix-blend-mode:overlay;
    background-size:220px 220px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* ---------- aperture intro ---------- */
  #intro{
    position:fixed;inset:0;background:var(--black);z-index:9999;
    display:flex;align-items:center;justify-content:center;
    transition:opacity .8s var(--ease), visibility .8s var(--ease);
  }
  #intro.hide{opacity:0;visibility:hidden;}
  
  
  
  
  
  
  
  
  
  .intro-mark{
    opacity:1;transition:opacity .4s ease;
    display:flex;align-items:center;justify-content:center;
  }
  .intro-mark img{
    width:clamp(110px,14vw,180px);height:auto;display:block;
    filter:brightness(0) invert(1);
  }
  #intro.open .intro-mark{opacity:0;}

  /* ---------- header ---------- */
  header.site-header{
    position:fixed;top:0;left:0;right:0;z-index:500;
    display:flex;align-items:center;justify-content:space-between;
    padding:28px min(5.5vw,84px);
    mix-blend-mode:difference;
  }
  .logo-mark{
    display:flex;align-items:center;justify-content:flex-start;width:54px;height:40px;overflow:visible;
  }
  .logo-mark img{
    width:42px;height:auto;display:block;
    filter:brightness(0) invert(1);
  }
  .header-right{display:flex;align-items:center;gap:32px;}
  nav.primary-nav ul{display:flex;gap:34px;}
  nav.primary-nav a{
    font-size:12px;letter-spacing:.22em;color:var(--white);
    position:relative;padding-bottom:4px;
  }
  nav.primary-nav a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--white);
    transition:width .35s var(--ease);
  }
  nav.primary-nav a:hover::after{width:100%;}
  .nav-book-mobile{display:none;}
  .menu-btn{display:none;flex-direction:column;gap:5px;z-index:600;}
  .menu-btn span{width:24px;height:1px;background:var(--white);display:block;}
  .book-btn{
    display:inline-flex;align-items:center;
    border:1px solid var(--white);background:transparent;color:var(--white);
    font-size:11px;letter-spacing:.16em;
    padding:11px 22px;
    transition:opacity .3s var(--ease);
  }
  .book-btn::after{
    content:'→';display:inline-block;max-width:0;opacity:0;overflow:hidden;
    transition:max-width .3s var(--ease), opacity .25s var(--ease), margin-left .3s var(--ease);
  }
  .book-btn:hover{opacity:.7;}
  .book-btn:hover::after{max-width:16px;opacity:1;margin-left:8px;}

  /* Hero CTA — same transparent outline treatment as the header's "Book os" button */
  .cta-btn-outline{
    display:inline-flex;align-items:center;
    border:1px solid var(--white);background:transparent;color:var(--white);
    font-size:12px;letter-spacing:.16em;
    padding:18px 40px;
    transition:opacity .3s var(--ease), background .3s var(--ease);
  }
  .cta-btn-outline span{color:var(--white);}
  .cta-btn-outline::after{
    content:'→';display:inline-block;max-width:0;opacity:0;overflow:hidden;color:var(--white);
    transition:max-width .3s var(--ease), opacity .25s var(--ease), margin-left .3s var(--ease);
  }
  .cta-btn-outline:hover{opacity:.7;}
  .cta-btn-outline:hover::after{max-width:20px;opacity:1;margin-left:10px;}

  @media (max-width:820px){
    .header-right{gap:0;}
    nav.primary-nav{
      position:fixed;inset:0;background:var(--black);
      display:flex;align-items:center;justify-content:center;
      transform:translateY(-100%);transition:transform .5s var(--ease);
      mix-blend-mode:normal;
    }
    nav.primary-nav.open{transform:translateY(0);}
    nav.primary-nav ul{flex-direction:column;text-align:center;gap:28px;}
    nav.primary-nav a{color:var(--white);font-size:22px;font-family:'Inter',sans-serif;font-weight:600;letter-spacing:normal;}
    .menu-btn{display:flex;}
    .book-btn{display:none;}
    .nav-book-mobile{display:list-item;}
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;height:100vh;min-height:640px;overflow:hidden;
    display:flex;flex-direction:column;
  }
  
  
  
  .hero::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.15) 0%, rgba(0,0,0,.1) 40%, rgba(0,0,0,.75) 100%);
  }
  
  
  
  
  
  
  
  
  
  
  @keyframes riseIn{to{opacity:1;transform:translateY(0);}}
  
  
  
  
  

  /* Laptop-height screens (e.g. 16" displays with limited browser viewport height):
     tighten the top padding and title size a little so nothing crowds the fold. */
  
  

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- section headings ---------- */
  .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
    margin-bottom:min(6vw,64px);flex-wrap:wrap;}
  .section-head h2{font-size:clamp(40px,7vw,84px);}
  .section-head p{max-width:340px;font-size:14px;color:var(--grey-500);line-height:1.7;}
  .section-head .head-title{display:flex;flex-direction:column;}
  .section-head .head-title .eyebrow{display:block;margin-bottom:14px;}
  
  

  /* ---------- intro statement ---------- */
  
  
  
  
  
  

  /* ---------- see all link ---------- */
  
  
  

  /* ---------- work grid ---------- */
  .work{background:var(--white);}
  .work-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:min(2.2vw,26px);
  }
  .work-item{position:relative;overflow:hidden;cursor:pointer;background:var(--near-black);}
  .work-item .frame{position:relative;width:100%;height:100%;overflow:hidden;}
  .work-item img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.035) saturate(1.025);transition:transform 1.4s var(--ease), filter .6s ease;}
  .work-item img.image-error{visibility:hidden;}
  

  .work-item:hover img{transform:scale(1.07);}
  .work-item .veil{
    position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%, rgba(0,0,0,.82) 100%);
  }
  /* Vildbjerg: small origin/logo mark appears on hover */
  .project-origin{
    position:absolute;
    left:50%;top:50%;
    width:44%;max-width:220px;aspect-ratio:1/1;height:auto;
    transform:translate(-50%,-46%) scale(.72);
    opacity:0;
    z-index:3;
    display:flex;align-items:center;justify-content:center;
    transition:opacity .45s var(--ease), transform .55s var(--ease);
    pointer-events:none;
  }
  .project-origin img{
    width:100%;height:100%;object-fit:contain;
    filter:drop-shadow(0 8px 20px rgba(0,0,0,.28));
  }
  .project-origin.logo-missing{display:none;}
  .work-item:hover .project-origin{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }
  @media (max-width:560px){
    .project-origin{width:54%;max-width:180px;}
  }
  .work-item .meta{
    position:absolute;left:0;right:0;bottom:0;padding:22px 24px;color:var(--white);
    display:block;
  }
  .work-item .meta h3{font-size:clamp(22px,2.6vw,34px);margin-bottom:8px;}
  .work-item .meta > div{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .work-item .meta .cat{font-size:11px;letter-spacing:.2em;color:var(--grey-100);}
  .work-item .meta .yr{font-size:12px;color:var(--grey-300);font-family:'Inter',sans-serif;margin:0;}
  .work-item.p1,.work-item.p2,.work-item.p3{grid-column:span 1;aspect-ratio:16/10;}
  
  @media (max-width:900px){
    .work-page .work-grid .work-item{transform:none;}
    .work-grid{grid-template-columns:repeat(2,1fr);}
    .work-item.p1{grid-column:span 2;aspect-ratio:4/3.2;}
    .work-item.p2,.work-item.p3{grid-column:span 1;aspect-ratio:3/4;}
  }
  @media (max-width:560px){
    .work-grid{grid-template-columns:1fr;}
    .work-item{grid-column:span 1 !important;aspect-ratio:4/3.6 !important;}
  }

  /* ---------- arbejde: let forskudt portfolio-layout ---------- */
@media (min-width:901px){
  .work-page .work-grid{align-items:start;}
  .work-page .work-grid .work-item:nth-child(2),
  .work-page .work-grid .work-item:nth-child(4){
    transform:translateY(min(5vw,64px));
  }
  .work-page .work-grid .work-item:nth-child(3){
    transform:translateY(min(1.8vw,24px));
  }
}

/* ---------- about ---------- */
  
  
  
  
  
  
  

  /* ---------- why us ---------- */
  
  
  
  
  
  
  

  /* ---------- process ---------- */
  
  
  
  
  
  
  
  
  
  
  
  

  /* ---------- founders ---------- */
  
  .founder h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:8px;}
  
  .founder p:not(.founder-role){font-family:'Inter',sans-serif;font-size:clamp(16px,1.45vw,18px);font-weight:300;color:var(--grey-700);line-height:1.8;max-width:520px;}
  .founder p strong{font-weight:300;}
  

  .founder-social{
    position:relative;display:inline-block;margin-top:6px;padding-bottom:3px;
    font-size:12px;letter-spacing:.16em;color:var(--grey-700);
    transition:color .3s var(--ease);
  }
  .founder-social::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s var(--ease);}
  .founder-social:hover{color:var(--black);}
  .founder-social:hover::after{width:100%;}

  /* ---------- founder profile photos ---------- */
  
  
  
  
  
  
  /* ---------- booking form ---------- */
  .booking-grid{
    display:grid;grid-template-columns:.85fr 1fr;gap:min(7vw,80px);max-width:1160px;
    margin:min(4vw,40px) auto 0 auto;align-items:start;
  }
  @media (max-width:820px){
    .booking-grid{grid-template-columns:1fr;gap:56px;}
  }
  .booking-intro .eyebrow{display:block;margin-bottom:18px;}
  .booking-intro h1{font-size:clamp(36px,5.6vw,64px);margin-bottom:20px;}
  .booking-intro p{font-size:clamp(16px,1.8vw,19px);color:var(--grey-100);line-height:1.7;
    max-width:420px;font-weight:300;margin-bottom:34px;}
  .booking-note{font-size:13px !important;color:var(--grey-500) !important;
    margin-top:34px !important;max-width:320px;line-height:1.7 !important;}
  .form-row{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:22px;}
  .booking-form label, .form-full{
    display:flex;flex-direction:column;gap:10px;font-size:11px;letter-spacing:.18em;
    color:var(--grey-500);
  }
  .form-full{margin-bottom:28px;}
  .label-text{display:block;}
  .booking-form label .optional{text-transform:none;letter-spacing:0;color:var(--grey-500);font-weight:400;margin-left:6px;}
  .booking-form input, .booking-form select, .booking-form textarea{
    background:transparent;border:none;border-bottom:1px solid var(--line-dark);
    color:var(--white);font-family:'Inter',sans-serif;font-size:15px;font-weight:300;
    padding:10px 0;letter-spacing:normal;text-transform:none;border-radius:0;
  }
  .booking-form select{appearance:none;-webkit-appearance:none;cursor:pointer;}
  .booking-form select option{background:var(--near-black);color:var(--white);}
  .booking-form input:focus, .booking-form select:focus{
    outline:none;border-bottom-color:var(--white);
  }
  /* textareas get a full box instead of a lone underline, so the writing
     area matches where the border actually sits — a bottom-only line looks
     disconnected once the field spans several lines. */
  .booking-form textarea{
    resize:vertical;min-height:120px;
    border:1px solid var(--line-dark);border-radius:3px;
    padding:14px 16px;
  }
  .booking-form textarea:focus{outline:none;border-color:var(--white);}
  .booking-form textarea::placeholder{color:var(--grey-500);font-family:'Inter',sans-serif;}
  .booking-form .cta-btn{margin-top:10px;}
  .form-submit-row{display:flex;align-items:center;gap:min(4vw,32px);flex-wrap:wrap;margin-top:10px;}
  .form-submit-row .cta-btn{margin-top:0;}
  
  
  
  .form-status{margin-top:20px;font-size:13px;color:var(--grey-300);min-height:18px;}

  /* ---------- contact people card (left column) ---------- */
  .contact-people{display:flex;gap:18px;align-items:flex-start;margin-top:8px;}
  .cp-photos{display:flex;flex-shrink:0;}
  .cp-photos img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--white);
    box-shadow:0 2px 10px rgba(20,20,20,.14);}
  .cp-photos img:nth-child(2){margin-left:-16px;}
  .cp-info h3{font-family:'Inter',sans-serif;font-size:16px;font-weight:600;margin-bottom:4px;}
  .cp-role{font-size:12px;letter-spacing:.1em;color:var(--grey-500);margin-bottom:10px;}
  .cp-info .cp-line{display:block;font-size:14px;color:var(--grey-700);line-height:1.7;}
  .cp-info a.cp-line{position:relative;width:fit-content;padding-bottom:1px;}
  .cp-info a.cp-line::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s var(--ease);}
  .cp-info a.cp-line:hover{color:var(--black);}
  .cp-info a.cp-line:hover::after{width:100%;}

  /* ---------- contact ---------- */
  .contact{background:var(--black);color:var(--white);text-align:left;}
  .contact h2{font-size:clamp(48px,10vw,140px);margin-bottom:40px;}
  
  
  
  .cta-btn{
    background:var(--white);color:var(--black);border:none;
    padding:18px 40px;font-size:12px;letter-spacing:.16em;
    display:inline-flex;align-items:center;
    transition:opacity .3s var(--ease);
  }
  .cta-btn span{color:var(--black);}
  .cta-btn::after{
    content:'→';display:inline-block;max-width:0;opacity:0;overflow:hidden;color:var(--black);
    transition:max-width .3s var(--ease), opacity .25s var(--ease), margin-left .3s var(--ease);
  }
  .cta-btn:hover{opacity:.82;}
  .cta-btn:hover::after{max-width:20px;opacity:1;margin-left:10px;}

  /* ---------- footer ---------- */
  footer{
    background:var(--black);color:var(--white);
    padding:min(6vw,64px) min(5.5vw,84px) 30px;
    border-top:1px solid var(--line-dark);
  }
  .footer-top{
    display:flex;justify-content:space-between;gap:44px;flex-wrap:wrap;
    padding-bottom:40px;border-bottom:1px solid var(--line-dark);margin-bottom:24px;
  }
  .footer-brand .fmark{display:block;color:var(--white);
    font-size:22px;letter-spacing:.15em;margin-bottom:10px;}
  .footer-brand .ftag{display:block;font-size:11px;letter-spacing:.2em;
    color:var(--white);margin-bottom:16px;}
  .footer-brand .ftagline{font-size:14px;color:var(--white);max-width:260px;line-height:1.6;
    font-family:'Inter',sans-serif;font-weight:300;}
  .footer-heading{display:block;font-size:11px;letter-spacing:.2em;
    color:var(--grey-300);margin-bottom:16px;font-weight:500;}
  .footer-nav, .footer-social, .footer-contact{display:flex;flex-direction:column;gap:11px;font-size:13px;}
  .footer-nav a, .footer-social a, .footer-contact a{
    position:relative;display:inline-block;width:fit-content;padding-bottom:2px;
    transition:color .3s var(--ease);color:var(--grey-100);
  }
  .footer-nav a::after, .footer-social a::after, .footer-contact a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;
    transition:width .3s var(--ease);
  }
  .footer-nav a:hover, .footer-social a:hover, .footer-contact a:hover{color:var(--white);}
  .footer-nav a:hover::after, .footer-social a:hover::after, .footer-contact a:hover::after{width:100%;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
    gap:14px;font-size:11px;letter-spacing:.03em;}
  .footer-legal{display:flex;gap:22px;}
  .footer-legal a{color:var(--grey-300);transition:color .3s var(--ease);}
  .footer-legal a:hover{color:var(--white);}
  @media (max-width:600px){.footer-top{flex-direction:column;gap:28px;}}

  /* ---------- project overlay ---------- */
  .overlay{
    position:fixed;inset:0;background:var(--white);color:var(--black);z-index:800;
    transform:translateY(100%);transition:transform .7s var(--ease);
    overflow-y:auto;
  }
  .overlay.open{transform:translateY(0);}
  .overlay-close{
    position:fixed;top:28px;right:min(5.5vw,84px);z-index:820;
    width:44px;height:44px;border:1px solid var(--line-dark);border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:var(--white);
    font-size:18px;background:rgba(11,11,12,.4);
  }
  
  
  
  
  
  
  .ov-body{padding:min(8vw,90px) min(5.5vw,84px);}
  .ov-info{
    display:block;margin-bottom:min(5vw,52px);
  }
  .ov-info p{font-size:clamp(16px,2vw,20px);line-height:1.75;color:var(--grey-700);font-weight:300;max-width:640px;}
  .ov-info p:empty{display:none;}
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .ov-next{border-top:1px solid var(--line-light);padding-top:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:opacity .25s ease, transform .25s ease;}
  .ov-next:hover{opacity:.72;transform:translateY(-2px);}
  .ov-next:active{transform:translateY(0);}
  .ov-next .eyebrow{margin-bottom:8px;}
  .ov-next h3{font-size:clamp(28px,4vw,44px);}
  @media (max-width:820px){ .ov-info{grid-template-columns:1fr;}  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  }

  .footer-brand .fmark img{
    width:78px;height:auto;display:block;
    filter:brightness(0) invert(1);
  }

/* ---------- multi-page layout ---------- */
.page-hero{
  min-height:68vh; background:var(--black); color:var(--white); display:flex; align-items:flex-end;
  padding:150px min(5.5vw,84px) 80px; position:relative; overflow:hidden;
}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72));pointer-events:none;}

.page-hero h1{font-size:clamp(42px,7.2vw,100px);margin-top:20px;}
.page-hero p:not(.eyebrow){max-width:580px;color:var(--grey-300);font-size:17px;line-height:1.7;margin-top:28px;}

@media(max-width:820px){.page-hero{min-height:58vh;padding:130px 7vw 60px}}

/* ---------- BK+ logo lockup ---------- */
.logo-mark{width:auto;min-width:0;gap:0;}
.logo-mark::after{content:none;}
.logo-mark img{width:68px;}
.footer-brand .fmark{display:block;}
.footer-brand .fmark::after{content:none;}

/* Full-bleed media can intentionally escape the content margins. */

@media(max-width:820px){.section-pad{padding-left:7vw;padding-right:7vw}}

/* Portfolio spacing and responsive masonry */
@media (max-width:820px){
  .work-grid{grid-template-columns:1fr;}
}

/* ---------- team teaser (homepage) ---------- */

/* ---------- process: 3-step variant ---------- */

/* ---------- flip solid dark chapters to beige — footer stays dark ---------- */

.contact{background:var(--white);color:var(--black);}
.contact .booking-intro p{color:var(--grey-700);}
.contact .booking-note{color:var(--grey-500) !important;}

.contact .booking-form label, .contact .form-full{color:var(--grey-500);}
.contact .booking-form input, .contact .booking-form select, .contact .booking-form textarea{
  color:var(--black);border-bottom:1px solid var(--line-light);
}
.contact .booking-form input:focus, .contact .booking-form select:focus{
  border-bottom-color:var(--black);
}
.contact .booking-form textarea{border:1px solid var(--line-light);}
.contact .booking-form textarea:focus{border-color:var(--black);}
.contact .booking-form select option{background:var(--white);color:var(--black);}

/* ---------- meet the two of us (contact page, zig-zag) ---------- */

/* ---------- discreet legal page (no header/hero chrome) ---------- */
.legal-page{max-width:760px;margin:0 auto;padding:min(12vw,110px) min(5.5vw,84px) min(12vw,130px);}
.legal-back{position:relative;display:inline-block;padding-bottom:2px;font-size:13px;color:var(--grey-500);margin-bottom:44px;transition:color .3s var(--ease);}
.legal-back::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s var(--ease);}
.legal-back:hover{color:var(--black);}
.legal-back:hover::after{width:100%;}
.legal-title{font-size:clamp(34px,5vw,52px);margin:14px 0 38px;}
.legal-body p{font-size:15px;line-height:1.85;color:var(--grey-700);font-weight:300;margin-bottom:22px;max-width:620px;}
.legal-body a{color:var(--black);text-decoration:underline;text-underline-offset:3px;}
@media (max-width:820px){.legal-page{padding:70px 7vw 90px;}}

/* ---------- boxed CTA (contained dark card, not full-bleed) ---------- */

.contact.no-hero{padding-top:min(15vw,190px);}
@media (max-width:820px){
  .contact.no-hero{padding-top:132px;}
}

/* ---------- book us: 5-step wizard ---------- */
.wizard-pane{display:none;}
.wizard-pane.active{display:block;animation:riseIn .5s var(--ease);}

.wizard-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.16em;color:var(--grey-500);
  transition:color .3s var(--ease);
}
.wizard-back:hover{color:var(--white);}
.wizard-back[hidden]{display:none;}
.wizard-next[hidden], .wizard-submit[hidden]{display:none;}
.wizard-next, .wizard-submit{margin-left:auto;}
.wizard-next:disabled, .wizard-submit:disabled{opacity:.32;cursor:not-allowed;}
.wizard-next:disabled:hover, .wizard-submit:disabled:hover{opacity:.32;}
.wizard-next:disabled::after, .wizard-submit:disabled::after{max-width:0 !important;opacity:0 !important;margin-left:0 !important;}

.wizard-summary{
  margin-top:6px;padding:22px 24px;background:rgba(247,245,239,.04);border:1px solid var(--line-dark);
  display:flex;flex-direction:column;gap:11px;font-size:13px;color:var(--grey-300);
}
.wizard-summary-row{display:flex;justify-content:space-between;gap:20px;line-height:1.5;}
.wizard-summary-row span:first-child{color:var(--grey-500);flex-shrink:0;}
.wizard-summary-row span:last-child{color:var(--white);text-align:right;}

/* ---------- selected jobs: warm beige presentation ---------- */

/* Keep the selected-work block on the front page slightly more compact */

/* Two projects, side by side and gently staggered rather than one full-width under the other */

/* ---------- 2026 refinement: smaller homepage CTA + full-height mark ---------- */

/* ---------- Book os: editorial, premium and beige ---------- */
.book{
  background:var(--white);
  color:var(--black);
  text-align:left;
  border-top:1px solid var(--line-light);
}
.book.no-hero{padding-top:clamp(120px,13vw,175px);}
.book-lead{
  max-width:410px;
  font-size:clamp(16px,1.45vw,18px);
  line-height:1.75;
  color:var(--grey-700);
}
.book #bookingForm label,
.book #bookingForm .form-full{color:var(--grey-500);}
.book #bookingForm input,
.book #bookingForm select,
.book #bookingForm textarea{
  color:var(--black);
  border-bottom-color:var(--line-light);
}
.book #bookingForm input:focus,
.book #bookingForm select:focus{border-bottom-color:var(--black);}
.book #bookingForm textarea{border:1px solid var(--line-light);}
.book #bookingForm textarea:focus{outline:none;border-color:var(--black);}
.book #bookingForm textarea::placeholder{color:#99988f;}
.book .wizard-back{color:var(--grey-500);}
.book .wizard-back:hover{color:var(--black);}
.book .wizard-next,
.book .wizard-submit{
  background:var(--black);
  color:var(--white);
}
.book .wizard-next span,
.book .wizard-submit span{color:var(--white);}
.book .wizard-summary{
  background:rgba(20,20,20,.035);
  border-color:var(--line-light);
  color:var(--grey-700);
}
.book .wizard-summary-row span:first-child{color:var(--grey-500);}
.book .wizard-summary-row span:last-child{color:var(--black);}
.wizard-privacy{
  margin-top:16px;
  font-size:10px;
  line-height:1.6;
  color:var(--grey-500);
  max-width:48ch;
}
.book .form-status{color:var(--grey-500);}

/* ---------- responsive polish across phones / tablets ---------- */
@media(max-width:1100px){
  .site-header{padding-left:6vw!important;padding-right:6vw!important;}
  
  
}
@media(max-width:820px){
  html{overflow-x:hidden;}
  body{min-width:0;}
  .site-header{padding-top:18px!important;padding-bottom:18px!important;}
  .logo-mark{height:40px;}
  .logo-mark img{width:54px;}
  .menu-btn{padding:10px 4px;}
  .hero{
    height:100svh;
    min-height:560px;
  }
  
  
  
  
  .cta-btn-outline{padding:15px 24px;font-size:11px;}
  
  .page-hero{
    min-height:62svh;
    padding:125px 7vw 58px;
  }
  .page-hero h1{font-size:clamp(40px,11vw,74px);}
  .page-hero p:not(.eyebrow){font-size:15px;max-width:38ch;}
  .section-head{gap:20px;}
  .section-head h2{font-size:clamp(42px,12vw,72px);}
  .work-grid{grid-template-columns:1fr;}
  
  
  
  
  .book.no-hero{padding-top:112px;}
}
@media(max-width:560px){
  .site-header{padding-left:5vw!important;padding-right:5vw!important;}
  .logo-mark img{width:50px;}
  nav.primary-nav ul{gap:24px;}
  nav.primary-nav a{font-size:20px;}
  .hero{min-height:520px;}
  
  
  
  
  .section-pad{padding-top:92px;padding-bottom:92px;}
  
  .work-item.p1,.work-item.p2,.work-item.p3{
    grid-column:span 1;
    aspect-ratio:4/3;
  }
  .work-item .meta{padding:18px;}
  .work-item .meta h3{font-size:25px;}
  
  
  
  
  .book.no-hero{padding-top:102px;}
  .book-lead{font-size:15px;}
  .wizard-summary{padding:18px;}
  .wizard-summary-row{display:grid;grid-template-columns:1fr;gap:3px;}
  .wizard-summary-row span:last-child{text-align:left;}
  .wizard-next,.wizard-submit{padding-left:20px!important;padding-right:20px!important;}
}
@media(max-width:380px){
  
  .page-hero h1{font-size:42px;}
}
@media(any-hover:none){
  .work-item:hover img{transform:none;}
  .project-origin{opacity:0;transform:translate(-50%,-50%) scale(.82);}
  .work-item:active .project-origin{opacity:1;transform:translate(-50%,-50%) scale(.95);}
  .nav-link:hover::after{width:0;}
}

/* ---------- Hero slideshow ---------- */

/* ---------- Final polish: flatter homepage CTA + stronger hero readability ---------- */

/* Keep the homepage "Book os / næste projekt" banner wide and deliberately flat. */

/* A layered overlay keeps white hero copy readable even when a slideshow frame
   contains a bright sky/wall/subject behind the text. */
.hero::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.42) 28%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.04) 100%),
    linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.04) 42%,rgba(0,0,0,.72) 100%);
}

/* Give the slideshow a tiny bit more visual depth without affecting the images. */

/* ---------- Booking UX improvements ---------- */
.book .wizard-next,
.book .wizard-submit{
  min-height:48px;
  padding:13px 24px;
}
.book .wizard-back{
  min-height:48px;
  padding:13px 4px;
}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

.book .form-status{
  min-height:20px;
  margin-top:12px;
}
@media(max-width:560px){
  .book .wizard-next,
  .book .wizard-submit{
    min-height:46px;
    padding:12px 18px;
  }
}

/* ---------- final visual refinements ---------- */
/* Flatter, wider booking CTA aligned with the site's content margins. */

/* Cropped BK mark now fills the header vertically without the old transparent border. */
.logo-mark{width:44px;height:44px;align-items:center;overflow:hidden;}
.logo-mark img{width:auto;height:44px;max-width:none;object-fit:contain;}

/* Larger team photos on the homepage. */

/* Make the longer founder copy on Om os feel like the same normal Inter body text used elsewhere. */

@media (max-width:820px){
  .logo-mark{width:40px;height:40px;}
  .logo-mark img{height:40px;}
  
  
  
  
  
}

/* ---------- Homepage CTA: edge-to-edge box, shorter, full-bleed cropped logo backdrop ---------- */

/* ---------- Centered hero composition (rotating background kept, layout centered like reference) ---------- */

.hero::before{
  z-index:1;
  background:
    radial-gradient(ellipse 60% 55% at 50% 42%,rgba(0,0,0,.5) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.08) 75%),
    linear-gradient(180deg,rgba(0,0,0,.45) 0%, rgba(0,0,0,.32) 40%, rgba(0,0,0,.85) 100%);
}

.form-status{
  transition:background-color .3s var(--ease), color .3s var(--ease);
}
.form-status.is-success,
.form-status.is-error{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:12px 18px;
  border-radius:10px;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
}
.form-status.is-success{
  color:#1f5c3f;
  background:#dcefe2;
}
.form-status.is-success::before{
  content:"✓";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#1f5c3f;
  color:#fff;
  font-size:12px;
  flex:none;
}
.form-status.is-error{
  color:#7a2b1d;
  background:#f5ddd7;
}
.form-status.is-error::before{
  content:"!";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#7a2b1d;
  color:#fff;
  font-size:12px;
  font-weight:800;
  flex:none;
}
@media (max-width:560px){
  .form-status.is-success,
  .form-status.is-error{
    font-size:14px;
    padding:10px 14px;
  }
}

/* ================================================================
   2026 completeness pass — new homepage sections
   (hero facts, offerings, spotlight mosaic, FAQ)
   ================================================================ */

/* ---------- hero facts (bottom-left of hero, mirrors scroll-indicator) ---------- */

/* ---------- offerings grid ---------- */

/* ---------- outline button (dark text/border — for light sections) ---------- */

/* ---------- spotlight mosaic ---------- */

/* ---------- process step circle badges ---------- */

/* ---------- FAQ accordion ---------- */
.faq{background:var(--white);border-top:1px solid var(--line-light);}
.faq .section-head{justify-content:center;}
.faq .head-title{align-items:center;text-align:center;}
.faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--line-light);}
.faq-item{border-bottom:1px solid var(--line-light);}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:22px 4px;font-family:'Inter',sans-serif;
  font-size:clamp(15.5px,1.7vw,18px);font-weight:500;color:var(--black);
  -webkit-tap-highlight-color:transparent;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::marker{content:'';}
.faq-icon{position:relative;width:18px;height:18px;flex-shrink:0;transition:transform .3s var(--ease);}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;background:var(--black);}
.faq-icon::before{width:14px;height:1px;transform:translate(-50%,-50%);}
.faq-icon::after{width:1px;height:14px;transform:translate(-50%,-50%);}
.faq-item[open] .faq-icon{transform:rotate(45deg);}
.faq-answer{padding:0 26px 24px 4px;max-width:620px;}
.faq-answer p{font-size:14.5px;line-height:1.75;color:var(--grey-700);font-weight:300;}
.faq-answer a{color:var(--black);text-decoration:underline;text-underline-offset:3px;}
.faq-answer a:hover{color:var(--grey-700);}
@media (max-width:560px){
  .faq-item summary{padding:18px 2px;gap:16px;}
  .faq-answer{padding:0 20px 20px 2px;}
}

/* ================================================================
   Book us — redesigned 5-step wizard (card-grid step 1, boxed shell)
   ================================================================ */
.book-page-shell{
  width:min(100%,760px);
  margin:0 auto;
  display:flex;flex-direction:column;align-items:center;
}
.book-intro-mini{max-width:560px;text-align:center;margin-bottom:min(6vw,54px);}
.book-intro-mini .eyebrow{display:block;margin-bottom:16px;}
.book-intro-mini h1{
  font-size:clamp(30px,4vw,44px);
  max-width:16ch;margin:0 auto 18px;
}
.book-intro-mini .book-lead{max-width:440px;margin:0 auto;}

.wiz-box{
  width:100%;
  background:var(--white);
  border:1px solid var(--line-light);
  padding:clamp(26px,4vw,48px);
}
.wiz-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;}
.wiz-step-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-500);}
.wiz-step-label strong{color:var(--black);font-weight:600;}
.wiz-dashes{display:flex;align-items:center;gap:7px;}
.wiz-dash{width:32px;height:3px;background:var(--line-light);transition:background .3s var(--ease);}
.wiz-dash.done{background:var(--black);}
.wiz-divider{height:1px;background:var(--line-light);margin-bottom:min(6vw,40px);}

.wiz-heading{font-size:clamp(24px,3vw,32px);margin-bottom:8px;max-width:22ch;}
.wiz-hint{font-size:13px;color:var(--grey-500);margin:10px 0 26px;max-width:48ch;line-height:1.6;}
.wizard-pane:has(.wiz-hint) .wiz-heading{margin-bottom:0;}

.option-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;}
.option-card{
  position:relative;display:flex;flex-direction:column;gap:6px;
  padding:20px 22px;border:1px solid var(--line-light);cursor:pointer;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.option-card input{position:absolute;opacity:0;width:1px;height:1px;}
.oc-title{font-family:'Inter',sans-serif;font-size:15px;font-weight:600;color:var(--black);transition:color .3s var(--ease);}
.oc-sub{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:300;color:var(--grey-500);line-height:1.5;transition:color .3s var(--ease);}
.option-card:hover{border-color:var(--black);}
.option-card:has(input:checked){background:var(--black);border-color:var(--black);}
.option-card:has(input:checked) .oc-title{color:var(--white);}
.option-card:has(input:checked) .oc-sub{color:var(--grey-300);}
.option-card input:focus-visible{outline:none;}
.option-card:has(input:focus-visible){outline:2px solid var(--grey-300);outline-offset:3px;}
@media (max-width:640px){.option-cards{grid-template-columns:1fr;}}

.wiz-bottom{
  display:flex;align-items:center;gap:22px;
  margin-top:min(6vw,40px);padding-top:min(4vw,28px);
  border-top:1px solid var(--line-light);
}
.book .wiz-bottom .wizard-next,
.book .wiz-bottom .wizard-submit{margin-left:0;}

.book-people-mini{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-top:min(6vw,40px);text-align:left;
}
.book-people-mini p{font-size:13.5px;color:var(--grey-500);line-height:1.5;}
.book-people-mini p strong{color:var(--black);font-weight:600;}
.book-people-mini a{color:var(--black);text-decoration:underline;text-underline-offset:3px;}

@media (max-width:560px){
  .wiz-box{padding:24px 20px;}
  .wiz-topbar{flex-direction:column;align-items:flex-start;gap:12px;}
  .option-card{padding:17px 18px;}
  .book-people-mini{flex-direction:column;text-align:center;gap:10px;}
}


/* ===================== v2.css ===================== */
/* 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;}

.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{background:var(--white);color:var(--black);border-color:var(--white);}
.btn-w::before{background:var(--black);}
.btn-w: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%);}

/* ---------- intro-tæppe, sidetransition, scroll-linje ---------- */

.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:-200px;top:-200px;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::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;}

/* 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 ---------- */

/* ---------- stablede ydelseskort ---------- */
.pns{padding:var(--sp) 0;background:var(--white);}
.pns .section-head{padding:0 var(--gut);margin-bottom:min(5vw,56px);}

.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;}

.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);}

@media(max-width:900px){
  .sc{position:relative;top:auto;grid-template-columns:1fr;min-height:0;margin-bottom:16px;}
  
}

/* ---------- 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-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;}

/* ---------- undersider ---------- */
.page-hero{background:var(--black);}
.page-hero h1{font-size:clamp(42px,7vw,104px);}

.page-hero::after{background:linear-gradient(180deg,rgba(20,20,20,.1),rgba(20,20,20,.8));}
.contact{background:var(--white);}

.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}
  .rv{opacity:1;transform:none}
  .sw{opacity:1}.sc{position:relative;top:auto}
  .js [data-clip]{clip-path:none}.js [data-clip] img{transform:none}
}

/* ---------- pladsholdere til manglende billeder ---------- */

: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);}

.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-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-title{position:relative;pointer-events:none;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:1700px;perspective-origin:50% 40%;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:50%;width:var(--w);aspect-ratio:var(--a);pointer-events:auto;transform-style:preserve-3d;will-change:transform;transform:translate(-50%,-50%);}
.w3c-in{position:absolute;inset:0;display:block;overflow:hidden;background:var(--near-black);box-shadow:0 30px 60px rgba(0,0,0,.45);filter:brightness(var(--sh,1)) blur(var(--bl,0px));}
.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);}
  .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-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-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;}}

/* ---------- menu: tal + ekstra ---------- */

.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,.work-item .frame{background:var(--tint);}
  .tcard img,.work-item 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,.work-item:hover img{filter:none;opacity:1;}
}

/* ---------- showreel (pladsholder) ---------- */

/* ---------- proces ---------- */
.proc{background:var(--paper);padding:var(--sp) var(--gut);}
.proc .section-head{margin-bottom:min(5vw,56px);}

/* 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;}

.section-head h2,.ct-copy h2,.cta-big h2,.w3d-title,.page-hero h1{line-height:1.08;}
.sc h3,.tcard-meta h3,.ov-next h3,.ov-cta h3,.legal-title{line-height:1.1;}
.w{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 ---------- */

/* ================= 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 ================= */

@media(prefers-reduced-motion:reduce){.ak-item{opacity:1;transform:none}}

/* ================= video ================= */

/* ================= flydende CTA + skip-link ================= */

.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,.cta-big :focus-visible,.lb :focus-visible{outline-color:var(--white);}

/* ================= 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) */

/* ================= 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;}

/* ================= 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;}

/* 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 */

/* 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);}

/* ================= 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;}

/* "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;}

/* ================= 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);}

@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-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 "Vi skaber billeder, der bliver hængende" */
.w3d-flow{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;}

/* 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 */

/* ================= ens indlæsning/overgang på alle sider: logoet afsløres langsomt ================= */

#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;}

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;}

.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::after{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;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;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{color:var(--white)!important;}
.btn-w::before,.btn-w::after,.strip .btn::before,.strip .btn::after{filter:brightness(0) invert(1);}
.btn-w:hover,.strip .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) */

/* 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:20px 14px 22px 15px / 15px 22px 14px 20px!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: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{background:none!important;border:0!important;}

/* ================= Arbejde: projektkort i organiske former, der flyder over i en ny form ved hover ================= */

/* 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-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;transition:none;}
.hform textarea,.booking-form textarea{border:0!important;border-radius:0!important;padding:26px 32px!important;min-height:160px;}
.hform input:focus:not([type=checkbox]),.booking-form input:focus:not([type=checkbox]){transform:none!important;border-radius:0!important;}
.hform textarea:focus,.booking-form textarea:focus{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 */

/* "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: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);}

/* bevægelse kun ved hover */

@keyframes dkflow{to{stroke-dashoffset:-40}}

/* ================= 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;}}

/* ================= Om os og Arbejde: hvid, organisk header ================= */

/* ================= Arkiv: hvid væg, organiske tiles og knapper ================= */
.wall{background:var(--white)!important;color:var(--black)!important;}
.wall-vig{background:radial-gradient(ellipse 70% 62% at 50% 46%,rgba(247,247,245,0) 42%,rgba(247,247,245,.62) 74%,rgba(247,247,245,.97) 100%),
  linear-gradient(180deg,rgba(247,247,245,.92) 0,rgba(247,247,245,0) 15%,rgba(247,247,245,0) 66%,rgba(247,247,245,.98) 100%)!important;}
.wall-cap{text-shadow:0 2px 16px rgba(247,247,245,.95)!important;}
.wall-cap span{color:var(--grey-500)!important;}
.wall-hint{color:var(--grey-500)!important;}
.wall-cta{color:var(--black)!important;}
.wall-filter button{color:var(--grey-500)!important;position:relative;isolation:isolate;border:0!important;padding:8px 16px!important;}
.wall-filter button:hover{color:var(--black)!important;}
.wall-filter button[aria-pressed="true"]{color:var(--black)!important;}
.wall-filter button[aria-pressed="true"]::before{content:'';position:absolute;inset:-2px -4px;z-index:-1;background:var(--black);}
.ak-grid{column-gap:clamp(10px,1.2vw,18px)!important;}
.ak-item{margin-bottom:clamp(10px,1.2vw,18px)!important;}
.ak-tag{left:22px!important;bottom:20px!important;}
.chip{position:relative;isolation:isolate;border:0!important;background:none!important;padding:13px 24px!important;}
.chip::before,.chip::after{content:'';position:absolute;inset:-3px -5px;z-index:-1;pointer-events:none;}
.chip::before{background:var(--black);}
.chip::after{background:var(--black);opacity:0;transform:scale(.92,.85);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out);}
.chip:hover{background:none!important;}
.chip:hover::after{opacity:.1;transform:none;}
.chip[aria-pressed="true"]{background:none!important;color:var(--white);}
.chip[aria-pressed="true"]::after{opacity:1;transform:none;}
.chip[aria-pressed="true"]::before{opacity:0;}

/* ================= Arbejde: "Seneste projekt" på hvid baggrund, organiske former ================= */
.work-page .burst-intro,.burst{background:var(--white)!important;color:var(--black)!important;}
.work-page .burst-intro p{color:var(--grey-700)!important;}
.work-page .burst-intro .eyebrow.light{color:var(--grey-500)!important;}
.burst-copy p{color:var(--grey-700)!important;}
.burst-copy p.cat,.burst-count{color:var(--grey-500)!important;}
.burst-copy a.btn{color:var(--black);padding:17px 36px;border:0;letter-spacing:.16em;}
.burst-copy a.btn:hover{color:var(--white);}
.burst-cover{overflow:visible!important;}
.burst-cover::before{border:0!important;background:var(--black);inset:-22px -26px!important;}
@media(max-width:700px){.burst-copy{background:linear-gradient(0deg,var(--white) 58%,rgba(247,247,245,0))!important;}}

/* ================= Booking (kontaktformular-guiden): hvid og organisk ================= */
.wiz-box{border:0!important;padding:clamp(34px,5vw,64px)!important;}
.wiz-divider{display:none;}
.option-card{border:0!important;padding:24px 30px!important;}
.option-card:hover{border:0!important;}
.option-card:has(input:checked){border:0!important;}
.option-card:has(input:checked) .oc-title,.option-card:has(input:checked) .oc-sub{color:var(--black)!important;}

/* rester af den mørke udgave: ingen mørke flader bag teksten eller bag de organiske billeder */
.burst-copy{background:none!important;}
.burst-cover,.shard,.burst-cover a,.shard img,.burst-cover img{background:none!important;}
.burst-copy::before,.burst-copy::after{display:none!important;}

/* ================= fotografier beholder deres normale form (rektangler); identiteten ligger i linjer, knapper, felter og former omkring dem ================= */

.wc{border-radius:4px!important;box-shadow:0 16px 36px rgba(20,20,20,.18)!important;}
.shard{box-shadow:0 18px 40px rgba(20,20,20,.18)!important;overflow:hidden!important;}
#workGrid .work-item .meta{padding:clamp(20px,2.4vw,34px)!important;}

/* Arkiv-filtre: jævn outline med ens tykkelse og luft imellem knapperne */
.ak-filter{gap:16px!important;}
.chip::before,.chip::after{inset:-1px -2px!important;}

.wall-filter{gap:8px!important;}
.wall-filter button[aria-pressed="true"]::before{inset:-1px -2px!important;}

.wall-filter{padding:8px 12px!important;}

/* mobilmenu: alle fem punkter i samme størrelse (så "START ET PROJEKT" kan stå på én linje), med mere luft imellem */
@media(max-width:820px){
  nav.primary-nav .nav-lt,nav.primary-nav .nav-book-mobile .nav-lt{height:clamp(18px,calc((100vw - 64px) / 13.4),36px)!important;width:auto!important;max-width:none!important;}
  nav.primary-nav ul{gap:clamp(24px,5vh,40px)!important;}
}

/* ================= Om os: halv skærm med portræt, halv skærm med tekst (som Gallery Plays teamside) ================= */
.msp{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100svh;background:var(--black);}
#valdemar{padding-top:var(--hh,78px);min-height:calc(100svh);}
.msp-photo{position:relative;overflow:hidden;min-height:60vh;}
.msp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .9s var(--ease-out),transform 1.8s var(--ease-out);}
.msp-photo:hover img{filter:none;transform:scale(1.03);}
.msp-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 46%);pointer-events:none;}
.msp-name{position:absolute;left:clamp(20px,3vw,48px);bottom:clamp(22px,3.4vw,52px);right:clamp(20px,3vw,48px);z-index:2;color:#fff;}
.msp-name .big{display:block;font-size:clamp(34px,4.6vw,82px);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:.92;}
.msp-name small{display:block;margin-top:12px;font-size:clamp(11px,1vw,15px);letter-spacing:.14em;text-transform:uppercase;opacity:.92;}
.msp-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,110px) clamp(26px,5vw,96px);color:var(--white);}
.msp-h{font-size:clamp(24px,3vw,50px);line-height:1.02;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 clamp(22px,4vw,60px);max-width:16ch;}
.msp-body p{font-size:clamp(15px,1.22vw,19px);line-height:1.56;font-weight:300;color:rgba(255,255,255,.9);max-width:60ch;margin:0 0 1.1em;}
.msp .founder-social{display:inline-block;margin-top:clamp(10px,1.6vw,22px);color:var(--white);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px;}
.msp .founder-social:hover{border-color:var(--white);}

@media(max-width:900px){
  .msp{grid-template-columns:1fr;min-height:0;}
  
  .msp-photo{min-height:0;height:78vh;height:78svh;}
  #valdemar{min-height:0;}
  .msp-text{padding:44px 24px 60px;}
  .msp-h{max-width:none;}
}

/* ================= firkanter med rundede kanter i stedet for bølgede outlines ================= */
html body .book-btn{border:1.5px solid currentColor!important;border-radius:12px!important;background:none!important;padding:11px 22px!important;transform:none!important;}
html body .book-btn::before,html body .book-btn::after{display:none!important;}
html body .book-btn:hover{opacity:.7;background:none!important;}
html body .book-btn:hover .nav-lt{filter:brightness(0) invert(1)!important;transform:none!important;}
html body.hdr-ink .book-btn:hover .nav-lt,html body.hdr-solid .book-btn:hover .nav-lt{filter:brightness(0) invert(.13)!important;}
/* knapper: rundede firkanter, fyldes nedefra ved hover */
html body .btn,html body .cta-btn{position:relative;overflow:hidden!important;isolation:isolate;border:1.5px solid currentColor!important;border-radius:14px!important;background:none!important;padding:15px 30px!important;transform:none!important;transition:color .35s var(--ease-out)!important;}
html body .btn::after,html body .cta-btn::after{display:none!important;}
html body .btn::before,html body .cta-btn::before{content:''!important;position:absolute!important;inset:0!important;z-index:-1!important;border-radius:inherit!important;background:var(--black)!important;-webkit-mask:none!important;mask:none!important;filter:none!important;transform:translateY(101%)!important;opacity:1!important;transition:transform .45s var(--ease-out)!important;}
html body .btn:hover::before,html body .cta-btn:hover::before{transform:translateY(0)!important;}
html body .btn:hover,html body .cta-btn:hover{color:var(--white)!important;transform:none!important;}
html body .btn:disabled:hover::before,html body .cta-btn:disabled:hover::before{transform:translateY(101%)!important;}
html body .btn:disabled:hover,html body .cta-btn:disabled:hover{color:var(--black)!important;}
html body .btn-w,html body .strip .btn{color:var(--white)!important;}
html body .btn-w::before,html body .strip .btn::before{background:var(--white)!important;}
html body .btn-w:hover,html body .strip .btn:hover{color:var(--black)!important;}
html body .burst-copy a.btn{color:var(--black)!important;}
html body .burst-copy a.btn:hover{color:var(--white)!important;}
/* formularfelter */
html body .hform input:not([type=checkbox]),html body .booking-form input:not([type=checkbox]),html body .hform textarea,html body .booking-form textarea{background:var(--white)!important;border:1.5px solid var(--black)!important;border-radius:14px!important;padding:16px 20px!important;transition:box-shadow .25s,border-color .25s!important;}
html body .hform textarea,html body .booking-form textarea{padding:18px 20px!important;}
html body .hform input:focus:not([type=checkbox]),html body .booking-form input:focus:not([type=checkbox]),html body .hform textarea:focus,html body .booking-form textarea:focus{background:var(--white)!important;border-radius:14px!important;box-shadow:0 0 0 3px rgba(20,20,20,.12)!important;transform:none!important;}
/* booking-guiden */
html body .wiz-box{background:var(--white)!important;border:1.5px solid var(--line-light)!important;border-radius:22px!important;}
html body .wiz-divider{display:block!important;}
html body .option-card{background:var(--white)!important;border:1.5px solid var(--line-light)!important;border-radius:14px!important;padding:20px 22px!important;}
html body .option-card:hover{border-color:var(--black)!important;background:var(--white)!important;}
html body .option-card:has(input:checked){background:var(--white)!important;border:1.5px solid var(--black)!important;box-shadow:inset 0 0 0 1px var(--black);}
/* tal i "Sådan arbejder vi": rundede firkanter */
html body .pr-n{border:1.5px solid currentColor!important;border-radius:12px!important;width:52px!important;min-width:52px!important;height:42px!important;padding:0!important;font-size:12px!important;}
html body .pr-n::before,html body .pr-n::after{display:none!important;}
/* filtre i Arkiv */
html body .chip{border:1.5px solid var(--black)!important;border-radius:12px!important;padding:11px 20px!important;background:none!important;}
html body .chip::before,html body .chip::after{display:none!important;}
html body .chip:hover{background:rgba(20,20,20,.07)!important;}
html body .chip[aria-pressed="true"]{background:var(--black)!important;color:var(--white)!important;}
html body .wall-filter button[aria-pressed="true"]::before{display:none!important;}
html body .wall-filter button[aria-pressed="true"]{border:1.5px solid var(--black)!important;border-radius:10px!important;}
html body .wall-filter button{border:1.5px solid transparent!important;border-radius:10px!important;}
/* ring om hovedbilledet i "Seneste projekt": rundet firkant */
html body .burst-cover::before{-webkit-mask:none!important;mask:none!important;background:none!important;border:1.5px solid var(--black)!important;border-radius:22px!important;inset:-18px!important;}

/* ================= Om os: "Mød holdet" (som Gallery Plays "Meet the rest of the team") ================= */
.mh{background:var(--sand);padding:clamp(70px,9vw,140px) var(--gut) clamp(80px,10vw,150px);}
.mh-h{text-align:center;font-size:clamp(26px,3.4vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;margin:0 0 clamp(40px,6vw,96px);}
.mh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,48px);max-width:min(980px,100%);margin:0 auto;}
.mh-p{display:block;color:var(--black);}
.mh-img{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--grey-100);}
.mh-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .9s var(--ease-out),transform 1.6s var(--ease-out);}
.mh-p:hover .mh-img img{filter:none;transform:scale(1.04);}
.mh-cap{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:14px;font-size:clamp(14px,1.35vw,21px);line-height:1.25;font-weight:400;color:var(--grey-700);}
.mh-cap .r{text-align:right;max-width:46%;color:var(--grey-500);}
@media(max-width:700px){.mh-grid{grid-template-columns:1fr;}.mh-cap{font-size:15px;}.mh-cap .r{max-width:52%;}}
html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

#basharat{scroll-margin-top:var(--hh,78px);}

/* ================= Om os: kun den valgte person vises (halv skærm portræt, halv skærm tekst) ================= */
html[data-who="valdemar"] #basharat,html[data-who="basharat"] #valdemar{display:none!important;}
.msp{padding-top:var(--hh,78px);min-height:100svh;}

html.swapped .msp .msp-photo img{animation:mspPhoto 1.1s var(--ease-out) both;}
html.swapped .msp .msp-name{animation:mspUp .9s .15s var(--ease-out) both;}
html.swapped .msp .msp-text>*{animation:mspUp .9s var(--ease-out) both;}
html.swapped .msp .msp-text>*:nth-child(2){animation-delay:.12s;}
@keyframes mspPhoto{from{opacity:0;transform:scale(1.06);}to{opacity:1;transform:none;}}
@keyframes mspUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){html.swapped .msp *{animation:none!important;}}
@media(max-width:900px){.msp{min-height:0;}}
/* "Mød resten af holdet": den, man læser om, ligger stadig ved siden af den anden */
.mh-p[aria-current="true"] .mh-img img{filter:none;}
.mh-p[aria-current="true"] .mh-img::after{content:'Læser nu';position:absolute;left:12px;top:12px;z-index:2;background:var(--black);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:7px 11px;border-radius:8px;}
.mh-p[aria-current="true"] .mh-cap .n{color:var(--black);font-weight:600;}
.mh-p{cursor:pointer;}
.mh-p[aria-current="true"]{cursor:default;}

/* ================= "Mød resten af holdet": små portrætter i en glidende række ================= */
.mh{--w:clamp(150px,15vw,230px);--g:clamp(14px,1.8vw,28px);padding-left:0;padding-right:0;}

.mh .mh-p{flex:0 0 var(--w);width:var(--w);}
.mh .mh-cap{flex-direction:column;gap:3px;margin-top:12px;font-size:clamp(13px,1.05vw,16px);}
.mh .mh-cap .r{text-align:left;max-width:none;font-size:clamp(11px,.85vw,13px);line-height:1.35;}
.mh .mh-p[aria-current="true"] .mh-img::after{left:8px;top:8px;font-size:9px;padding:6px 9px;}
@media(max-width:700px){.mh{--w:clamp(136px,40vw,180px);}}

/* Mød resten af holdet: større navne, billederne forbliver sort-hvide, ingen "Læser nu" */
.mh-p[aria-current="true"] .mh-img img{filter:grayscale(1) contrast(1.05);}
.mh-p[aria-current="true"]:hover .mh-img img{filter:none;}
.mh-p[aria-current="true"] .mh-img::after{content:none!important;display:none!important;}
.mh .mh-cap{margin-top:14px;gap:5px;font-size:clamp(17px,1.55vw,25px)!important;line-height:1.15;}
.mh .mh-cap .n{font-weight:700;letter-spacing:-.01em;color:var(--black);}
.mh .mh-cap .r{font-size:clamp(13px,1.05vw,16px)!important;line-height:1.35;color:var(--grey-700);}
@media(max-width:700px){.mh .mh-cap{font-size:17px!important;}.mh .mh-cap .r{font-size:13px!important;}}

/* ================= Om os: billedet fylder hele skærmen og står fast, mens teksten kører op nedefra ================= */
.msp{display:grid!important;grid-template-columns:1fr 1fr;min-height:0!important;padding-top:0!important;background:var(--black);align-items:start;}
html[data-who="valdemar"] #basharat,html[data-who="basharat"] #valdemar{display:none!important;}
.msp-photo{position:sticky!important;top:0;height:100vh;height:100svh;min-height:0!important;align-self:start;}
.msp-photo::before{content:'';position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0));z-index:1;pointer-events:none;}
.msp-text{display:block!important;padding:76vh clamp(26px,5vw,96px) 40vh!important;padding-top:76svh!important;padding-bottom:40svh!important;}
.msp-h{margin-bottom:clamp(26px,4vw,64px);}
@media(max-width:900px){
  .msp{grid-template-columns:1fr;}
  .msp-photo{position:relative!important;height:100vh;height:100svh;}
  .msp-text{padding:48px 24px 70px!important;}
}

/* ================= Mød resten af holdet: kun de to portrætter, der glider frem og tilbage ================= */
.mh{overflow:hidden;--w:clamp(170px,18vw,270px);--g:clamp(16px,2.4vw,40px);}
.mh-grid{display:flex!important;justify-content:center;gap:var(--g);width:max-content!important;max-width:none!important;margin:0 auto!important;grid-template-columns:none!important;animation:mhpp 7.2s ease-in-out infinite;}
.mh-p{flex:0 0 var(--w);width:var(--w);}
@keyframes mhpp{0%,100%{transform:translateX(-8vw);}50%{transform:translateX(8vw);}}
@media(prefers-reduced-motion:reduce){.mh-grid{animation:none;}}
@media(max-width:700px){.mh{--w:clamp(140px,40vw,190px);}@keyframes mhpp{0%,100%{transform:translateX(-4vw);}50%{transform:translateX(4vw);}}}

/* ================= Om os: slet ingen header-bjælke; logo og menu har modsat farve af det, de ligger over ================= */
html body.om-page header.site-header{--hc:#fff!important;background:transparent!important;border-color:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;transform:none!important;mix-blend-mode:difference;}
html body.om-page.menu-open header.site-header{mix-blend-mode:normal;}
html body.om-page .logo-mark img,html body.om-page .nav-lt{filter:brightness(0) invert(1)!important;}
html body.om-page .book-btn::before,html body.om-page .book-btn::after{display:none!important;}

html body.om-page .book-btn{border-color:#fff!important;color:#fff!important;}
html body.om-page .menu-btn span{background:#fff!important;}
html body.om-page nav.primary-nav a{color:#fff!important;}

/* ================= Mød resten af holdet: bedre karrusel (hviler i hver ende, glider blødt, billederne følger lidt med indeni) ================= */
.mh-grid{animation:mhpp 8.4s infinite!important;}
@keyframes mhpp{
  0%,14%{transform:translateX(-9vw);animation-timing-function:cubic-bezier(.65,0,.35,1);}
  50%,64%{transform:translateX(9vw);animation-timing-function:cubic-bezier(.65,0,.35,1);}
  100%{transform:translateX(-9vw);}
}
.mh-img img{animation:mhpar 8.4s infinite;will-change:transform;}
@keyframes mhpar{
  0%,14%{transform:translateX(5%) scale(1.14);animation-timing-function:cubic-bezier(.65,0,.35,1);}
  50%,64%{transform:translateX(-5%) scale(1.14);animation-timing-function:cubic-bezier(.65,0,.35,1);}
  100%{transform:translateX(5%) scale(1.14);}
}
.mh-p:hover .mh-img img{filter:none;}
@media(prefers-reduced-motion:reduce){.mh-grid,.mh-img img{animation:none!important;}.mh-img img{transform:scale(1.04);}}
@media(max-width:700px){@keyframes mhpp{0%,14%{transform:translateX(-4vw);animation-timing-function:cubic-bezier(.65,0,.35,1);}50%,64%{transform:translateX(4vw);animation-timing-function:cubic-bezier(.65,0,.35,1);}100%{transform:translateX(-4vw);}}}

/* ================= FAQ: samme hvid som resten af siden ================= */
.faq,.faq.section-pad{background:var(--paper)!important;}

/* ================= bokse: rundede firkanter, hver med sin lidt forskellige form (som "Virksomhed" i kontaktformularen) ================= */
:root{
  --r1:16px 12px 18px 13px / 13px 18px 12px 16px;
  --r2:12px 18px 13px 16px / 18px 12px 16px 13px;
  --r3:20px 14px 22px 15px / 15px 22px 14px 20px;   /* nær "Virksomhed", men mildere */
  --r4:13px 19px 15px 11px / 19px 13px 11px 16px;
  --r5:18px 13px 16px 20px / 13px 20px 18px 14px;
}
/* knapper */
html body .btn,html body .cta-btn{border-radius:var(--r1)!important;}
html body .btn-w{border-radius:var(--r2)!important;}
html body .strip .btn{border-radius:var(--r4)!important;}
html body .w3d-foot .btn{border-radius:var(--r5)!important;}
html body .hform .btn,html body .booking-form .cta-btn{border-radius:var(--r3)!important;}
html body .burst-copy a.btn{border-radius:var(--r2)!important;}
html body .book-btn{border-radius:var(--r2)!important;}
/* formularfelter */
html body .hform .hf-row label:nth-child(1) input,html body .booking-form .form-row:nth-child(odd) input{border-radius:var(--r1)!important;}
html body .hform .hf-row label:nth-child(2) input,html body .booking-form .form-row:nth-child(even) input{border-radius:var(--r3)!important;}
html body .hform textarea,html body .booking-form textarea{border-radius:var(--r5)!important;}
html body .hform input:focus:not([type=checkbox]),html body .booking-form input:focus:not([type=checkbox]),html body .hform textarea:focus,html body .booking-form textarea:focus{border-radius:inherit!important;}
/* booking-guide */
html body .wiz-box{border-radius:var(--r5)!important;}
html body .option-card:nth-child(4n+1){border-radius:var(--r1)!important;}
html body .option-card:nth-child(4n+2){border-radius:var(--r3)!important;}
html body .option-card:nth-child(4n+3){border-radius:var(--r4)!important;}
html body .option-card:nth-child(4n){border-radius:var(--r2)!important;}
/* filtre */
html body .chip:nth-child(5n+1){border-radius:var(--r1)!important;}
html body .chip:nth-child(5n+2){border-radius:var(--r2)!important;}
html body .chip:nth-child(5n+3){border-radius:var(--r3)!important;}
html body .chip:nth-child(5n+4){border-radius:var(--r4)!important;}
html body .chip:nth-child(5n){border-radius:var(--r5)!important;}
html body .wall-filter button{border-radius:var(--r1)!important;}
html body .wall-filter button:nth-child(even){border-radius:var(--r3)!important;}
/* tal i "Sådan arbejder vi" */
html body .pr:nth-child(3n+1) .pr-n{border-radius:var(--r1)!important;}
html body .pr:nth-child(3n+2) .pr-n{border-radius:var(--r3)!important;}
html body .pr:nth-child(3n) .pr-n{border-radius:var(--r4)!important;}
html body .pr:hover{border-radius:var(--r3);}
/* ring om hovedbilledet i "Seneste projekt" */
html body .burst-cover::before{border-radius:22px 16px 24px 17px / 17px 24px 16px 22px!important;}
/* ydelseskort */
.sv{overflow:hidden;}
.sv1{border-radius:var(--r1);}
.sv2{border-radius:var(--r2);}
.sv3{border-radius:var(--r4);}
.sv4{border-radius:var(--r5);}
/* kundelogoer (pladsholdere) */

/* ================= kontaktformularer: tykkere, mørkere tekster (de forsvandt ind i baggrunden) ================= */
html body .hform label,html body .booking-form label{font-weight:700!important;color:var(--black)!important;font-size:12.5px!important;letter-spacing:.1em;}
html body .hform label em,html body .booking-form .optional{font-weight:600!important;color:var(--grey-700)!important;}
html body .hform input,html body .hform textarea,html body .booking-form input,html body .booking-form textarea{font-weight:500!important;color:var(--black)!important;font-size:16px!important;}
html body .hform input::placeholder,html body .hform textarea::placeholder,html body .booking-form input::placeholder,html body .booking-form textarea::placeholder{color:var(--grey-700)!important;opacity:1!important;font-weight:500;}
html body .hform .hf-check,html body .hform .hf-check span{font-weight:600!important;color:var(--black)!important;}
html body .hform .hf-check a{font-weight:700;border-bottom:1.5px solid var(--black);}
html body .ct-copy p,html body .booking-intro>p:not(.eyebrow){font-weight:500!important;color:var(--black)!important;}
html body .ct-lines,html body .ct-lines span,html body .ct-lines a{font-weight:600!important;color:var(--black)!important;}
html body .cp-info h3{font-weight:800!important;}
html body .cp-role,html body .cp-line,html body .booking-note,html body .booking-note a{font-weight:600!important;color:var(--black)!important;}
html body .booking-intro .eyebrow{font-weight:700!important;color:var(--grey-700)!important;}
html body .form-status{font-weight:600;}

/* ================= header: ingen bjælke på nogen side; logo og menu skifter farve efter baggrunden (som den lille bjælke i toppen) ================= */
html body header.site-header{--hc:#fff!important;background:transparent!important;border-color:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;transform:none!important;mix-blend-mode:difference;}
html body.menu-open header.site-header{mix-blend-mode:normal;}
html body .logo-mark img,html body .nav-lt{filter:brightness(0) invert(1)!important;}
html body .book-btn::before,html body .book-btn::after{display:none!important;}

html body .book-btn{border-color:#fff!important;color:#fff!important;}
html body .menu-btn span{background:#fff!important;}
html body nav.primary-nav a{color:#fff!important;}

/* ================= ydelseskort: billederne har skarpe hjørner (de ligger indrammet i det runde kort) ================= */
.sv .sv-img{margin:12px 12px 0!important;border-radius:0!important;}
.sv .sv-img img{border-radius:0!important;}

/* ================= kontaktsiden: samme tekst som forsiden ================= */
html body .booking-intro .eyebrow{font-size:14px!important;font-weight:600!important;letter-spacing:.28em!important;line-height:1.7!important;text-transform:none;color:var(--grey-700)!important;margin-bottom:14px;}
html body .booking-intro h1{font-size:clamp(36px,5.4vw,76px)!important;line-height:1.08!important;margin-bottom:26px!important;}
html body .booking-intro>p:not(.eyebrow){font-size:16px!important;line-height:1.75!important;max-width:42ch;}
html body .cp-info h3{font-size:16px!important;}
html body .cp-role{font-size:14px!important;letter-spacing:0!important;line-height:1.6!important;margin-bottom:8px!important;}
html body .cp-line{font-size:14px!important;}
html body .booking-note{font-size:14px!important;line-height:1.75!important;}
html body .booking-form label{text-transform:uppercase;letter-spacing:.1em!important;}
html body .booking-form .optional{text-transform:none;letter-spacing:0;}

/* ================= ydelseskort 1–3: ingen boks – billedet danner kanten, teksten står under ================= */
.sv1,.sv2,.sv3{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.sv1 .sv-img,.sv2 .sv-img,.sv3 .sv-img{margin:0!important;border-radius:0!important;}
.sv1 .sv-txt,.sv2 .sv-txt,.sv3 .sv-txt{padding:clamp(14px,1.6vw,22px) 0 0!important;}
.sv4 .sv-img{margin:0!important;}

/* ================= "Om os"-knappen under billedbåndet (og tilsvarende knapper på mørk baggrund) skal have sin outline ================= */
html body .strip .btn{border:1.5px solid currentColor!important;}

/* ================= booking: tydelig "Næste side"-knap ================= */
html body .wizard-next{background:var(--black)!important;color:var(--white)!important;border:1.5px solid var(--black)!important;padding:17px 34px!important;font-weight:700;letter-spacing:.12em;opacity:1!important;}
html body .wizard-next::before,html body .wizard-next::after{display:none!important;}
html body .wizard-next:hover:not(:disabled){background:var(--grey-700)!important;border-color:var(--grey-700)!important;color:var(--white)!important;}
html body .wizard-next:disabled{background:var(--grey-100)!important;border-color:var(--grey-100)!important;color:var(--grey-500)!important;cursor:not-allowed;}
html body .wizard-next:disabled:hover{color:var(--grey-500)!important;}
html body .wiz-bottom{align-items:center;gap:18px;}
html body .wiz-bottom:has(.wizard-next:not([hidden]):disabled)::before{content:'Vælg eller udfyld for at gå videre';order:5;margin-left:auto;margin-right:6px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--grey-700);}
html body .wiz-bottom .wizard-next{margin-left:0;}
html body .wiz-bottom:has(.wizard-next:not([hidden]):disabled) .wizard-next{order:6;}
html body .wiz-bottom:not(:has(.wizard-next:disabled)) .wizard-next{margin-left:auto;}
html body .wizard-submit{font-weight:700;letter-spacing:.12em;}

/* ================= brødtekst: den tynde stil (som resten af siden), også på kontaktsiderne ================= */
html body .ct-copy p,html body .booking-intro>p:not(.eyebrow),html body .booking-note,html body .booking-note a,html body .cp-role,html body .cp-line,html body .ct-lines,html body .ct-lines span,html body .ct-lines a{font-weight:300!important;color:var(--grey-700)!important;}
html body .booking-note a,html body .ct-lines a,html body .cp-line[href]{font-weight:400!important;border-bottom:1px solid currentColor;}
html body .booking-intro .eyebrow{font-weight:500!important;color:var(--grey-500)!important;}
html body .cp-info h3{font-weight:700!important;}

html body .wizard-next,html body .wizard-submit{white-space:nowrap;}
@media(max-width:700px){
  html body .wiz-bottom{flex-wrap:wrap;justify-content:flex-end;}
  html body .wiz-bottom:has(.wizard-next:not([hidden]):disabled)::before{flex:1 1 100%;order:0;margin:0 0 4px;text-align:right;}
  html body .wiz-bottom .wizard-back{margin-right:auto;}
}

/* ================= "Vi skaber billeder, der bliver hængende": billederne rykkes højere op og samles lidt ================= */

/* ================= ydelseskort: firkantet outline om billederne; det sidste kort uden runde hjørner ================= */
.sv1 .sv-img,.sv2 .sv-img,.sv3 .sv-img{border:1.5px solid var(--black)!important;box-sizing:border-box;}
.sv4{border-radius:0!important;}

/* ================= Instagram-linjen: ingen streg under ================= */
html body .ct-lines a,html body .cp-line[href],html body a.cp-line{border-bottom:0!important;text-decoration:none!important;}

/* ================= FAQ rykkes tættere på kontaktsektionen ================= */
.ct{padding-bottom:clamp(36px,5vw,68px)!important;}
.faq.section-pad,.faq{padding-top:clamp(28px,3.4vw,52px)!important;}

/* ================= Seneste projekt: hovedbilledet starter sort-hvidt og bliver farvet, når animationen begynder ================= */
.burst-cover img{filter:grayscale(clamp(0,calc(1 - var(--e)*1.7),1));}

/* forsidens tekst: bogstaverne */
.thru-title .tw{display:inline-block;white-space:nowrap;}
.thru-title .tl{display:inline-block;will-change:opacity,transform;}

/* ================= ydelseskort: firkantet outline hele vejen rundt om kortet (billede + tekst), alle uden runde hjørner ================= */
html body .sv1,html body .sv2,html body .sv3{border:1.5px solid var(--black)!important;border-radius:0!important;background:transparent!important;}
html body .sv4{border:1.5px solid var(--black)!important;border-radius:0!important;}
html body .sv1 .sv-img,html body .sv2 .sv-img,html body .sv3 .sv-img{border:0!important;border-bottom:1.5px solid var(--black)!important;margin:0!important;}
html body .sv1 .sv-txt,html body .sv2 .sv-txt,html body .sv3 .sv-txt{padding:clamp(16px,2vw,28px)!important;}

/* ================= Seneste projekt: ingen sort ring om hovedbilledet, mindre luft op til teksten ================= */
html body .burst-cover::before{display:none!important;}
.work-page .burst-intro{padding-bottom:clamp(8px,1.4vw,20px)!important;}
.burst-cover{transform:translate(-50%,calc(-50% - clamp(0px,calc((1 - var(--e)*2.2) * 12vh),12vh))) scale(calc(1 - var(--e)*.1))!important;}
@media(max-width:700px){.burst-cover{transform:translate(-50%,calc(-50% - clamp(0px,calc((1 - var(--e)*2.2) * 7vh),7vh))) scale(calc(1 - var(--e)*.1))!important;}}

/* ================= Seneste projekt: starter med tre billeder i spalter, der folder sig ud til flere ================= */
.burst-stage{--cw0:min(26vw,40vh);--cw1:min(26vw,40vh);--lift:clamp(0px,calc((1 - var(--e)*2.2)*12vh),12vh);}
@media(max-width:700px){.burst-stage{--cw0:29vw;--cw1:38vw;--lift:clamp(0px,calc((1 - var(--e)*2.2)*7vh),7vh);}}
.burst-cover{width:calc(var(--cw0) + (var(--cw1) - var(--cw0)) * var(--e))!important;transform:translate(-50%,calc(-50% - var(--lift))) scale(calc(1 - var(--e)*.1))!important;}
.shard{width:calc(var(--w0,var(--w)) + (var(--w) - var(--w0,var(--w))) * var(--e))!important;opacity:clamp(0,calc(var(--o0,1) + (1 - var(--o0,1)) * var(--e) * 3),1);
  transform:translate(-50%,-50%) translate(calc(var(--x0,0px) + (var(--x) * var(--k) - var(--x0,0px)) * var(--e)),calc(var(--y0,0px) + (var(--y) * var(--k) - var(--y0,0px)) * var(--e) - var(--lift))) rotate(calc(var(--r) * var(--e))) scale(calc(var(--s0,.55) + (1 - var(--s0,.55)) * var(--e)))!important;}
.shard img,.burst-cover img{filter:contrast(1.035) saturate(1.025) grayscale(clamp(0,calc(1 - var(--e)*1.7),1));}

/* teksten må aldrig række ind under hovedbilledet på mellemstore skærme */
@media(min-width:701px){.burst-copy{max-width:min(520px,calc(50vw - var(--cw1) / 2 - var(--gut) - 28px))!important;}}

/* ================= Forsiden: "Mød teamet" fylder præcis én skærm, så overskrift, portrætter, navne og roller kan ses på én gang ================= */
.tm{min-height:100vh;min-height:100svh;display:flex!important;flex-direction:column;justify-content:center;padding-top:clamp(64px,8vh,110px)!important;padding-bottom:clamp(36px,6vh,80px)!important;}
.tm .section-head{margin-bottom:clamp(16px,3.2vh,40px)!important;}
.tm-grid{display:flex!important;justify-content:center;align-items:flex-start;gap:clamp(16px,3vw,44px)!important;}
.tm .tcard{flex:0 0 auto;width:max(140px,min(34vw,460px,calc((100vh - 320px) * .8)))!important;width:max(140px,min(34vw,460px,calc((100svh - 320px) * .8)))!important;}
.tm .tcard img{aspect-ratio:4/5;}
.tm .tcard-meta{padding:16px 2px 0!important;}
.tm .tcard-meta h3{font-size:clamp(16px,1.6vw,24px)!important;}
.tm .tcard-meta p{font-size:clamp(12px,1vw,14px)!important;margin-top:6px!important;color:var(--grey-700)!important;}
@media(max-width:700px){.tm-grid{flex-direction:row!important;gap:14px!important;}.tm .tcard{width:calc(50% - 7px)!important;min-width:0;}.tm .tcard-meta h3{font-size:14px!important;}.tm .tcard-meta p{font-size:11px!important;}}

/* ================= projektvisning: mere luft mellem den lille tekst og projektets navn ================= */

/* projektvisning: mere luft mellem den lille tekst og projektets navn */

/* ================= showreel bag åbningslogoet ================= */
.thru-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;pointer-events:none;background:var(--black);}
.thru-canvas{z-index:1;}
@media(prefers-reduced-motion:reduce){.thru-video{display:none;}}

/* forsidens åbning: teksten og "Scroll ned" skal ligge over canvas'et */
.thru-title,.thru-scroll{z-index:2;}

/* Seneste projekt: kortere hold – man kan komme videre, så snart animationen er færdig */
.burst{height:170vh!important;}
.burst-stage{--e:clamp(0,calc((var(--p) - .02)*1.2),1)!important;}
@media(max-width:700px){.burst{height:160vh!important;}}

/* ================= booking: "Send forespørgsel" skal kunne ses og står til højre ================= */
html body .wizard-submit{background:var(--black)!important;color:var(--white)!important;border:1.5px solid var(--black)!important;padding:17px 34px!important;margin-left:auto!important;font-weight:700;letter-spacing:.12em;opacity:1!important;white-space:nowrap;}
html body .wizard-submit::before,html body .wizard-submit::after{display:none!important;}
html body .wizard-submit:hover:not(:disabled){background:var(--grey-700)!important;border-color:var(--grey-700)!important;color:var(--white)!important;}
html body .wizard-submit:disabled{background:var(--grey-100)!important;border-color:var(--grey-100)!important;color:var(--grey-500)!important;cursor:not-allowed;}
html body .wiz-bottom{display:flex;align-items:center;justify-content:space-between;}
html body .wiz-bottom .wizard-back{margin-right:auto;}
@media(max-width:700px){html body .wiz-bottom .wizard-submit{margin-left:auto!important;}}

/* ================= forsiden: "FOTO / VIDEO / CONTENT" lidt mindre ================= */
.marq-track{font-size:clamp(34px,5.8vw,88px)!important;}

/* ================= Om os: Om BK Studio under holdet ================= */
.about-bk{background:var(--paper);padding:var(--sp) var(--gut);}
.about-bk-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,110px);align-items:center;max-width:1400px;margin:0 auto;}
.about-bk-media{aspect-ratio:4/5;overflow:hidden;background:var(--sand);}
.about-bk-media img{width:100%;height:100%;object-fit:cover;display:block;}
.about-bk-copy h2{font-size:clamp(34px,4.6vw,68px);line-height:1;margin:6px 0 clamp(20px,2.6vw,36px);}
.about-bk-copy p:not(.eyebrow){font-size:clamp(16px,1.25vw,19px);line-height:1.7;font-weight:300;color:var(--grey-700);max-width:46ch;margin:0 0 1.1em;}
@media(max-width:800px){.about-bk-grid{grid-template-columns:1fr;}.about-bk-media{aspect-ratio:4/3;}}

/* kundelogobåndet: afstanden ligger som margin på hvert element, så løkken (-50%) går præcist op og aldrig hopper */

/* Danmark-kortet bag formularen glider på plads i stedet for at hoppe, når siden er færdigindlæst */
.dk-bg{transition:left .5s var(--ease-out),top .5s var(--ease-out),width .5s var(--ease-out),height .5s var(--ease-out);}

/* kundelogoer: en rolig række med de rigtige logoer (ingen pladsholdere) */
.logos-row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,6vw,96px);padding:6px var(--gut) 4px;}

/* privatlivspolitik: afsnitsoverskrifter */
.legal-body h2{font-size:13px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--black);margin:40px 0 12px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p.legal-date{font-size:13px;color:var(--grey-500);margin-top:34px;}

/* kortene kredser i en ring bag overskriften: ringens midte ligger lidt under overskriften */
.w3c{top:max(47vh,330px);}
@media(max-width:900px){.w3c{top:max(46vh,330px);}}

/* ================= "Vi skaber billeder, der bliver hængende": overskriften står midt i ringen ================= */
/* titlen ligger i samme 3D-rum som kortene (planet z = 0): kort længere bagud er bag teksten (slørede), og kort, der kommer forrest, går foran den */
.w3d-title{position:absolute;left:0;right:0;top:max(47vh,330px);transform:translate3d(0,-50%,0);z-index:auto;padding:0 var(--gut);pointer-events:none;margin:0;text-shadow:0 0 38px rgba(20,20,20,.75);}
.w3d{padding-top:0;}
@media(max-width:900px){.w3d-title{top:max(46vh,330px);}}

/* ================= Mød resten af holdet: glidningen stopper kun, når man peger på selve billederne ================= */
.mh-grid:has(.mh-img:hover),.mh-grid:has(.mh-img:hover) .mh-img img,.mh-grid:has(.mh-p:focus-visible),.mh-grid:has(.mh-p:focus-visible) .mh-img img{animation-play-state:paused!important;}
/* to små prikker: den ene lyser, når billederne er nået helt over til den ene side, den anden, når de er nået helt over til den anden */
.mh-dots{display:flex;justify-content:center;gap:14px;margin-top:clamp(28px,3.4vw,52px);}
.mh-dots i{display:block;width:11px;height:11px;border-radius:50%;background:var(--black);opacity:.28;}
.mh-dots i:nth-child(1){animation:mhd1 8.4s infinite;}
.mh-dots i:nth-child(2){animation:mhd2 8.4s infinite;}
@keyframes mhd1{0%,14%{opacity:1;transform:scale(1.3);}32%,82%{opacity:.28;transform:scale(1);}100%{opacity:1;transform:scale(1.3);}}
@keyframes mhd2{0%,32%{opacity:.28;transform:scale(1);}50%,64%{opacity:1;transform:scale(1.3);}82%,100%{opacity:.28;transform:scale(1);}}
.mh:has(.mh-img:hover) .mh-dots i,.mh:has(.mh-p:focus-visible) .mh-dots i{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.mh-dots i{animation:none;}.mh-dots i:nth-child(1){opacity:1;transform:scale(1.3);}}

/* ================= footerlogoet: kun selve logoet kan trykkes (formen er trykfladen), og det hopper opad, så det ikke går ned i teksten ================= */
.footer-brand .fmark{display:block!important;width:74.2px;height:64px;line-height:0;margin-bottom:12px;transition:none;transform:none;clip-path:path(evenodd,'M54.9 25.6 L55.0 26.8 L56.0 27.9 L58.8 29.5 L61.4 30.4 L63.5 30.7 L65.8 30.5 L67.3 29.8 L68.2 28.5 L68.1 27.1 L67.1 25.7 L65.2 24.5 L62.5 23.6 L60.0 23.4 L57.6 23.6 L55.8 24.4 Z M73.1 3.4 L70.7 1.7 L68.9 1.3 L66.6 1.3 L63.0 2.2 L60.3 4.1 L58.6 6.1 L57.3 8.9 L55.4 18.2 L55.8 19.2 L56.4 19.5 L57.3 19.1 L59.4 17.0 L61.8 15.3 L70.2 11.2 L72.6 9.6 L73.7 8.3 L74.2 6.8 L74.1 5.1 Z M0.4 17.3 L0.0 19.5 L0.9 21.6 L2.4 23.2 L7.3 26.9 L8.3 28.4 L8.9 30.2 L8.9 32.2 L8.1 34.5 L3.1 41.3 L1.9 44.4 L1.9 46.3 L2.6 48.3 L3.9 50.1 L5.5 51.4 L7.6 52.4 L9.6 52.8 L12.0 52.7 L14.3 52.1 L17.1 50.9 L25.0 46.3 L32.2 42.6 L36.2 40.1 L37.1 39.9 L37.7 40.3 L37.8 41.6 L36.5 44.0 L34.4 46.2 L28.8 51.1 L27.2 53.0 L26.2 54.9 L25.7 57.3 L26.2 59.8 L27.4 61.7 L29.4 63.2 L32.4 64.0 L35.7 63.7 L38.7 62.3 L41.1 60.0 L42.0 58.3 L42.2 56.5 L41.2 50.4 L41.3 47.0 L42.4 44.1 L44.2 42.7 L46.3 42.5 L48.8 43.5 L50.4 44.6 L56.8 50.9 L59.1 52.4 L61.5 53.2 L64.5 53.4 L67.4 52.6 L69.8 51.1 L71.5 48.8 L72.0 47.1 L71.8 45.3 L71.1 43.8 L69.7 42.3 L66.9 40.8 L61.6 39.3 L58.2 37.8 L49.5 32.8 L47.9 31.1 L47.5 29.8 L47.9 28.1 L52.2 23.0 L53.8 19.3 L53.9 17.3 L53.5 15.6 L52.6 14.2 L51.2 13.0 L49.2 12.5 L46.6 12.7 L43.8 13.9 L41.5 15.8 L39.5 19.1 L38.9 21.5 L38.6 26.1 L38.2 27.0 L37.6 27.5 L36.7 27.5 L33.1 25.8 L30.2 24.9 L27.0 24.4 L22.0 24.3 L20.2 23.4 L19.6 22.4 L19.6 21.2 L21.0 18.3 L23.2 16.2 L29.0 12.2 L30.5 10.6 L31.6 8.6 L31.9 6.5 L31.5 4.2 L30.2 2.3 L28.1 0.8 L25.6 0.0 L23.3 0.0 L21.1 0.6 L19.3 1.5 L16.6 3.6 L10.9 9.5 L2.5 14.8 L1.1 16.1 Z M25.7 30.6 L26.9 32.4 L27.0 34.7 L26.1 37.2 L24.2 39.5 L21.9 41.2 L19.3 42.0 L17.0 41.8 L15.2 40.8 L14.5 39.3 L14.7 37.4 L16.0 35.0 L18.0 32.6 L20.2 30.8 L22.2 29.9 L24.0 29.9 Z');}
.footer-brand .fmark:hover{transform:none;}
.footer-brand .fmark img{display:block;width:100%;height:100%;max-width:none;pointer-events:none;}
.footer-brand .fmark.hop{animation:fmhop .8s cubic-bezier(.3,.6,.3,1);}
@keyframes fmhop{0%{transform:translateY(0);}28%{transform:translateY(-17px) rotate(-6deg);}50%{transform:translateY(0) rotate(0);}66%{transform:translateY(-7px) rotate(2deg);}82%{transform:translateY(0);}100%{transform:translateY(0);}}
@media(prefers-reduced-motion:reduce){.footer-brand .fmark.hop{animation:none;}}

/* overskriften er længere end før: lidt mindre, så den passer på to linjer på computer */
@media(min-width:901px){.w3d-title{font-size:clamp(44px,6.9vw,124px);}}

.w3d-title{text-wrap:balance;}

/* ringens midte kan flyttes (bruges af Arbejde, så kortene aldrig ligger under menuen) */
.w3c{top:var(--rc,max(47vh,330px));}
.w3d-title{top:var(--rc,max(47vh,330px));}
@media(max-width:900px){.w3c{top:var(--rc,max(46vh,330px));}.w3d-title{top:var(--rc,max(46vh,330px));}}

/* dybden (lysstyrke og sløring) lægges på selve billedet, ikke på hele kortet: det tegner stabilt i alle browsere */
.w3c-in{filter:none;}
.w3c-in img{filter:contrast(1.03) saturate(1.05) brightness(var(--sh,1)) blur(var(--bl,0px));transform:scale(var(--bs,1));}
.w3c:not(:hover):not(.is-hover) .w3c-in img{transition:none;}

/* Arbejde: stram afstand under ringen og ind til næste sektion */
.work-page .w3d{padding-bottom:0;}
.work-page .w3d-foot{bottom:22px;}
.work-page .burst-intro{padding-top:clamp(36px,4vw,60px);}

/* kameraets midte ligger i ringens midte, så kortene nedenunder og ovenover vises symmetrisk */
.w3d-scene{perspective-origin:50% var(--rc,max(47vh,330px));}
@media(max-width:900px){.w3d-scene{perspective-origin:50% var(--rc,max(46vh,330px));}}

/* teksten og "Se alt arbejde" starter på samme linje, lige under billederne */
.w3d-foot{align-items:flex-start;}

/* ================= sprogvalg (DA / EN): headeren, til højre for "Start et projekt", og footeren, til højre for "Cookies" ================= */
.lang{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1;white-space:nowrap;color:inherit;}
.lang button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:8px 2px;margin:0;cursor:pointer;opacity:.5;transition:opacity .2s;text-transform:inherit;}
.lang button:hover,.lang button:focus-visible{opacity:1;}
.lang button.on{opacity:1;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;}
.lang span{opacity:.45;pointer-events:none;}
.site-header .lang{color:var(--hc,inherit);}
@media(min-width:901px){.header-right .lang{margin-left:-6px;}}
@media(max-width:900px){.site-header .lang{margin-right:14px;font-size:11px;position:relative;z-index:600;}}
.lang-foot{margin-left:22px;font-size:11px;letter-spacing:.14em;}
.footer-legal{display:flex;align-items:center;}

/* ================= menu: tre streger yderst til højre, sprogvalget til venstre for dem, dropdown på computer ================= */
.menu-btn{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:38px;height:38px;padding:0;margin:0 -7px 0 0;background:none;border:0;position:relative;z-index:600;cursor:pointer;}
.menu-btn span{width:24px;height:1.5px;display:block;transform-origin:center;transition:transform .35s var(--ease-out),opacity .2s;}
.menu-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.menu-btn.open span:nth-child(2){opacity:0;}
.menu-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
@media(min-width:821px){
  nav.primary-nav,.book-btn{display:none!important;}
  .header-right{gap:16px;}
  .header-right .lang{margin-left:0;}
}
body.drop-open.hdr-hide header.site-header{transform:none!important;}
.menu-drop{position:fixed;top:78px;right:min(5.5vw,84px);z-index:480;width:min(330px,calc(100vw - 32px));background:#141414;color:#f7f7f5;padding:30px 32px 28px;
  border-radius:22px 16px 24px 18px/18px 24px 16px 22px;box-shadow:0 30px 70px rgba(0,0,0,.35),0 0 0 1px rgba(247,247,245,.14);transform-origin:100% 0;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px) scale(.97);
  transition:opacity .25s,transform .35s var(--ease-out),visibility 0s .35s;}
.menu-drop.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .25s,transform .35s var(--ease-out),visibility 0s;}
.menu-drop ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;}
.menu-drop a{display:block;}
.menu-drop .drop-lt{display:block;height:27px;width:auto;max-width:none;filter:brightness(0) invert(1);transition:transform .35s var(--ease-out),opacity .25s;}
.menu-drop ul a:hover .drop-lt{transform:translateX(7px);}
.menu-drop .drop-book{display:inline-block;margin-top:28px;padding:16px 22px;border:1.5px solid rgba(247,247,245,.85);border-radius:14px 11px 16px 12px/12px 16px 11px 14px;transition:background .25s;}
.menu-drop .drop-book .drop-lt{height:16px;}
.menu-drop .drop-book:hover{background:#f7f7f5;}
.menu-drop .drop-book:hover .drop-lt{filter:brightness(0) invert(.08);transform:none;}
@media(max-width:820px){.menu-drop{display:none;}}
@media(prefers-reduced-motion:reduce){.menu-drop,.menu-drop.open,.menu-btn span{transition:none;}}

/* ================= billedvisningen i Arkivet: samme omrids som alle andre bokse, og hele firkanten reagerer ================= */
.lb-top{pointer-events:none;}
.lb-top>*{pointer-events:auto;}
.lb-fig{pointer-events:none;}
.lb-fig img,.lb-cap{pointer-events:auto;}
.lb-nav,.lb-close{overflow:hidden;isolation:isolate;cursor:pointer;background:transparent;border:1.5px solid rgba(247,247,245,.55);color:var(--white);z-index:6;
  transition:color .25s,border-color .25s;-webkit-tap-highlight-color:transparent;}
@media(min-width:701px){.lb-nav{position:relative;}}
.lb-close{position:relative;}
.lb-nav::before,.lb-close::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--white);opacity:0;transition:opacity .25s;}
.lb-nav:hover,.lb-close:hover{background:transparent;color:var(--black);border-color:var(--white);}
.lb-nav:hover::before,.lb-close:hover::before{opacity:1;}
.lb-nav:focus-visible,.lb-close:focus-visible{outline:2px solid var(--white);outline-offset:4px;}
.lb-nav{width:56px;height:56px;}
.lb-close{border-radius:var(--r1);padding:12px 18px;}
.lb-prev{border-radius:var(--r3);}
.lb-next{border-radius:var(--r4);}

/* ================= projektvisning på Arbejde: tilbage-knap, der følger med og kommer frem, når man scroller opad ================= */
html body .overlay.open{transform:none;}                  /* en transform på visningen ville gøre knappens "fast" placering relativ til visningen, så den scrollede væk */
html body #overlayClose{position:fixed;top:22px;right:min(5.5vw,84px);z-index:820;width:auto;height:46px;padding:0 22px;display:flex;align-items:center;gap:8px;
  border:1.5px solid var(--black);border-radius:var(--r3);background:var(--black);color:var(--white);box-shadow:0 0 0 1px rgba(247,247,245,.32);
  font:600 12px/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  transition:transform .45s var(--ease-out),opacity .3s,background .25s,color .25s;}
html body #overlayClose:hover{background:var(--white);color:var(--black);}
html body #overlayClose:focus-visible{outline:2px solid var(--black);outline-offset:4px;}
html body #overlayClose.away{transform:translateY(-170%);opacity:0;pointer-events:none;}
@media(max-width:700px){html body #overlayClose{top:14px;right:14px;height:42px;padding:0 18px;}}
@media(prefers-reduced-motion:reduce){html body #overlayClose{transition:none;}}

/* ================= dropdown-menuen: ingen baggrund, ordene skifter farve efter det, de ligger over (som logoet) ================= */
.menu-drop{top:86px;width:auto;padding:0;background:none;box-shadow:none;border-radius:0;color:#fff;
  mix-blend-mode:difference;display:flex;flex-direction:column;align-items:flex-end;text-align:right;
  transform:none;transition:visibility 0s .5s;}
.menu-drop.open{transform:none;transition:visibility 0s;}
.menu-drop ul{align-items:flex-end;gap:26px;}
.menu-drop li,.menu-drop .drop-book{opacity:0;transform:translateY(-12px);transition:opacity .3s,transform .45s var(--ease-out);}
.menu-drop.open li,.menu-drop.open .drop-book{opacity:1;transform:none;}
.menu-drop.open li:nth-child(1){transition-delay:.03s}.menu-drop.open li:nth-child(2){transition-delay:.08s}
.menu-drop.open li:nth-child(3){transition-delay:.13s}.menu-drop.open li:nth-child(4){transition-delay:.18s}
.menu-drop.open .drop-book{transition-delay:.24s}
.menu-drop .drop-lt{height:34px;filter:brightness(0) invert(1);}
.menu-drop ul a:hover .drop-lt{transform:translateX(-9px) rotate(-2deg);}
.menu-drop .drop-book{margin-top:34px;padding:16px 24px;border:1.5px solid #fff;background:none;}
.menu-drop .drop-book .drop-lt{height:16px;}
.menu-drop .drop-book:hover{background:#fff;}
.menu-drop .drop-book:hover .drop-lt{filter:brightness(0) invert(0);transform:none;}
@media(prefers-reduced-motion:reduce){.menu-drop li,.menu-drop .drop-book{transition:none;transform:none;}}

/* "Start et projekt" i dropdown-menuen: ingen ring eller fyld, kun ordet, som de andre punkter */
.menu-drop .drop-book{border:0;border-radius:0;padding:0;background:none;margin-top:36px;}
.menu-drop .drop-book .drop-lt{height:20px;}
.menu-drop .drop-book:hover{background:none;}
.menu-drop .drop-book:hover .drop-lt{filter:brightness(0) invert(1);transform:translateX(-9px) rotate(-2deg);}

/* dropdown: "Start et projekt" er lige så stort som de andre ord */
.menu-drop .drop-book{margin-top:0;}
.menu-drop .drop-book .drop-lt{height:34px;}
.menu-drop ul{margin-bottom:26px;}

/* ================= fast "Start et projekt" nederst på skærmen: kommer først frem, når man er kommet et stykke ned ================= */
.cta-float{position:fixed;left:50%;bottom:26px;z-index:470;display:flex;align-items:center;justify-content:center;padding:18px 28px;
  background:#141414;border:1.5px solid #141414;border-radius:var(--r3);box-shadow:0 0 0 1px rgba(247,247,245,.26),0 16px 44px rgba(0,0,0,.3);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,28px);
  transition:opacity .35s,transform .55s var(--ease-out),background .25s,visibility 0s .55s;}
.cta-float.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .35s,transform .55s var(--ease-out),background .25s,visibility 0s;}
.cta-float img{display:block;height:17px;width:auto;max-width:none;filter:brightness(0) invert(1);transition:filter .25s;}
.cta-float:hover{background:#f7f7f5;}
.cta-float:hover img{filter:none;}
.cta-float:focus-visible{outline:2px solid #f7f7f5;outline-offset:4px;}
@media(max-width:820px){.cta-float{bottom:18px;padding:16px 22px;}.cta-float img{height:15px;}}
@media(prefers-reduced-motion:reduce){.cta-float,.cta-float.show{transition:none;}}

/* "Start et projekt" i dropdown-menuen: lige så stor som de andre ord */
.menu-drop .drop-book .drop-lt{height:34px;}
.menu-drop .drop-book{margin-top:30px;}


/* ================= flydende "Start et projekt" nederst: kun ordet, skifter farve efter baggrunden (som logoet), ingen pille eller ring ================= */
.cta-float{padding:12px 16px;background:none;border:0;border-radius:0;box-shadow:none;mix-blend-mode:difference;}
.cta-float:hover{background:none;}
.cta-float img{height:26px;filter:brightness(0) invert(1);transition:transform .35s var(--ease-out);}
.cta-float:hover img{filter:brightness(0) invert(1);transform:translateY(-4px) rotate(-1.5deg);}
.cta-float:focus-visible{outline:2px solid #fff;outline-offset:2px;}
@media(max-width:820px){.cta-float{bottom:16px;padding:10px 14px;}.cta-float img{height:19px;}}

/* dropdown-menuen: mindre tekst */
.menu-drop .drop-lt,.menu-drop .drop-book .drop-lt{height:24px;}
.menu-drop ul{gap:20px;}
.menu-drop .drop-book{margin-top:26px;}
.menu-drop ul a:hover .drop-lt,.menu-drop .drop-book:hover .drop-lt{transform:translateX(-7px) rotate(-2deg);}


/* dropdown-menuen: præcis samme afstand mellem alle ord (også før "Start et projekt") */
.menu-drop{gap:20px;}
.menu-drop ul{margin:0;gap:20px;}
.menu-drop .drop-book{margin-top:0;}

/* ================= Forsiden, "Mød teamet": samme glidning fra side til side som "Mød resten af holdet", med prikkerne ================= */
.tm{overflow-x:clip;}
.tm .tcard{width:max(140px,min(34vw,460px,calc((100vh - 412px) * .8)))!important;width:max(140px,min(34vw,460px,calc((100svh - 412px) * .8)))!important;}
.tm-grid{animation:mhpp 8.4s infinite;}
.tm-img{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;}
.tm-img img{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;animation:mhpar 8.4s infinite;will-change:transform;}
.tm-grid:has(.tm-img:hover),.tm-grid:has(.tm-img:hover) .tm-img img,.tm-grid:has(.tcard:focus-visible),.tm-grid:has(.tcard:focus-visible) .tm-img img{animation-play-state:paused;}
.tm:has(.tm-img:hover) .mh-dots i,.tm:has(.tcard:focus-visible) .mh-dots i{animation-play-state:paused;}
.tm .mh-dots{margin-top:clamp(20px,3.2vh,40px);}
@media(prefers-reduced-motion:reduce){.tm-grid,.tm-img img{animation:none!important;}.tm-img img{transform:scale(1.04);}}

/* ================= flydende "Start et projekt": ude i højre side (ikke i midten) ================= */
.cta-float{left:auto;right:min(5.5vw,84px);padding:12px 0 12px 16px;transform:translateY(28px);}
.cta-float.show{transform:none;}
@media(max-width:820px){.cta-float{right:20px;padding:10px 0 10px 14px;}}

/* Om os: teksten skrives i takt med scrollen (ordene må ikke brydes midt i) */
.hw{display:inline-block;white-space:nowrap;}
.hc{display:inline;}
.hand-split{overflow-wrap:normal;}

/* beskyt billederne: kan ikke trækkes ud eller holdes inde for at gemme (mobil) */
img,video{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;}



/* ===================== modern.css ===================== */
/* BK Studio — modernisering (lag ovenpå style.css og v2.css).
   Beholder logoet, blobben, topografi-linjerne, kortet og båndene, men strammer det hele op:
   små "(01) Sektion"-etiketter i mono, bedre læsbar brødtekst, en rolig pille som "Start et projekt"-knap,
   status + lokal tid (header, kontakt og footer) og et kæmpe ordmærke nederst i footeren. Elementerne bygges af modern.js. */

:root{
  --mono:ui-monospace,'SF Mono','JetBrains Mono',Menlo,Consolas,'Liberation Mono',monospace;
  --ink-soft:#4a4a4a;
  --live:#3ecf6e;
}

/* ---------- små etiketter: "(01) Ydelser" ---------- */
.m-idx,.eyebrow,.section-head .head-title .eyebrow{display:flex;align-items:center;gap:.9em;margin-bottom:clamp(14px,1.6vw,22px);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-500);}
.m-idx b{font-weight:500;color:var(--black);}
.m-idx::after{content:'';flex:0 0 clamp(28px,4vw,56px);height:1px;background:currentColor;opacity:.45;}
.faq .eyebrow{justify-content:center;}
.faq .eyebrow::before,.faq .eyebrow::after{content:'';flex:0 0 28px;height:1px;background:currentColor;opacity:.45;}
.cta-big .m-idx,.w3d .m-idx,.strip .m-idx{color:var(--grey-300);}
.cta-big .m-idx b,.w3d .m-idx b{color:var(--white);}

/* ---------- læsbar brødtekst (før lille og lysegrå) ---------- */
.section-head p,.pns .section-head p,.ct-copy>p,.w3d-foot p,.page-hero p,.burst-copy p{color:var(--ink-soft);font-size:clamp(15px,1.15vw,17px);line-height:1.6;max-width:40ch;}
.w3d-foot p,.cta-big p{color:rgba(247,247,245,.78);}
.faq-answer p{color:var(--ink-soft);font-size:16px;line-height:1.65;}
.faq-item summary{font-size:clamp(16px,1.3vw,19px);font-weight:500;}

/* ---------- "Start et projekt" som rolig pille, der ikke lægger sig hen over teksten ---------- */
.cta-float{left:auto!important;right:clamp(16px,2.4vw,36px)!important;bottom:clamp(16px,2.4vw,32px)!important;gap:12px;padding:14px 22px 14px 16px!important;
  background:var(--black)!important;border:1px solid rgba(247,247,245,.16)!important;border-radius:999px!important;mix-blend-mode:normal!important;
  box-shadow:0 10px 30px -12px rgba(0,0,0,.45);transform:translateY(16px);transition:opacity .35s,transform .55s var(--ease-out),background .3s,visibility 0s .35s;}
.cta-float.show{transform:none;transition:opacity .35s,transform .55s var(--ease-out),background .3s,visibility 0s;}
.cta-float::before{content:'';flex:none;width:22px;height:19px;background:var(--white);-webkit-mask:url(/images/logo/bk-blob.svg) no-repeat center/contain;mask:url(/images/logo/bk-blob.svg) no-repeat center/contain;transition:transform .6s var(--ease-out),background .3s;}
.cta-float img{height:14px!important;filter:brightness(0) invert(1)!important;transform:none!important;}
.cta-float:hover{background:var(--white)!important;border-color:var(--black)!important;}
.cta-float:hover::before{background:var(--black);transform:rotate(-20deg) scale(1.08);}
.cta-float:hover img{filter:brightness(0) invert(.08)!important;}
.cta-float:focus-visible{outline:2px solid var(--black);outline-offset:3px;}
@media(max-width:820px){.cta-float{padding:12px 18px 12px 14px!important;}.cta-float img{height:12px!important;}.cta-float::before{width:19px;height:16px;}}

/* ---------- status (ledig/optaget efter åbningstiderne) + lokal tid ---------- */
.m-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(62,207,110,.55);animation:mlive 2.4s ease-out infinite;}
.m-dot.off{background:#e3a03c;animation:none;box-shadow:none;}
@keyframes mlive{0%{box-shadow:0 0 0 0 rgba(62,207,110,.55)}70%,100%{box-shadow:0 0 0 9px rgba(62,207,110,0)}}
.m-clock{font-variant-numeric:tabular-nums;}
.hs-sep{opacity:.5;}
@media(prefers-reduced-motion:reduce){.m-dot{animation:none}}

/* i headeren, til venstre for DA / EN (følger headerens farve) */
.hdr-status{display:flex;align-items:center;gap:8px;margin-right:clamp(18px,2.2vw,34px);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--hc,inherit);}
@media(max-width:1000px){.hdr-status{display:none}}
/* headeren inverterer farverne (mix-blend-mode), så prikken her er sort/hvid: fyldt med puls = ledig, hul ring = optaget */
.hdr-status .m-dot{position:relative;background:currentColor;animation:none;box-shadow:none;}
.hdr-status .m-dot.off{background:transparent;border:1.5px solid currentColor;}
.hdr-status .m-dot:not(.off)::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid currentColor;animation:hring 2.4s ease-out infinite;}
@keyframes hring{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@media(prefers-reduced-motion:reduce){.hdr-status .m-dot::after{animation:none;opacity:0}}

/* åbningstider ved kontaktoplysningerne: et kort i sidens stil (sort ramme, skæve hjørner, fede versaler) */
.hours{max-width:440px;margin-top:clamp(26px,3vw,38px);padding:clamp(18px,1.8vw,24px);border:1.5px solid var(--black);border-radius:var(--r3,18px);background:var(--white);}
.hours-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:14px;}
.hours-lab{font-size:clamp(18px,1.5vw,22px);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;line-height:1;color:var(--black);}
.hours-now{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1.5px solid var(--black);border-radius:var(--r1,999px);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--black);}
.hours-sub{display:block;margin:-4px 0 12px;font-size:13px;color:var(--grey-500);}
.hours ul{list-style:none;margin:0;padding:0;}
.hours li{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;margin:0 -12px;border-top:1px solid var(--line-light);font-size:15px;color:var(--grey-700);}
.hours li:first-child{border-top:0;}
.hours li.today{background:var(--black);color:var(--white);border-color:transparent;border-radius:var(--r1,12px);font-weight:700;}
.hours li.today+li{border-top-color:transparent;}
.hours li.today span:first-child::after{content:'  i dag';font-weight:400;opacity:.6;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.hours-t{font-variant-numeric:tabular-nums;font-weight:600;}
html[lang="en"] .hours li.today span:first-child::after{content:'  today';}

/* ---------- ydelser: renere kort ---------- */
.sv-img{position:relative;}
.sv-num{position:absolute;left:12px;top:12px;z-index:2;padding:4px 8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--white);background:rgba(20,20,20,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;}
.sv h3{letter-spacing:-.03em;}
.sv .sc-link{font-family:var(--mono);letter-spacing:.06em;}

/* ---------- links: understregning der tegnes ind ---------- */
.ct-lines a,.footer-legal a{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .45s var(--ease-out),color .3s;}
.ct-lines a:hover,.footer-legal a:hover{background-size:100% 1px;}

/* ---------- footer: kæmpe ordmærke + lokal tid ---------- */
.footer-heading{font-family:var(--mono);letter-spacing:.08em!important;}
.foot-mega{position:relative;display:flex;align-items:flex-end;gap:clamp(10px,1.6vw,28px);margin-top:clamp(28px,4vw,56px);}
.foot-mega .fm-blob{flex:none;width:17.5%;height:auto;filter:brightness(0) invert(1);transform-origin:50% 60%;transition:transform 1s var(--ease-out);}
.foot-mega .fm-word{flex:1 1 auto;width:auto;min-width:0;height:auto;filter:brightness(0) invert(1);}
.foot-mega:hover .fm-blob{transform:rotate(-10deg) scale(1.04);}
.foot-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin:clamp(14px,1.6vw,20px) 0 clamp(22px,2.6vw,36px);padding-bottom:clamp(18px,2vw,26px);border-bottom:1px solid var(--line-dark);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-300);}
.foot-meta span{display:flex;align-items:center;gap:8px;}
.foot-meta .m-clock{color:var(--white);}
@media(max-width:600px){.foot-mega{gap:8px}.foot-meta{flex-direction:column}}

/* ---------- blækstreger fra sektionsetiketterne (ink.js) ---------- */
.m-idx.ink-on{position:relative;}
.m-idx.ink-on::after{visibility:hidden;}
.ink-line{position:absolute;left:0;z-index:3;overflow:visible;pointer-events:none;}
.ink-stroke{fill:none;stroke:var(--black);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.ink-tip,.ink-blot{fill:var(--black);}
.ink-tip{transition:opacity .3s;}
.ink-blot{transform:scale(0);transition:transform .55s cubic-bezier(.2,1.6,.4,1);}
.ink-blot.on{transform:scale(1);}
@media(max-width:820px){.ink-stroke{stroke-width:2;}}
@media(prefers-reduced-motion:reduce){.ink-blot{transition:none;}}

/* ---------- billedbåndet som filmstrimmel ---------- */
.strip-track{--film:#262626;position:relative;padding:34px 0 34px var(--gut);margin-left:0;background-color:var(--film);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='12'%3E%3Crect x='7' y='0' width='12' height='12' rx='2.5' fill='%23141414'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='12'%3E%3Crect x='7' y='0' width='12' height='12' rx='2.5' fill='%23141414'/%3E%3C/svg%3E");
  background-repeat:repeat-x;background-position:0 7px,0 calc(100% - 7px);counter-reset:frame;}
.strip-track>div{position:relative;overflow:visible!important;counter-increment:frame;}
.strip-track>div img{border-radius:2px;}
.strip-track>div::before,.strip-track>div::after{position:absolute;left:2px;font-family:var(--mono);font-size:9px;line-height:1;letter-spacing:.12em;color:var(--grey-300);opacity:.7;white-space:nowrap;pointer-events:none;}
.strip-track>div::before{content:'BK 400';top:-14px;}
.strip-track>div::after{content:'\25B8 ' counter(frame) 'A';bottom:-14px;}
.strip-track>div:nth-child(even)::before{content:'BK 400 \2022 ' counter(frame);}
@media(max-width:820px){.strip-track{padding:28px 0 28px var(--gut);background-size:20px 9px,20px 9px;background-position:0 6px,0 calc(100% - 6px);}.strip-track>div::before{top:-12px}.strip-track>div::after{bottom:-12px}}

/* ---------- cursoren er BK-logoet ----------
   Hvidt logo med farve-inversion (mix-blend-mode: difference): sort på lyse flader og det modsatte på billeder og mørke flader.
   script.js flytter #cursor med musen; over links og knapper bliver logoet lidt større. */
@media(hover:hover) and (pointer:fine){
  html,body,:is(a,button,summary,label,select,[role=button],.cursor-target,.work-item,.w3c){cursor:none;}
  :is(input:not([type=checkbox]):not([type=radio]),textarea){cursor:text;}
  html body .cursor{display:block!important;width:26px;height:23px;border-radius:0;background:#fff;mix-blend-mode:difference;
    -webkit-mask:url(/images/logo/bk-blob.svg) no-repeat center/contain;mask:url(/images/logo/bk-blob.svg) no-repeat center/contain;
    transition:width .35s var(--ease-out),height .35s var(--ease-out),opacity .3s;}
  /* markøren venter uden for skærmen og er skjult, indtil musen er på siden (ingen BK i øverste venstre hjørne) */
  html body .cursor{left:-200px;top:-200px;visibility:hidden;}
  html body .cursor.show{visibility:visible;}
  html body .cursor.shrink{width:46px;height:40px;}
  html body .cursor.label{width:46px;height:40px;}
}

/* ---------- BK-logoet i 3D (logo3d.min.js) ---------- */
.l3d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:clamp(40px,6vw,90px) var(--gut);background:var(--paper);overflow:hidden;}
.logo3d{position:relative;width:min(84vw,760px);aspect-ratio:1.35;touch-action:pan-y;cursor:grab;}
.logo3d.grabbing{cursor:grabbing;}
.logo3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transition:filter .2s linear;}
.logo3d-shadow{position:absolute;left:50%;bottom:6%;width:46%;height:9%;transform:translateX(-50%);border-radius:50%;opacity:0;
  background:radial-gradient(closest-side,rgba(20,20,20,.28),rgba(20,20,20,0));filter:blur(6px);pointer-events:none;}
.logo3d::before{content:'';position:absolute;inset:18%;background:url(/images/logo/bk-blob.svg) no-repeat center/contain;opacity:0;transition:opacity .4s;}
.logo3d.logo3d-fallback::before{opacity:1;}
.l3d-cap{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-500);}

/* ---------- åbningen: 3D-logoet (logo3d.min.js) renderes på et skjult lærred; thru.js tegner det ind bag logo-vinduet ---------- */
.thru-3d{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;}
.thru-3d canvas{display:block;width:100%;height:100%;}


/* ===================== clean.css ===================== */
/* BK Studio — oprydning og effekter (lag ovenpå style.css, v2.css og modern.css).
   Samme identitet: blobben, den inverterende header, topografi-linjerne, blækstregerne og de fede versaler.
   Mere overskueligt: headeren går af vejen, når man scroller ned, og processen er tre kort side om side. Nye effekter (clean.js): kort vipper med lysrefleks
   efter musen, og processens trin bindes sammen af en streg, der tegner sig ud. */

/* ---------- headeren: væk når man scroller ned, tilbage når man scroller op (så den aldrig ligger oven i overskrifterne) ---------- */
html body header.site-header{transition:transform .5s var(--ease-out),opacity .35s!important;}
html body.hdr-hide:not(.menu-open):not(.drop-open) header.site-header{transform:translateY(-120%)!important;}

/* ---------- ens luft mellem sektionerne ---------- */
:root{--sp-c:clamp(84px,10vw,150px);}
.proc,.tm,.ct,.faq{padding-top:var(--sp-c)!important;padding-bottom:var(--sp-c)!important;}
.section-head{align-items:end;}

/* kort, der vipper efter musen med en lysrefleks (clean.js sætter --rx, --ry, --gx, --gy) */
.tilt{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;position:relative;}
.tilt.tilting{transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0)!important;transition:transform .12s linear,box-shadow .4s!important;box-shadow:0 30px 60px -30px rgba(20,20,20,.45);}
.tilt::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.32),rgba(255,255,255,0) 46%);mix-blend-mode:soft-light;}
.tilt.tilting::after{opacity:1;}
.tcard.tilt::after{border-radius:inherit;}

/* ---------- processen: tre kort side om side, bundet sammen af en streg ---------- */
.proc-c .proc-rows{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);border:0!important;padding-top:34px;}
.proc-c .proc-rows::before{content:'';position:absolute;left:0;right:0;top:12px;height:2px;background:var(--black);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.6s cubic-bezier(.65,0,.2,1);}
.proc-c .proc-rows.drawn::before{transform:scaleX(1);}
.proc-c .pr{position:relative;display:flex!important;flex-direction:column;gap:14px;padding:clamp(22px,2.4vw,34px)!important;border:1.5px solid var(--black)!important;border-radius:var(--r3,18px);background:var(--white);min-height:clamp(220px,22vw,300px);transition:background .45s,color .45s,transform .6s var(--ease-out)!important;}
.proc-c .pr::before{content:'';position:absolute;left:clamp(22px,2.4vw,34px);top:-29px;width:12px;height:12px;border-radius:50%;background:var(--black);transform:scale(0);transition:transform .5s cubic-bezier(.2,1.6,.4,1);}
.proc-c .proc-rows.drawn .pr::before{transform:scale(1);}
.proc-c .proc-rows.drawn .pr:nth-child(1)::before{transition-delay:.1s}
.proc-c .proc-rows.drawn .pr:nth-child(2)::before{transition-delay:.6s}
.proc-c .proc-rows.drawn .pr:nth-child(3)::before{transition-delay:1.1s}
.proc-c .pr h3{font-size:clamp(22px,2.2vw,34px)!important;}
.proc-c .pr p{max-width:none;margin-top:auto;font-size:15px;}
.proc-c .pr-n{align-self:flex-start;}
.proc-c .pr:hover{padding-left:clamp(22px,2.4vw,34px)!important;transform:translateY(-6px);background:var(--black);color:var(--white);}   /* sort kort med hvid tekst (før blev teksten hvid på lys baggrund og forsvandt) */
.proc-c .pr:hover h3,.proc-c .pr:hover p{color:var(--white);}
.proc-c .pr:hover p{color:var(--grey-100,#d9d9d6);}
@media(max-width:820px){
  .proc-c .proc-rows{grid-template-columns:1fr;padding-top:0;padding-left:30px;}
  .proc-c .proc-rows::before{left:8px;right:auto;top:0;bottom:0;width:2px;height:auto;transform:scaleY(0);transform-origin:50% 0;}
  .proc-c .proc-rows.drawn::before{transform:scaleY(1);}
  .proc-c .pr{min-height:0;}
  .proc-c .pr::before{left:-28px;top:28px;}
}

@media(prefers-reduced-motion:reduce){
  .proc-c .proc-rows::before,.proc-c .pr::before{transform:none!important;transition:none!important;}
}

/* ---------- åbningen: lidt længere ophold i det sorte rum (3D-logoet og billederne), før siden stiger op ---------- */
.thru-spacer{margin-bottom:-130vh!important;}
@media(max-width:820px){.thru-spacer{margin-bottom:-115vh!important;}}

/* ---------- kontakt på forsiden: samme opsætning som /kontakt ---------- */
html body .home-contact .booking-intro h2{font-size:clamp(36px,5.4vw,76px)!important;line-height:1.08!important;margin-bottom:26px!important;max-width:none;}
.home-contact{padding-top:var(--sp-c)!important;padding-bottom:var(--sp-c)!important;}

/* ---------- åbningen: ingen scroll, før logoet har vist, hvad der er bag det (thru.js) ---------- */
html.thru-lock,html.thru-lock body{overflow:hidden!important;overscroll-behavior:none;}

/* ---------- tal-sektionen + karussellen på én fælles sort flade med det levende BK-monogram bagved (clean.js) ---------- */
.flow-wrap{position:relative;background:var(--black);isolation:isolate;}
.mono-field{position:sticky;top:0;width:100%;height:100vh;height:100lvh;margin-bottom:-100vh;margin-bottom:-100lvh;display:block;pointer-events:none;z-index:0;}   /* skærmhøjt lærred, der står stille, mens fladen scroller forbi */
.flow-wrap>.w3d{position:relative;z-index:1;background:transparent!important;}

/* ---------- "Nyopstartet": tal i stedet for showreel (tallene tæller op, når de kommer frem; clean.js) ---------- */
.nums{color:var(--black);background:var(--paper);padding:clamp(24px,3vw,48px) var(--gut) var(--sp-c);}
.stmt:has(+ .nums){padding-bottom:clamp(40px,5vw,72px)!important;}
.nums-head{max-width:760px;}
.nums-eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-500);margin-bottom:18px;}
.nums h2{font-size:clamp(40px,6.4vw,96px);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;margin-bottom:22px;}
.nums-lead{max-width:46ch;font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:var(--ink-soft);}
.nums-row{list-style:none;margin:clamp(40px,6vw,84px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);}
.nums-row li{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(190px,18vw,260px);padding:clamp(20px,2.2vw,30px);
  border:1.5px solid var(--black);border-radius:var(--r3,18px);background:var(--white);
  transition:background .45s,color .45s,transform .6s var(--ease-out),border-color .45s;}
.nums-row li:hover{background:var(--black);color:var(--white);transform:translateY(-6px);}
.nums-row li:hover span{color:var(--grey-300);}
.nums-row b{display:block;font-size:clamp(56px,7.4vw,120px);font-weight:800;letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums;text-transform:uppercase;}
.nums-row span{display:block;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-500);transition:color .45s;}
.nums-cta{margin-top:clamp(36px,5vw,64px);}
@media(max-width:820px){.nums-row li{min-height:150px;}}
@media(max-width:560px){.nums-row{grid-template-columns:minmax(0,1fr);}.nums-row li{min-height:0;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:16px;}.nums-row span{margin-top:0;text-align:right;}}

/* ---------- tal og små etiketter i brandets skrift (Inter) i stedet for maskinskrift ---------- */
:root{--mono:'Inter',sans-serif;}
.hdr-status,.foot-meta,.m-idx,.sv-num,.footer-heading{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.08em;}

/* ---------- footer: status og lokal tid står over det store BK-logo, uden streg under ---------- */

/* ---------- numrene på ydelseskortene i samme stil som processens numre (pille med ramme) ---------- */
html body .sv-num{left:14px;top:14px;padding:5px 11px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1;
  color:var(--black);background:var(--white);border:1.5px solid var(--black);border-radius:999px;-webkit-backdrop-filter:none;backdrop-filter:none;}

/* ---------- teamet på samme lyse flade som resten, så FAQ og omgivelserne hænger sammen ---------- */
.tm{background:var(--paper)!important;}
.faq{border-top:0!important;}

/* ---------- menuen (computer), fx.js: fylder hele skærmen. Til venstre et stort BK-logo, der står stille og bliver et vindue med et
   billede, når man peger på et punkt. Til højre en række pr. punkt med nummer, stort ord og pil. Nederst sociale medier og e-mail. ---------- */
html body .menu-drop{top:0;right:0;bottom:0;left:0;width:auto;height:100vh;height:100dvh;border-radius:0;box-shadow:none;
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,96px);
  padding:clamp(96px,12vh,130px) min(5.5vw,84px) clamp(28px,5vh,48px);text-align:left;background:#141414;color:#f7f7f5;mix-blend-mode:normal;overflow:hidden;
  clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s .6s;}
html body .menu-drop.open{clip-path:inset(0 0 0 0);transition:clip-path .65s cubic-bezier(.7,0,.2,1),visibility 0s;}
body.drop-open{overflow:hidden;}
/* logoet: stort og stille; billedet toner frem i logoformen */
.drop-art{position:relative;justify-self:center;width:min(100%,calc((100vh - 220px) * 1.159));aspect-ratio:839.7/724.3;}
.drop-art span{position:absolute;inset:0;-webkit-mask:url(/images/logo/bk-blob.svg) no-repeat center/contain;mask:url(/images/logo/bk-blob.svg) no-repeat center/contain;}
.drop-art .da-fill{background:#f7f7f5;opacity:0;transition:opacity .5s .15s;}
.menu-drop.open .drop-art .da-fill{opacity:1;}
.drop-art .da-img{background:#141414 center/cover no-repeat;opacity:0;transition:opacity .4s;}
.drop-art .da-img.on{opacity:1;}
/* rækkerne */
.drop-main{display:flex;flex-direction:column;justify-content:center;align-self:stretch;max-width:660px;}
html body .menu-drop ul{display:block;margin:0 0 clamp(24px,4vh,40px);gap:0;align-items:stretch;}
html body .menu-drop li{border-bottom:1px solid rgba(247,247,245,.14);}
html body .menu-drop li:first-child{border-top:1px solid rgba(247,247,245,.14);}
.menu-drop .drop-row{display:flex!important;align-items:center;gap:22px;padding:clamp(14px,2.3vh,24px) 4px;position:relative;}
.menu-drop .dr-n{flex:none;width:26px;font-size:12px;font-weight:600;letter-spacing:.1em;color:rgba(247,247,245,.4);font-variant-numeric:tabular-nums;transition:color .3s;}
html body .menu-drop .drop-lt,html body .menu-drop .drop-li-book .drop-lt{height:max(22px,min(4.4vh,2.4vw,44px))!important;width:auto;max-width:none!important;flex:none;filter:brightness(0) invert(1)!important;
  transform:none!important;transition:transform .45s cubic-bezier(.2,.8,.2,1)!important;}
.menu-drop .dr-arrow{margin-left:auto;font-size:clamp(22px,3vh,30px);line-height:1;opacity:0;transform:translateX(-16px);transition:opacity .3s,transform .45s cubic-bezier(.2,.8,.2,1);}
.menu-drop .drop-row:hover .dr-n,.menu-drop .drop-row:focus-visible .dr-n{color:#f7f7f5;}
html body .menu-drop .drop-row:hover .drop-lt,html body .menu-drop .drop-row:focus-visible .drop-lt{transform:translateX(12px)!important;}
.menu-drop .drop-row:hover .dr-arrow,.menu-drop .drop-row:focus-visible .dr-arrow{opacity:1;transform:none;}
.menu-drop .drop-row:focus-visible{outline:2px solid #f7f7f5;outline-offset:2px;border-radius:8px;}
/* bunden: sociale medier og e-mail */
.drop-social{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
  opacity:0;transform:translateY(-12px);transition:opacity .3s,transform .45s var(--ease-out);}
.menu-drop.open .drop-social{opacity:1;transform:none;transition-delay:.35s;}
.drop-social .ds-row{display:flex;flex-wrap:wrap;gap:10px;}
.drop-social .ds{display:inline-flex!important;align-items:center;gap:9px;padding:10px 18px 10px 12px;border:1.5px solid rgba(247,247,245,.3);border-radius:999px;
  font-size:13px;font-weight:600;letter-spacing:.02em;color:#f7f7f5;transition:background .25s,color .25s,border-color .25s;}
.drop-social .ds svg{width:20px;height:20px;flex:none;}
.drop-social .ds:hover{background:#f7f7f5;color:#141414;border-color:#f7f7f5;}
.drop-social .ds-mail{font-size:13px;color:rgba(247,247,245,.65);background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .4s,color .25s;}
.drop-social .ds-mail:hover{color:#f7f7f5;background-size:100% 1px;}
@media(prefers-reduced-motion:reduce){html body .menu-drop,html body .menu-drop.open,.drop-art span,.drop-social{transition:none;}}

/* ---------- "Sådan arbejder vi": ingen streg med prikker over kortene ---------- */
.proc-c .proc-rows{padding-top:0!important;}
.proc-c .proc-rows::before,.proc-c .pr::before{display:none!important;}
@media(max-width:820px){.proc-c .proc-rows{padding-left:0!important;}}
.menu-drop.open li:nth-child(5){transition-delay:.23s}

/* ---------- roligere overskrifter: én fælles størrelse til sektionernes overskrifter, og de største (Arkiv, karussellen) er gjort mindre ---------- */
:root{--h2:clamp(32px,3.8vw,56px);}
html body .section-head h2,html body .nums h2,html body .booking-intro h1,html body .booking-intro h2,html body .home-contact .booking-intro h2,
html body .about-bk-copy h2,html body .mh-h,html body .burst-copy h2,html body .burst h2{font-size:var(--h2)!important;line-height:1.04!important;}
html body .nums h2{margin-bottom:18px;}
html body .ak-title{font-size:clamp(48px,7vw,112px);}

/* ---------- 3D-logoet på rejsen gennem forsiden (logo3d.min.js): ses kun på de sorte flader, bag indholdet ---------- */
.bk3d-layer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;}
.strip,footer{position:relative;}
.strip>*:not(.bk3d-layer),footer>*:not(.bk3d-layer){position:relative;z-index:1;}
/* i footeren lander 3D-logoet midt i det store logo-felt og bliver til det flade logo (logo3d.min.js flytter det til midten); så glider
   "STUDIO" ind helt fra højre, rammer logoet og skubber det med ud på sin plads til venstre (logo3d.min.js) */
html.bk3d-on footer .foot-mega .fm-blob{position:relative;z-index:2;opacity:0;transition:none;}
html.bk3d-on footer.fm-landed .foot-mega .fm-blob{opacity:1;}
/* "STUDIO" glider ind fra højre og skubber logoet ud til venstre (logo3d.min.js styrer bevægelsen) */
html.bk3d-on footer{overflow-x:clip;}
html.bk3d-on footer .foot-mega .fm-word{position:relative;z-index:1;opacity:0;filter:brightness(0) invert(1);}
/* laget ligger lidt bagud (mellem de bagerste og forreste kort); skaleret tilbage, så logoet har sin rigtige størrelse og plads,
   og 80px større end sektionen hele vejen rundt, så logoet aldrig skæres af ved sektionens kant (logo3d.js tegner med samme margen) */
.bk3d-ring{inset:-80px;width:auto;height:auto;transform-origin:50% calc(var(--rc,max(47vh,330px)) + 80px);transform:translateZ(-30px) scale(1.01765);}
@media(max-width:900px){.bk3d-ring{transform-origin:50% calc(var(--rc,max(46vh,330px)) + 80px);}}
html body .w3d-title{transform:translate3d(0,-50%,12px);}   /* titlen ligger altid foran 3D-logoet */

/* ---------- mindre luft mellem sektionerne (før ca. 140 px i top og bund = næsten 290 px mellem to sektioner) ---------- */
:root{--sp:clamp(56px,7vw,104px);--sp-c:clamp(56px,7vw,104px);}
/* ydelserne: kortene kommer ind fra højre over kortere scroll, så der ikke er død scroll bagefter */
html body .pns{height:215vh;}
@media(max-width:1180px){html body .pns{height:225vh;}}
@media(prefers-reduced-motion:reduce){html body .pns{height:auto;}}
/* teamet: ingen fast fuld skærmhøjde (gav tomrum) */
html body .tm{min-height:0;}

/* ---------- footer: status og lokal tid over stregen; © og links under stregen; BK STUDIO stort helt nede i bunden,
   så kun den øverste halvdel ses (modern.js sætter den negative bundmargen ud fra logoets højde) ---------- */
html body footer{display:flex;flex-direction:column;padding-bottom:0;}
html body .footer-top{order:1;border-bottom:0;padding-bottom:0;margin-bottom:0;}
html body .foot-meta{order:2;margin:clamp(30px,4vw,52px) 0 0!important;padding-bottom:clamp(18px,2vw,24px)!important;border-bottom:1px solid var(--line-dark)!important;}
html body .footer-bottom{order:3;margin-top:clamp(16px,1.8vw,22px);}
html body .foot-mega{order:4;margin:clamp(28px,4vw,56px) calc(-1 * min(5.5vw,84px)) 0;gap:clamp(12px,1.8vw,32px);padding:0 min(2.4vw,36px);}

/* ---------- forsiden mens den henter: kun den pulserende prik med BK-logoet og procent-tallet; menu og tekst kommer, når alt er hentet ---------- */
.thru-pct{position:fixed;z-index:600;top:clamp(22px,3vw,34px);right:min(5.5vw,84px);font-size:13px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;
  color:var(--black);pointer-events:none;transition:opacity .5s;}   /* procent-tallet oppe i højre hjørne, så logoet aldrig dækker det */
.thru-pct.done{opacity:0;}
html .site-header,html .thru-title,html .thru-scroll{transition:opacity .8s ease;}
html.thru-loading .site-header,html.thru-loading .thru-title,html.thru-loading .thru-scroll{opacity:0!important;}

/* arkivets billedvisning: pilene er hinandens spejlbillede og står ud for billedets midte (ikke midten af billede + billedtekst) */
html body .lb-next{border-radius:14px 20px 15px 22px / 22px 15px 20px 14px;}
@media(min-width:701px){html body .lb-nav{margin-bottom:34px;}}

/* holdets kort: rækken står stille, mens musen er over et kort; kortet løfter sig roligt, og billedet zoomer let ind (ingen vip, intet hop) */
html body .tm-grid:has(.tcard:hover),html body .tm-grid:has(.tcard:hover) .tm-img img{animation-play-state:paused;}
html body .tm:has(.tcard:hover) .mh-dots i{animation-play-state:paused;}
html body .tm .tcard{transform:none;transition:transform .6s var(--ease-out);}
html body .tm .tcard:hover{transform:translateY(-6px);}
html body .tm .tm-img{overflow:hidden;}
html body .tm .tm-img img{transition:filter .6s var(--ease-out),scale .8s var(--ease-out);}
html body .tm .tcard:hover .tm-img img{scale:1.05;}


