@font-face{font-family:'IBM Plex Sans';src:url('assets/ibm-plex-sans.woff2?v=2') format('woff2');font-weight:100 700;font-stretch:100%;font-display:swap}
:root{--paper:#f8f8f5;--ink:#262529;--purple:#6845ad;--line:#d4d3d6;--muted:#65636b;--edge:clamp(24px,5.2vw,100px);font-family:'IBM Plex Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:105px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--purple);outline-offset:7px}p,h1,h2,h3{margin:0}p{line-height:1.65}h1,h2,h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600}img{max-width:100%;height:auto;display:block}::selection{background:var(--purple);color:#fff}.page-edge{padding-inline:var(--edge)}
.skip-link{position:fixed;z-index:50;top:16px;left:16px;padding:14px 20px;background:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:none}.story-transcript{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.story{height:330svh;position:relative}.stage{height:100svh;width:100%;position:sticky;top:0;overflow:hidden;background:var(--paper);isolation:isolate}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0}.scene-ready .stage canvas{opacity:1}.payoff{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 6.3vw;font:700 14.7vw/.94 'IBM Plex Sans',sans-serif;letter-spacing:-.045em;color:var(--purple);opacity:0;visibility:hidden;will-change:transform,opacity}.payoff span{display:block;white-space:nowrap}.payoff span+span{align-self:flex-end}.scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:12px;font-size:12px;color:var(--muted);letter-spacing:.04em}.scroll-cue i{height:33px;width:1px;background:#aaa7b0}.static-story{display:none}
.website{position:relative;background:#fff;outline:none}.masthead{position:sticky;top:0;z-index:20;min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:22px var(--edge);background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{width:94px;flex:none}.masthead nav{display:flex;align-items:center;gap:clamp(22px,3vw,56px);font-size:14px}.masthead nav a{padding-block:10px;position:relative}.masthead nav a:after{content:'';position:absolute;left:0;bottom:4px;width:100%;height:1px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .2s}.masthead nav a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}
.section-register{display:flex;justify-content:space-between;gap:24px;font-size:13px;color:var(--muted)}.connection{padding-block:80px 88px}.connection h1{font-size:clamp(50px,7.5vw,140px);line-height:1.02;letter-spacing:-.045em;margin-block:85px 64px}.connection-baseline{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.connection-baseline p{font-size:18px;max-width:580px}.discipline-pair{display:flex;gap:20px;align-items:center;font-size:14px}.discipline-pair i{width:clamp(35px,7vw,130px);height:1px;background:var(--purple);position:relative}.discipline-pair i:before,.discipline-pair i:after{content:'';position:absolute;top:-2px;width:5px;height:5px;background:var(--purple)}.discipline-pair i:after{right:0}
.disciplines{position:relative;background:var(--paper);padding-block:110px}.discipline{display:grid;grid-template-columns:27% 73%;scroll-margin-top:24px}.discipline-index{display:flex;align-items:flex-start;gap:27px;font-size:14px}.discipline-index>span{font-family:'IBM Plex Sans',sans-serif;color:var(--purple);font-size:15px;line-height:1.65}.discipline-content h2{font-size:clamp(52px,6.7vw,112px);line-height:.99;letter-spacing:-.045em;margin-bottom:38px}.discipline-lead{font-size:clamp(18px,1.55vw,24px);max-width:670px;margin-bottom:62px}.service-lines{border-top:1px solid var(--line)}.service-lines>div{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);padding-block:29px;border-bottom:1px solid var(--line);gap:18px}.service-lines h3{font-size:clamp(24px,2.5vw,38px);letter-spacing:-.045em;line-height:1.2}.service-lines p{font-size:16px;line-height:1.65}.agreement{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);margin-top:35px;gap:18px}.agreement h3{font:500 14px/1.6 'IBM Plex Sans',sans-serif;color:var(--purple)}.agreement p{font-size:14px;color:var(--muted);max-width:470px}.shared-line{display:flex;align-items:center;gap:28px;margin:100px 0 100px 27%;color:var(--purple);font-size:12px}.shared-rule{height:1px;background:var(--purple);flex:1;opacity:.55}
.about{padding-block:90px 110px}.about h2{font-size:clamp(50px,7.5vw,130px);line-height:1;letter-spacing:-.045em;margin-block:82px 66px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-lead{font-size:clamp(22px,2.5vw,36px);line-height:1.35;letter-spacing:-.03em;max-width:440px}.about-copy>div{font-size:16px;max-width:570px}.about-copy>div p+p{margin-top:22px}.contact{background:var(--paper);padding-block:50px 90px}.contact .section-register>span:last-child{text-align:right;line-height:1.45}.contact h2{font-size:clamp(52px,9.2vw,170px);line-height:1.02;letter-spacing:-.045em;margin:76px 0 22px;color:var(--purple)}.contact-intro{font-size:18px;line-height:1.5}.contact-details{display:flex;justify-content:flex-end;align-items:flex-end;gap:30px;margin-top:70px}.contact-details>div{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.phone{font-family:'IBM Plex Sans',sans-serif;font-size:clamp(30px,4.4vw,72px);letter-spacing:-.045em;line-height:1}.email{font-size:14px;border-bottom:1px solid #a7a2af;padding-bottom:4px}.email:hover{color:var(--purple)}.page-footer{padding-block:38px 46px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;background:var(--paper);border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer-address{font-size:9px;line-height:1.5;margin-top:3px}.footer-brand{width:clamp(120px,20vw,300px)}
@media(min-width:1700px){.discipline-content{max-width:1200px}}
@media(max-width:900px){.masthead{min-height:84px}.masthead nav{gap:22px;font-size:12px}.brand{width:82px}.connection{padding-block:54px 70px}.connection h1{margin-block:70px 45px}.connection-baseline{align-items:flex-start;flex-direction:column;gap:40px}.discipline{grid-template-columns:22% 78%}.discipline-index{gap:12px;flex-direction:column}.shared-line{margin-left:22%}.service-lines>div,.agreement{grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:8px}.service-lines p{font-size:14px}.service-lines p br{display:none}.agreement p{font-size:13px}.disciplines{padding-block:80px}.about{padding-block:70px}.about-copy{gap:7%}}
@media(max-width:600px){:root{--edge:24px}.story{height:290svh}.scroll-cue{bottom:28px}.payoff{font-size:15vw;padding-inline:5.5vw;line-height:.99;letter-spacing:-.045em}.payoff span+span{align-self:flex-start}.masthead{padding-block:18px;min-height:79px}.brand{width:83px}.menu-toggle{display:flex;gap:14px;align-items:center;min-height:44px;background:none;border:0;padding:5px 0 5px 15px;font-size:14px}.menu-symbol{display:block;width:16px;height:10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.menu-toggle[aria-expanded=true] .menu-symbol{height:1px;border-bottom:0}.masthead nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px var(--edge) 30px;background:#fff;border-bottom:1px solid var(--line);font-size:20px;flex-direction:column;align-items:stretch;gap:5px}.masthead.is-open nav{display:flex}.masthead nav a{padding-block:14px}.section-register{font-size:12px}.section-register>span:last-child{max-width:44%;text-align:right}.connection{padding-block:38px 62px}.connection h1{font-size:clamp(34px,8.35vw,51px);letter-spacing:-.035em;margin-block:64px 35px;line-height:1.08}.connection-baseline p{font-size:16px}.discipline-pair{font-size:12px;gap:12px;width:100%}.discipline-pair i{flex:1}.disciplines{padding-block:56px 65px}.discipline{display:block;scroll-margin-top:16px}.discipline-index{flex-direction:row;gap:20px;font-size:13px;margin-bottom:36px}.discipline-content h2{font-size:clamp(43px,11.5vw,70px);line-height:1.03;margin-bottom:30px}.discipline-lead{font-size:17px;margin-bottom:40px}.service-lines>div{display:block;padding-block:24px}.service-lines h3{font-size:29px;margin-bottom:12px}.service-lines p{font-size:15px;max-width:350px}.agreement{display:block;margin-top:28px}.agreement h3{margin-bottom:11px}.agreement p{font-size:14px}.shared-line{margin:65px 0;gap:13px;font-size:10px}.shared-line span:last-child{max-width:115px}.about{padding-block:42px 65px}.about h2{font-size:10.2vw;margin-block:57px 38px;line-height:1.07}.about-copy{display:block}.about-lead{font-size:25px;margin-bottom:30px}.about-copy>div{font-size:15px}.contact{padding-block:34px 56px}.contact h2{font-size:9.8vw;line-height:1.08;margin:60px 0 18px;text-wrap:balance}.contact-intro{font-size:16px}.contact-details{align-items:flex-start;flex-direction:column;gap:45px;margin-top:45px}.phone{font-size:42px}.page-footer{position:relative;padding-block:30px 120px;font-size:10px;align-items:flex-start;gap:15px}.footer-brand{position:absolute;width:125px;right:24px;bottom:28px}}
/* The same narrative, presented as still compositions when motion is inappropriate. */
.motion-reduced .story,.scene-failed .story{display:none}.motion-reduced .static-story,.scene-failed .static-story{display:block}.static-complexity{padding:10vh var(--edge);display:flex;gap:2rem 2.5rem;flex-wrap:wrap;align-items:baseline;font:400 clamp(22px,5vw,85px)/1.1 'IBM Plex Sans',sans-serif;letter-spacing:-.04em}.static-complexity span:nth-child(3n){color:var(--purple);font-size:.65em}.static-payoff{padding:30vh 5vw;font:700 15.7vw/.95 'IBM Plex Sans',sans-serif;letter-spacing:-.045em;color:var(--purple)}.static-payoff span{display:block}
@media(prefers-reduced-motion:reduce){.story{display:none}.static-story{display:block}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.story,.static-story,.skip-link,.menu-toggle{display:none}.masthead{position:static}.masthead nav{display:flex}.discipline,.about,.contact{break-inside:avoid}.connection h1{font-size:50px}.discipline-content h2,.about h2,.contact h2{font-size:45px}}

.no-js .story{display:none}.no-js .static-story{display:block}

@media(max-width:600px){
  /* Subtract the actual header height, including enlarged menu text. */
  .masthead nav{max-height:calc(100svh - 100%);max-height:calc(100dvh - 100%);overflow-y:auto;overscroll-behavior-y:contain}
  /* Keep every link available before JavaScript enhances the menu. */
  .no-js .masthead{position:relative;flex-wrap:wrap;gap:20px}
  .no-js .menu-toggle{display:none}
  .no-js .masthead nav{display:flex;position:static;flex-basis:100%;max-height:none;overflow:visible;padding:0;border:0}
}

.tunnel-first-frame{position:absolute;inset:0;overflow:hidden;background:#27343d}.tunnel-first-frame img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;max-width:none;object-fit:cover}.scene-ready .tunnel-first-frame{display:none}.scroll-cue{color:#fff}.scroll-cue i{background:#fff9}.payoff{font-size:17.25vw;word-spacing:.025em}

@media(max-width:600px){.payoff{font-size:16.8vw}}

/* A quiet identity before processes emerge from the tunnel. */
.landing-identity{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 4vh;gap:27px;pointer-events:none;will-change:transform,opacity}
.landing-identity img{width:clamp(230px,25vw,350px);height:auto;filter:drop-shadow(0 0 16px #f8f8f561)}
.landing-identity p{font-size:15px;font-weight:400;line-height:1.4;letter-spacing:.015em;color:#fff;text-shadow:0 1px 12px #13151a,0 1px 3px #13151a;white-space:nowrap}
.static-identity{min-height:72svh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:80px 24px}
.static-identity img{width:clamp(210px,25vw,350px);height:auto}
.static-identity p{font-size:15px;text-align:center}

@media(max-width:600px){.landing-identity{gap:24px;padding-bottom:3vh}.landing-identity img{width:220px}.landing-identity p,.static-identity p{font-size:13px;letter-spacing:0}}

/* Long Danish words must still fit when visitors enlarge text. */
.website,.static-story{overflow-wrap:anywhere}
.discipline-content,.about-copy>*,.section-register>*,.discipline-pair>*,.contact-details>div,.static-complexity>span{min-width:0}
.static-complexity>span{max-width:100%}
.landing-identity p{white-space:normal;text-align:center;overflow-wrap:anywhere}
