@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap');
:root{--black:#101116;--ink:#17181e;--paper:#e8e1d3;--orange:#f5a900;--white:#f3f0ea;--muted:#a3a09a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font-family:Manrope,sans-serif}.profile-nav{height:82px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff18;font:12px 'DM Mono',monospace;letter-spacing:.14em;color:var(--muted)}.back{color:var(--white);text-decoration:none}.back:hover{color:var(--orange)}.profile-hero{min-height:720px;padding:90px 10vw 110px;display:grid;grid-template-columns:1fr minmax(300px,520px);gap:9vw;align-items:center;background:radial-gradient(#fff 0.6px,transparent .8px);background-size:5px 5px}.hero-copy{max-width:680px}.eyebrow{font:12px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 28px}.hero-copy h1{font-size:clamp(76px,12vw,180px);line-height:.78;letter-spacing:-.1em;margin:0;color:var(--orange)}.hero-copy h1 em{font-style:normal;color:var(--white)}.intro{font-size:clamp(20px,2.5vw,32px);line-height:1.25;max-width:520px;color:var(--white);margin:45px 0 34px}.hero-links{display:flex;gap:10px;flex-wrap:wrap}.hero-links a,.profile-button{display:inline-block;padding:13px 16px;background:var(--orange);color:var(--black);font:12px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.hero-links a:hover,.profile-button:hover{background:var(--white)}.hero-image{margin:0}.hero-image img{width:100%;height:auto;display:block;background:var(--ink)}.hero-image figcaption{font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:12px}.profile-story{background:var(--paper);color:var(--ink);padding:120px 10vw}.profile-story .eyebrow,.profile-work .eyebrow,.profile-close .eyebrow{color:#946600}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw}.story-grid h2{font-size:clamp(46px,6vw,96px);line-height:.9;letter-spacing:-.08em;margin:0}.story-grid p{font-size:20px;line-height:1.5;margin:0 0 24px}.profile-quote{padding:120px 10vw;background:var(--orange);color:var(--black)}.profile-quote p{font-size:clamp(40px,6vw,86px);line-height:.95;letter-spacing:-.07em;max-width:900px;margin:0 0 28px}.profile-quote span{font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em}.profile-work{padding:130px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.profile-work h2{font-size:clamp(40px,5vw,78px);line-height:.94;letter-spacing:-.07em;color:var(--white);margin:0}.work-list{border-top:1px solid #ffffff28}.work-list div{display:flex;gap:30px;padding:22px 0;border-bottom:1px solid #ffffff28}.work-list span{font:12px 'DM Mono',monospace;color:var(--orange)}.work-list p{font-size:22px;color:var(--white);margin:0}.profile-close{padding:130px 10vw 160px;background:var(--paper);color:var(--ink)}.profile-close h2{font-size:clamp(56px,8vw,120px);line-height:.88;letter-spacing:-.08em;color:var(--ink);margin:0 0 42px}.profile-button{background:var(--ink);color:var(--white)}footer{border-top:1px solid #ffffff18;padding:28px 5vw;display:flex;justify-content:space-between;color:var(--muted);font:11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}@media(max-width:800px){.profile-nav{padding:0 7vw}.profile-hero{display:block;padding:75px 7vw 90px}.hero-copy{margin-bottom:58px}.hero-copy h1{font-size:22vw}.intro{margin:34px 0 28px}.hero-image{max-width:520px}.profile-story,.profile-quote,.profile-work,.profile-close{padding:85px 7vw}.story-grid,.profile-work{display:block}.story-grid h2{margin-bottom:38px}.story-grid p{font-size:18px}.profile-quote p{font-size:48px}.work-list{margin-top:55px}.profile-close h2{font-size:17vw}footer{padding:25px 7vw;display:block;line-height:2.2}}
/* The profile hero stays dark and calm; the dense dot field belongs to the front page only. */
.profile-hero{background:var(--black)}
.hero-links a:hover,.profile-button:hover{background:var(--orange);color:var(--black)}
.source-note{font:12px 'DM Mono',monospace!important;letter-spacing:.02em;color:#5d5a55}
.source-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.profile-cutout img{background:transparent!important}
.halvar-image img{aspect-ratio:1/1;object-fit:cover;object-position:50% 39%;background:var(--ink)}
@media(min-width:801px){.profile-hero{min-height:calc(100vh - 82px);padding:42px 10vw 54px;grid-template-columns:minmax(0,1fr) minmax(280px,440px);gap:7vw}.hero-copy h1{font-size:clamp(70px,10vw,150px)}.intro{font-size:clamp(18px,2vw,27px);margin:34px 0 28px}.hero-image{width:min(100%,440px);justify-self:end}.hero-image img{max-height:calc(100vh - 190px);object-fit:contain}.hero-image figcaption{margin-top:8px}}
.hero-image figcaption{display:none}
@media(max-width:800px){.profile-hero{display:flex;flex-direction:column}.hero-image{order:-1}.hero-copy{order:1}}
@media(min-width:801px){.profile-hero{grid-template-columns:minmax(0,1fr) minmax(300px,500px)}.hero-image{width:min(100%,500px)}}
.profile-hero .hero-image{width:min(100%,560px)!important;max-width:560px!important}
.profile-hero .hero-image img{display:block;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important}
@media(min-width:801px){.profile-hero{grid-template-columns:minmax(0,1fr) minmax(300px,560px);gap:7vw}}
.story-cta{display:inline-flex;gap:28px;align-items:center;color:var(--white);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--orange);font:13px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 28px;transition:color .2s ease,border-color .2s ease}.story-cta span{color:var(--orange);transition:color .2s ease,transform .2s ease}.story-cta:hover{color:var(--orange);border-bottom-color:var(--white)}.story-cta:hover span{color:var(--white);transform:translateX(5px)}.hero-tags{font:11px/1.7 'DM Mono',monospace;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);max-width:420px;margin:0 0 28px}.story-lead{font-size:clamp(23px,2.4vw,32px)!important;line-height:1.5!important;letter-spacing:-.025em}.profile-resources{padding:100px 10vw;background:var(--black);color:var(--white)}.resource-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw}.resource-grid h2{font-size:clamp(46px,6vw,88px);line-height:.9;letter-spacing:-.08em;margin:0 0 28px}.resource-note{max-width:320px;color:var(--muted);font-size:16px;line-height:1.65}.resource-row{display:grid;grid-template-columns:105px 1fr 30px;gap:20px;padding:26px 0;border-top:1px solid #ffffff28;color:var(--white);text-decoration:none;align-items:start}.resource-row:last-child{border-bottom:1px solid #ffffff28}.resource-type{font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}.resource-row strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.03em;margin-bottom:8px}.resource-row small{display:block;color:var(--muted);font-size:15px;line-height:1.55}.resource-arrow{font-size:26px;color:var(--orange)}.resource-row:hover{color:var(--orange)}.resource-row:hover small{color:var(--white)}
.social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:52px}.social-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid #ffffff28;color:var(--white);text-decoration:none;font:14px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease,border-color .2s ease,background .2s ease}.social-link span:last-child{font-size:22px;line-height:1}.social-link--linkedin:hover,.social-link--instagram:hover,.social-link--facebook:hover,.social-link--tiktok:hover{border-color:var(--orange);color:var(--orange);background:#f5a90014}.social-link--website:hover{border-color:var(--orange);color:var(--orange);background:#f5a90014}.social-links--compact{grid-template-columns:repeat(3,max-content);gap:8px;margin-top:28px}.social-links--compact .social-link{padding:10px 12px;font-size:10px;letter-spacing:.06em}.social-links--compact .social-link span:last-child{font-size:15px}
@media(max-width:800px){.story-cta{font-size:11px;margin-bottom:24px}.profile-resources{padding:85px 7vw}.resource-grid{display:block}.resource-grid h2{font-size:clamp(46px,12vw,70px)}.resource-note{margin-bottom:42px}.resource-row{grid-template-columns:1fr 28px;gap:12px;padding:24px 0}.resource-type{grid-column:1/-1}.resource-row strong{font-size:21px}.resource-row small{font-size:14px}.resource-arrow{grid-column:2;grid-row:2}.social-links{grid-template-columns:1fr;margin-top:42px}.social-link{padding:20px 22px}}
.profile-story .story-grid{display:block;max-width:1180px;margin:0 auto}.profile-story .story-grid h2{max-width:960px;margin:0 0 52px}.profile-story .story-grid>div{max-width:900px}
.profile-nav>span,.profile-footer>span:first-child,.profile-footer>span:last-child,footer>span:first-child,footer>span:last-child{display:none!important}
.hero-copy{display:flex;flex-direction:column}.hero-copy .intro{order:2}.hero-copy .hero-tags{order:3}.hero-copy .story-cta{order:4;align-self:flex-start}
.hero-copy .hero-links{display:none}.hero-image img{border-radius:50%;aspect-ratio:1;object-fit:cover;object-position:center}.hero-copy .hero-tags{order:3}.hero-copy .story-cta{order:4}.hero-copy .hero-links{order:5}


