:root{--ink:#14181b;--muted:#72797d;--line:#e8ecee;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px;color-scheme:light}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}h1,h2{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #597c90;outline-offset:6px}a:hover{color:#597c90}.container{width:calc(100% - 100px);max-width:1160px;margin:0 auto}header{height:115px;display:flex;align-items:center;justify-content:space-between;gap:30px}.signature{width:195px;display:block;line-height:0}.signature img{width:100%;filter:invert(1)}nav{display:flex;gap:30px;font-size:14px}.intro{padding-top:95px;padding-bottom:92px}.eyebrow{font-size:12px;letter-spacing:.11em;color:var(--muted)}h1{font-size:clamp(48px,5.8vw,80px);line-height:1.12;letter-spacing:-.052em;margin-top:26px}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:30px}.intro p{font-size:18px;color:var(--muted);line-height:1.6}.contact-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:7px;white-space:nowrap}.clients{background:#f7f9f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0 23px;overflow:hidden}.client-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.client-top h2{font-size:14px;color:var(--muted)}#pause-logos{border:0;background:none;color:var(--muted);font-size:14px;padding:4px 0;cursor:pointer}#pause-logos:hover{color:var(--ink)}.carousel-window{overflow:hidden;position:relative;margin-top:15px}.carousel-window:before,.carousel-window:after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.carousel-window:before{left:0;background:linear-gradient(90deg,#f7f9f9,transparent)}.carousel-window:after{right:0;background:linear-gradient(-90deg,#f7f9f9,transparent)}.carousel-track{display:flex;width:max-content;animation:roll 95s linear infinite}.carousel-group{display:flex;align-items:center;gap:65px;padding-right:65px}.carousel-logo{width:160px;height:100px;display:flex;align-items:center;justify-content:center;position:relative;flex:none;padding:12px 5px}.carousel-logo img{max-width:150px;max-height:65px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply;opacity:.65;transition:opacity .2s}.carousel-logo.white-source img{filter:grayscale(1) invert(1)}.carousel-logo:hover img{opacity:1}.carousel-logo[data-brand="NOUR"] img{width:140px;aspect-ratio:71/16}.carousel-logo[data-brand="Griffins' Steakhouse"] img{max-height:85px}.carousel-logo[data-brand="Sund Nergården"] img{max-height:65px}.carousel-name{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:12px;color:var(--muted);opacity:0}.carousel-logo:hover .carousel-name,.carousel-logo:focus-visible .carousel-name{opacity:1}.clients.paused .carousel-track,.carousel-window:focus-within .carousel-track{animation-play-state:paused}@keyframes roll{to{transform:translateX(-50%)}}.photography{padding-top:68px;padding-bottom:74px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-header h2,.about h2{font-size:22px;letter-spacing:-.025em}.section-header>span{font-size:12px;color:var(--muted);letter-spacing:.08em}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photocard{border:0;padding:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}.image-wrap{display:block;overflow:hidden}.photocard img{width:100%;aspect-ratio:1.05;object-fit:cover;display:block;transition:transform .4s}.photocard:hover img{transform:scale(1.025)}.photolabel{display:block;font-size:14px;color:var(--muted);margin-top:12px}.about{padding-top:48px;padding-bottom:66px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.65fr;gap:60px}.about p{font-size:17px;max-width:660px}.about p.muted{font-size:14px;color:var(--muted);margin-top:20px}.instagram{display:inline-block;font-size:14px;border-bottom:1px solid var(--ink);margin-top:14px}.contact{padding-top:42px;padding-bottom:45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:27px;letter-spacing:-.03em}.contact>a{font-size:14px;border:1px solid #d5dce0;padding:12px 20px;border-radius:4px;white-space:nowrap}.contact>a:hover{border-color:#597c90}footer{border-top:1px solid var(--line);padding:23px 0 27px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:60px 70px 30px;background:#121615;color:white;overflow:auto}dialog::backdrop{background:#121615}.lightboxbody{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.lightboxbody img{max-width:100%;max-height:calc(100dvh - 140px);object-fit:contain}.lightboxcaption{display:flex;justify-content:space-between;width:min(100%,650px);font-size:14px;gap:20px}dialog button{border:0;background:transparent;color:white;cursor:pointer}.close{position:absolute;top:18px;right:22px;font-size:14px}.prev,.next{position:absolute;top:48%;font-size:48px;padding:8px 12px}.prev{left:8px}.next{right:8px}@media(max-width:800px){.container{width:calc(100% - 60px)}.intro{padding-top:65px;padding-bottom:65px}.intro-bottom{display:block}.contact-link{display:inline-block;margin-top:25px}.gallery{gap:15px}.about{gap:30px;grid-template-columns:1fr 2fr}.contact h2{font-size:23px}.carousel-group{gap:45px;padding-right:45px}}@media(max-width:560px){.container{width:calc(100% - 40px)}header{height:90px;gap:15px}.signature{width:150px}nav{gap:16px}nav a:first-child{display:none}.intro{padding-top:43px;padding-bottom:49px}.eyebrow{font-size:12px;letter-spacing:.045em}h1{font-size:49px;margin-top:24px;letter-spacing:-.055em}.intro p{font-size:16px}.intro-bottom{margin-top:24px}.client-top h2{font-size:14px}.carousel-logo{width:145px}.carousel-logo img{max-width:135px}.carousel-group{gap:35px;padding-right:35px}.carousel-window:before,.carousel-window:after{width:25px}.photography{padding:44px 0 46px}.section-header{align-items:start;margin-bottom:20px}.section-header h2{font-size:21px}.section-header>span{font-size:12px;letter-spacing:0;padding-top:4px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photocard img{aspect-ratio:.75}.photolabel{font-size:12px;line-height:1.4;margin-top:10px}.about{grid-template-columns:1fr;gap:22px;padding-top:32px;padding-bottom:38px}.about p{font-size:16px}.contact{display:block;padding:32px 0}.contact h2{font-size:25px}.contact>a{display:inline-block;margin-top:20px}footer{font-size:12px;gap:15px}dialog{padding:60px 40px 20px}.prev,.next{font-size:34px;padding:8px 3px}.lightboxcaption{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-track{animation-play-state:paused}.clients:not(.paused) .carousel-track{animation-play-state:running}*{transition:none!important}}
.carousel-logo:not(.opaque-logo) img{filter:grayscale(1) brightness(.3)}.carousel-logo.white-source img{filter:grayscale(1) invert(1) brightness(.3)}

h1{max-width:920px;font-size:clamp(44px,5.3vw,72px)}@media(max-width:560px){h1{font-size:44px;line-height:1.16}}

.carousel-logo img,.carousel-logo.white-source img,.carousel-logo:not(.opaque-logo) img{filter:none;mix-blend-mode:normal;opacity:.72}.carousel-logo:hover img{opacity:1}
.carousel-logo[data-brand="+Katrineholm"] .carousel-name{opacity:1}
.brand{width:108px;flex:none;display:block;line-height:0}
.brand img{width:100%;height:auto;display:block}
.about .signature{margin-top:34px;width:190px}
@media(max-width:560px){.brand{width:86px}.about .signature{margin-top:30px;width:160px}}
/* Keep thumbnail dimensions independent of the source image dimensions. */
.image-wrap{aspect-ratio:1.05}
.photocard img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
@media(max-width:560px){
  h1{font-size:clamp(34px,10vw,44px);line-height:1.14;letter-spacing:-.045em}
  .gallery{grid-template-columns:minmax(0,1fr);gap:28px}
  .image-wrap{aspect-ratio:4/5}
  .photolabel{font-size:14px;margin-top:10px}
  .photography{padding-top:36px;padding-bottom:40px}
  .contact>a{white-space:normal}
  footer{flex-wrap:wrap}
}

@media(hover:hover) and (pointer:fine){.clients:hover .carousel-track{animation-play-state:paused}}
.client-top h2 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.clients-page-intro{padding:66px 0 44px}
.clients-page-intro h1{margin-top:18px}
.clients-page-intro p{margin-top:20px;color:var(--muted);font-size:16px}
.clients-page-list{padding-bottom:95px}
.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.client-card{min-width:0;min-height:186px;padding:26px 14px 20px;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;transition:background .2s}
.client-card:hover{background:#f7f9f9;color:var(--ink)}
.client-card-logo{width:100%;height:88px;display:flex;justify-content:center;align-items:center}
.client-card-logo img{display:block;max-width:min(100%,180px);max-height:80px;width:auto;height:auto;object-fit:contain}
.client-card-name{font-size:14px;line-height:1.35;color:var(--muted)}
@media(max-width:800px){.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.clients-page-intro{padding:42px 0 34px}.clients-page-intro p{margin-top:14px}.clients-page-list{padding-bottom:55px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-card{min-height:154px;padding:16px 8px;gap:9px}.client-card-logo{height:70px}.client-card-logo img{max-width:min(100%,135px);max-height:62px}.client-card-name{font-size:13px}body.clients-page header nav a:first-child{display:inline}.clients-page-intro h1{font-size:clamp(38px,10vw,50px)}}
/* Dundra typography */
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;letter-spacing:-.012em}
h1,h2{font-weight:500}
h1{max-width:850px;line-height:1.08;letter-spacing:-.06em}
nav,.contact-link,.contact>a{font-weight:500;letter-spacing:0}
.eyebrow{font-weight:600;letter-spacing:.12em}
.intro p,.about p{line-height:1.6;letter-spacing:-.012em}
.section-header h2,.about h2{font-weight:500;letter-spacing:-.035em}
.client-card-name,.photolabel{letter-spacing:0}
@media(max-width:560px){h1{font-size:clamp(34px,10vw,44px);line-height:1.12;letter-spacing:-.05em}.eyebrow{font-size:12px;letter-spacing:.08em}.intro p{font-size:16px}}
.carousel-logo[data-brand="Stockholm Fisk"] .carousel-name{opacity:1}
.films{border-top:1px solid var(--line);padding-top:55px;padding-bottom:70px}
.film-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}
.film-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.1;letter-spacing:-.05em;margin-top:10px}
.film-swipe-hint{display:none;color:var(--muted);font-size:12px}
.film-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:940px}
.film-card{min-width:0;margin:0}
.film-card video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#111}
.film-card h3{font-size:14px;font-weight:500;line-height:1.4;margin:12px 0 0;letter-spacing:0}
@media(max-width:800px){.film-gallery{gap:14px}}
@media(max-width:560px){.films{padding-top:36px;padding-bottom:42px}.film-heading{margin-bottom:20px}.film-heading h2{font-size:32px}.film-swipe-hint{display:block}.film-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;gap:13px;margin-left:-20px;margin-right:-20px;padding:0 20px 15px;scrollbar-width:thin}.film-card{flex:0 0 min(76vw,305px);scroll-snap-align:start}body:not(.clients-page) nav a[href="#fotografi"]{display:none}}

