/* V15 – SAAS Prosjekter. */
.projects-page,.project-page{background:#1b1e1b;color:#f2f1ec}
.projects-page .contact{background:#2b332a}
.projects-page footer,.project-page footer{background:#20231f}
.projects-page header.solid,.project-page header.solid{color:#f2f1ec;border-color:#ffffff25}
.projects-page header.solid .logo img,.project-page header.solid .logo img{filter:none}
.reference-wrap{width:100%;max-width:1800px;margin:0 auto;padding-left:6vw;padding-right:6vw}
.reference-intro{padding-top:85px;padding-bottom:90px}
.reference-intro .chapter{margin-bottom:65px;color:#aeb9a7;font-size:14px}
.reference-heading{display:flex;flex-wrap:wrap;gap:35px 8vw;align-items:end;justify-content:space-between}
.reference-heading h1{flex:0 1 auto;font-size:clamp(3rem,7.4vw,8rem);letter-spacing:-.055em}
.reference-heading p{flex:1 1 300px;max-width:440px;font-size:18px;color:#bdc5b8;padding-bottom:8px}
.reference-overview{padding-bottom:160px}
.reference-filters{display:flex;flex-wrap:wrap;gap:14px 30px;border-top:1px solid #ffffff30;padding:22px 0;margin-bottom:65px}
.reference-filters[hidden]{display:none}
.reference-filters button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;background:none;border:0;border-bottom:1px solid transparent;color:#aeb9a7;font-size:14px}
.reference-filters button span{font-size:12px;opacity:.65}
.reference-filters button[aria-pressed=true]{color:#f2f1ec;border-bottom-color:#f2f1ec}
.reference-filters button:hover{color:#fff}
.reference-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);column-gap:7vw;row-gap:100px;align-items:start}
.reference-card{min-width:0}.reference-card[hidden]{display:none}
.reference-card:nth-child(2n+3){padding-top:110px}
.reference-link{display:block}
.reference-image{aspect-ratio:1.3;overflow:hidden;background:#2b332a}
.reference-card.is-portrait .reference-image{aspect-ratio:.85}
.reference-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.reference-link:hover img{transform:scale(1.035)}
.reference-meta{display:flex;justify-content:space-between;gap:20px;margin:25px 0 12px;font-size:14px;color:#aeb9a7}
.reference-title{display:flex;justify-content:space-between;align-items:start;gap:25px}
.reference-title h2{font-size:clamp(1.75rem,2.9vw,3.4rem);overflow-wrap:anywhere}
.reference-title>span{flex:0 0 auto;font-size:28px}
.reference-lead{max-width:600px;margin-top:22px;color:#bbc6b5;font-size:18px}
.reference-feature{grid-column:1/-1;padding-top:0!important;padding-bottom:45px}
.reference-feature .reference-image{aspect-ratio:1.85}
.reference-feature .reference-title h2{font-size:clamp(2.6rem,5.3vw,6rem)}
.reference-feature .reference-title>span{font-size:50px}
.reference-feature .reference-meta{margin-top:30px}
.reference-grid.is-filtered .reference-card{padding-top:0;padding-bottom:0;grid-column:auto}
.reference-grid.is-filtered .reference-feature .reference-image{aspect-ratio:1.3}
.reference-grid.is-filtered .reference-feature .reference-title h2{font-size:clamp(1.75rem,2.9vw,3.4rem)}
.reference-grid.is-filtered .reference-feature .reference-title>span{font-size:28px}
.reference-grid.is-filtered .reference-lead{display:none}
.case-heading{padding-top:55px;padding-bottom:70px}
.project-page .back{color:#bbc6b5;min-height:44px;font-size:14px}
.case-heading-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(200px,.6fr);gap:8vw;align-items:end;margin-top:60px}
.case-heading-row h1{font-size:clamp(3rem,6.7vw,7.7rem);max-width:1100px}
.case-heading-row .eyebrow{display:block;font-size:14px;letter-spacing:.05em;margin-bottom:16px;color:#aeb9a7}
.case-heading-row p{font-size:18px}
.case-hero{margin:0 3vw;height:72vh;min-height:480px;max-height:1000px;background:#2b332a}
.case-hero button{display:block;width:100%;height:100%;border:0;padding:0;background:none;cursor:zoom-in}
.case-hero img{width:100%;height:100%;object-fit:cover}
.case-hero.is-portrait{height:auto;min-height:0;max-height:none;width:min(78vw,800px);margin:0 auto;background:none}
.case-hero.is-portrait button{height:auto}
.case-hero.is-portrait img{height:auto;max-height:95svh;object-fit:contain}
.case-story{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.65fr);gap:12vw;padding-top:120px;padding-bottom:120px}
.case-copy{max-width:720px}
.case-copy p{font-size:18px;line-height:1.75;max-width:100%;color:#bbc6b5;margin-top:28px}
.case-copy .case-lead{font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:1.4;color:#f2f1ec;margin-top:0;letter-spacing:-.025em}
.case-facts dl{margin:0;border-top:1px solid #ffffff35}
.case-facts dl>div{padding:20px 0;border-bottom:1px solid #ffffff25}
.case-facts dt{font-size:13px;color:#aeb9a7;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.case-facts dd{margin:0;font-size:16px;line-height:1.6}
/* V16 – one continuous picture sequence per project. */
.case-reel{--case-photo-height:clamp(260px,62svh,740px);position:relative}
.case-reel-stage{padding:35px 0 55px}
.case-reel-track{position:relative;display:flex;align-items:center;gap:clamp(55px,12vw,200px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9caa9c #ffffff12;padding:0 6vw 18px;scroll-padding-inline:6vw}
.case-reel.is-ready .case-reel-track{padding-left:calc((100% - var(--case-first-width))/2);padding-right:calc((100% - var(--case-last-width))/2);scroll-padding-inline:0}
.case-frame{flex:0 0 auto;width:min(82vw,calc(var(--case-photo-height)*var(--photo-ratio)));min-width:0;margin:0;scroll-snap-align:center}
.case-frame button{display:block;width:100%;height:var(--case-photo-height);padding:0;border:0;background:none;cursor:zoom-in}
.case-frame img{width:100%;height:100%;object-fit:contain}
.case-frame figcaption{padding-top:16px;font-size:14px;color:#aeb9a7}
.case-reel-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 6vw;margin-top:35px;font-size:14px;color:#bdc5b8}
.case-reel-controls{display:flex;gap:14px}
.case-reel-controls[hidden]{display:none}
.case-reel-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #aeb9a760;border-radius:50%;background:none;color:#f2f1ec}
.case-reel-controls .arrow-icon{width:23px;height:23px}
.case-reel-controls button:hover:not(:disabled){background:#2b332a}
.case-reel-controls button:disabled{opacity:.28;cursor:default}
.case-reel.is-scroll-linked{height:calc(100svh + var(--case-travel,0px))}
.case-reel.is-scroll-linked .case-reel-stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:4svh;padding:6svh 0;overflow:hidden}
.case-reel.is-scroll-linked .case-reel-track{flex:0 0 auto;overflow-x:hidden;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;padding-bottom:0}
.case-reel.is-scroll-linked .case-reel-track::-webkit-scrollbar{display:none}
.case-reel.is-scroll-linked .case-reel-footer{flex:0 0 auto;margin-top:0}
@media(max-width:700px){.case-reel{--case-photo-height:clamp(280px,58svh,580px)}.case-reel-stage{padding:15px 0 30px}.case-reel-track{gap:14vw;padding-bottom:16px}.case-reel-footer{padding:0 7vw;margin-top:25px}.case-reel-controls{gap:12px}.case-reel-controls button{width:44px;height:44px}}
.case-products{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-top:80px;padding-bottom:100px;border-top:1px solid #ffffff25}
.case-products .eyebrow{display:block;color:#aeb9a7;font-size:14px}
.case-products h2{font-size:clamp(2.25rem,4vw,4.5rem)}
.case-products ul{margin:0;padding:0;list-style:none;border-top:1px solid #ffffff35}
.case-products li{border-bottom:1px solid #ffffff25}
.case-products a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;font-size:18px}
.case-products a:hover{color:#b9c5b0}
.case-products small{display:block;font-size:13px;color:#aeb9a7;margin-top:3px}
.case-product-name{display:block;padding:18px 0;font-size:18px}
.case-source{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;padding-bottom:85px;color:#aeb9a7;font-size:14px}
.case-source a{text-decoration:underline;text-underline-offset:4px;color:#f2f1ec}
.case-next{padding-top:95px;padding-bottom:100px;border-top:1px solid #ffffff25;background:#2b332a}
.case-next>.eyebrow{color:#bbc6b5;font-size:14px;display:block}
.case-next>a:not(.back){display:flex;align-items:start;justify-content:space-between;gap:35px}
.case-next h2{font-size:clamp(2.4rem,5.7vw,6.3rem);max-width:1050px;overflow-wrap:anywhere}
.case-next>a>span{flex:0 0 auto;font-size:clamp(2.4rem,5vw,5.5rem)}
.case-next>.back{margin-top:60px}
.project-page .lightbox .controls{gap:15px}.project-page .lightbox [data-caption]{font-size:14px}
@media(max-width:1000px){.reference-heading{grid-template-columns:1fr;gap:35px}.reference-heading p{max-width:480px}.case-heading-row{grid-template-columns:1fr;gap:35px}.case-heading-row h1{max-width:850px}.case-story{gap:7vw}.reference-meta{flex-direction:column;gap:3px}}
@media(max-width:700px){.reference-wrap{padding-left:7vw;padding-right:7vw}.reference-intro{padding-top:55px;padding-bottom:50px}.reference-intro .chapter{margin-bottom:40px}.reference-heading h1{font-size:clamp(2.85rem,11vw,4.8rem)}.reference-heading p{font-size:17px}.reference-filters{gap:5px 22px;margin-bottom:38px;padding:16px 0}.reference-grid{grid-template-columns:1fr;row-gap:65px}.reference-card:nth-child(n){padding:0}.reference-feature{grid-column:auto}.reference-feature .reference-image{aspect-ratio:1.2}.reference-title h2,.reference-feature .reference-title h2{font-size:clamp(1.9rem,7vw,3rem)}.reference-feature .reference-title>span{font-size:30px}.reference-meta{margin-top:20px;font-size:13px}.reference-lead{font-size:16px}.reference-overview{padding-bottom:90px}.case-heading{padding-top:32px;padding-bottom:45px}.case-heading-row{margin-top:35px;gap:25px}.case-heading-row h1{font-size:clamp(2.7rem,9vw,4.6rem)}.case-heading-row p{font-size:16px}.case-hero{margin:0;height:62svh;min-height:360px;max-height:640px}.case-story{grid-template-columns:1fr;gap:45px;padding-top:65px;padding-bottom:70px}.case-copy p{font-size:17px}.case-copy .case-lead{font-size:24px}.case-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.case-products{grid-template-columns:1fr;gap:40px;padding-top:60px;padding-bottom:60px}.case-products h2 br{display:none}.case-source{padding-bottom:55px;font-size:13px}.case-next{padding-top:65px;padding-bottom:65px}.case-next h2{font-size:clamp(2.2rem,8vw,3.5rem)}.case-next>a:not(.back){gap:20px}.case-next>a>span{font-size:32px}.project-page .lightbox img{height:70svh}.project-page .lightbox .controls{flex-wrap:wrap;justify-content:center;padding:15px}.project-page .lightbox [data-caption]{order:2;width:100%;text-align:center;font-size:13px}}
@media(prefers-reduced-motion:reduce){.reference-image img{transition:none}.reference-link:hover img{transform:none}}

@media(max-width:700px){.reference-card.is-portrait .reference-image{aspect-ratio:1.05}.case-hero.is-portrait{width:100%}.case-hero.is-portrait img{max-height:none}}