/* Mobile menu and viewport rules shared by every page. */
.mobile-menu{display:none}
@media(max-width:800px){.site-nav{display:none!important}.mobile-menu{display:block;position:relative;margin-left:auto;z-index:2100}.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--white);font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary>span:first-child{width:24px;height:16px;display:inline-block;border-top:2px solid var(--white);border-bottom:2px solid var(--white);position:relative}.mobile-menu summary>span:first-child::after{content:'';position:absolute;left:0;right:0;top:5px;border-top:2px solid var(--white)}.mobile-menu-panel{position:fixed;top:72px;left:0;right:0;padding:24px 7vw 30px;background:var(--black);border-bottom:1px solid #ffffff28;box-shadow:0 12px 24px #0008;display:grid;gap:0}.mobile-menu-panel a{padding:17px 0;border-bottom:1px solid #ffffff20;color:var(--white);text-decoration:none;font:12px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.mobile-menu-panel a:hover,.mobile-menu-panel a:focus-visible{color:var(--orange)}.mobile-menu[open] summary>span:first-child{border-color:var(--orange)}}
/* Shared homepage header */
.topbar{height:82px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff16;color:var(--white)}
.wordmark{display:block;color:inherit;text-decoration:none;font-weight:800;letter-spacing:.14em;font-size:20px}
.wordmark span{font:11px 'DM Mono',monospace;display:block;color:var(--muted);letter-spacing:.14em;margin-top:6px}
.brand-icon{display:inline-block;width:22px;height:22px;margin-right:10px;vertical-align:-4px;color:var(--orange)}
.brand-name{display:inline!important;font:inherit!important;color:var(--white)!important;letter-spacing:inherit!important;margin:0!important}
.topnote{display:flex;align-items:center;gap:18px;font:12px 'DM Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--orange)}
.topnote a{color:var(--orange);text-decoration:none}.topnote a:hover{color:var(--white)}
@media(max-width:800px){.topbar{padding:0 6vw}.topnote{gap:0}.topnote span{display:none}.topnote a{font-size:10px}}
.hero-image img{border-radius:0!important;aspect-ratio:auto!important;object-fit:contain!important;background:transparent!important}


/* Shared sticky navigation */
.topbar{position:sticky;top:0;z-index:1000;background:var(--black)}
.wordmark{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.wordmark .brand-name{font:800 20px Manrope,sans-serif;letter-spacing:.14em;color:var(--white);margin:0}
.brand-icon{width:28px;height:28px;flex:0 0 auto}
.site-nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}
.site-nav a{color:var(--white);text-decoration:none;font:11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:color .2s ease}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--orange)}
@media(max-width:800px){.topbar{height:auto;min-height:72px;padding:14px 6vw;gap:18px}.wordmark .brand-name{font-size:16px}.brand-icon{width:24px;height:24px}.site-nav{gap:11px;justify-content:flex-end}.site-nav a{font-size:9px;letter-spacing:.04em}}