/* Keep gallery photographs at an equal width on desktop. */
@media(min-width:561px){#gallery{grid-template-columns:repeat(6,minmax(0,1fr))}#gallery .photocard{grid-column:span 2}#gallery .photocard:nth-child(n+4){grid-column:span 2}#gallery .photocard:nth-child(n+4) .image-wrap{aspect-ratio:4/5}}

@media(min-width:561px){.film-gallery{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}}

@media(min-width:1000px){.film-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:561px) and (max-width:999px){.film-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(min-width:561px){.film-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}

.carousel-logo[data-brand="Berns"] .carousel-name{opacity:1}

@media(min-width:561px){#gallery .photocard:nth-child(n+4){grid-column:span 2}}
@media(min-width:1000px){.film-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:561px) and (max-width:999px){.film-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}

.carousel-logo[data-brand="Chez Jolie"] img,.client-card-logo img[src="assets/logos/chez-jolie.png"]{filter:grayscale(1) brightness(.3)}

@media(min-width:561px){#gallery .photocard:nth-child(n+4){grid-column:span 2}}

@media(min-width:561px){.film-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Equal photo sizes with centered portrait pairs. */
#gallery .photocard .image-wrap{aspect-ratio:4/5}
@media(min-width:561px){#gallery{grid-template-columns:repeat(6,minmax(0,1fr))}#gallery .photocard{grid-column:span 2}#gallery .photocard:nth-child(4),#gallery .photocard:nth-child(6){grid-column:2/span 2}#gallery .photocard:nth-child(5),#gallery .photocard:nth-child(7){grid-column:4/span 2}}

.carousel-logo[data-brand="Le Hibou"] img{max-height:85px}