/* Shared viewport standard for profile pages and future profile pages. */
:root{--site-header-height:82px}body{padding-top:var(--site-header-height)}
@media(max-width:800px){:root{--site-header-height:72px}body{padding-top:var(--site-header-height)}}
@supports (height: 100dvh){.profile-hero{min-height:calc(100dvh - 82px)}@media(max-width:800px){.profile-hero{min-height:calc(100dvh - 72px)}}}

/* Shared mobile viewport standard for every profile page. */
@media(max-width:800px){
  .profile-hero{min-height:calc(100lvh - var(--site-header-height,72px))!important;padding-top:clamp(32px,8vh,72px)!important;padding-bottom:clamp(48px,9vh,88px)!important}
}

/* Navigation stays visible while the page moves */
body{padding-top:82px}
.topbar{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:2000;background:var(--black)}
@media(max-width:800px){body{padding-top:72px}.topbar{min-height:72px}}
/* The first event hero scales as one unit on narrow screens */
.oslo-opening{padding-left:7vw;padding-right:7vw}
.oslo-opening .opening-copy{max-width:100%;min-width:0}
.oslo-opening h1{font-size:clamp(56px,12vw,160px);line-height:.86;overflow-wrap:anywhere}
.oslo-opening .kicker{font-size:clamp(10px,1.6vw,12px);letter-spacing:.1em;line-height:1.5}
.hero-event-meta{font-size:clamp(11px,1.8vw,14px);letter-spacing:.08em}
@media(max-width:800px){.oslo-opening{padding-top:56px;padding-bottom:68px}.oslo-opening h1{font-size:clamp(56px,18vw,120px)}.oslo-opening .kicker{font-size:10px;letter-spacing:.06em}.hero-event-meta{font-size:11px;line-height:1.65}.lede{font-size:clamp(18px,5vw,24px);max-width:100%}}

/* Keep the profile portrait clear of the fixed mobile navigation. */
@media(max-width:800px){.profile-hero{padding-top:clamp(48px,8vh,96px)!important}}
footer{justify-content:center!important;text-align:center}
.site-nav a.nav-join{padding:10px 15px!important;border:1px solid var(--orange)!important;color:var(--orange)!important;transition:background .2s ease,color .2s ease}
.site-nav a.nav-join:hover,.site-nav a.nav-join:focus-visible{background:var(--orange)!important;color:var(--black)!important}
@media(max-width:800px){.mobile-menu-panel a.nav-join{margin-top:14px;padding:15px;border:1px solid var(--orange);color:var(--orange);text-align:center}}

