body{margin:0;background:#F3F2EF}
.oc-menu-link{transition:background-color .15s}.oc-menu-link:hover,.oc-menu-link:focus-visible{background-color:#F3F2EF}
button:focus:not(:focus-visible){outline:none}
.oc-input:focus{outline:2px solid #24352F;outline-offset:1px;border-color:#24352F}
.oc-burger{display:none}
.oc-mlink{transition:background-color .15s}.oc-mlink:hover,.oc-mlink:focus-visible{background-color:#F3F2EF}
@media (max-width: 860px){.oc-nav-desktop{display:none!important}.oc-burger{display:inline-flex!important}.oc-logo{height:15px!important}.oc-header{padding:14px 16px 14px 20px!important;flex-wrap:nowrap!important;width:calc(100% - 40px)!important;margin-top:20px!important}}
@media (min-width: 861px){.oc-mobile-only{display:none!important}}
@media (max-width: 860px){.oc-photo-hero{min-height:680px!important}.oc-photo-hero-inner{padding:150px 20px 72px!important}.oc-photo-hero{border-radius:24px!important}}
@media (max-width: 860px){.oc-services{padding:64px 16px!important}.oc-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;border-radius:18px!important;margin-bottom:10px}.oc-tab{font-size:15px!important;padding:12px 14px!important;min-height:52px!important;line-height:1.25;border-radius:13px!important}.oc-tabpanel{border-radius:22px!important;padding:28px 22px!important;gap:32px!important}.oc-tabpanel>div{flex-basis:100%!important;gap:24px!important}.oc-tab-h3{font-size:1.75rem!important}.oc-feat-h{font-size:19px!important}.oc-feat-p{font-size:16px!important}}
@keyframes oc-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes oc-drop{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes oc-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes oc-marquee{to{transform:translateX(-50%)}}
@keyframes oc-swapA{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes oc-swapB{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes oc-reveal{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}
@keyframes oc-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(-6deg)}}
.oc-in{animation:oc-up .9s cubic-bezier(.2,.7,.2,1) both}
.oc-d1{animation-delay:.08s}.oc-d2{animation-delay:.22s}.oc-d3{animation-delay:.38s}.oc-d4{animation-delay:.55s}
.oc-drop{animation:oc-drop .22s cubic-bezier(.2,.7,.2,1) both;transform-origin:top center}
.oc-zoom{animation:oc-zoom 2.6s cubic-bezier(.2,.7,.2,1) both}
.oc-marquee-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.oc-marquee{display:flex;width:max-content;animation:oc-marquee 45s linear infinite}
.oc-marquee-wrap:hover .oc-marquee{animation-play-state:paused}
.oc-pill{transition:background-color .25s,border-color .25s,transform .25s}.oc-pill:hover{background-color:#FCBE11;border-color:#FCBE11;transform:translateY(-3px)}
.oc-lift{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}.oc-lift:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(44,44,44,.16)}
.oc-card{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}.oc-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(36,53,47,.12)}
.oc-navlink{background-image:linear-gradient(#FCBE11,#FCBE11);background-size:0 2px;background-repeat:no-repeat;background-position:0 85%;transition:background-size .3s cubic-bezier(.2,.7,.2,1)}.oc-navlink:hover,.oc-navlink:focus-visible{background-size:100% 2px}
.oc-arrow{display:inline-block;transition:transform .25s}.oc-arrow-link:hover .oc-arrow{transform:translateX(6px)}
@supports (animation-timeline: view()){.oc-reveal{animation:oc-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}
@keyframes oc-spin{to{transform:rotate(360deg)}}
@keyframes oc-topo{0%{transform:translate(0,0) rotate(0deg) scale(1)}50%{transform:translate(-40px,24px) rotate(6deg) scale(1.04)}100%{transform:translate(0,0) rotate(0deg) scale(1)}}
@keyframes oc-par{from{transform:translateY(-7%) scale(1.16)}to{transform:translateY(7%) scale(1.16)}}
.oc-topo{animation:oc-topo 38s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes oc-heroexit{to{transform:scale(.93);border-radius:56px;filter:brightness(.6)}}
@supports (animation-timeline: view()){.oc-hero-card{animation:oc-heroexit linear both;animation-timeline:view();animation-range:exit 0% exit 90%;transform-origin:center top}}
@supports (animation-timeline: view()){.oc-parallax{animation:oc-par linear both;animation-timeline:view();animation-range:cover}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
a{color:#24352F}a:hover{color:#000000}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
.oc-menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;border:0;cursor:pointer;font-family:inherit;font-size:17px;font-weight:500;color:#FFFFFF;padding:10px 16px;margin:0 -16px;border-radius:12px;background:transparent}
.oc-menu-btn[aria-expanded="true"]{background:rgba(255,255,255,.16)}
.oc-chev{transition:transform .2s}.oc-menu-btn[aria-expanded="true"] .oc-chev{transform:rotate(180deg)}
.oc-burger .oc-icon-close{display:none}.oc-burger[aria-expanded="true"] .oc-icon-close{display:block}.oc-burger[aria-expanded="true"] .oc-icon-open{display:none}
.oc-tab{flex:1 1 200px;min-height:56px;border:0;cursor:pointer;font-family:inherit;font-size:19px;font-weight:500;text-align:left;padding:16px 22px;border-radius:16px;background:transparent;color:#5E5E5E}
.oc-tab[aria-selected="true"]{background:#FFFFFF;color:#2C2C2C}
.oc-swap>div{animation:oc-swapA .5s cubic-bezier(.2,.7,.2,1) both}.oc-swap>div+div{animation-delay:.08s}
.oc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
button:disabled{opacity:.6;cursor:wait}


a[href^="tel:"]{white-space:nowrap}
@media (max-width: 860px){
section[aria-label="Hva vi står for"]{padding:64px 0 8px!important}
.oc-services{padding:48px 16px!important}
#om-oss>div{padding:72px 24px!important;gap:24px!important}
#kontakt{padding:32px 12px 72px!important}
#kontakt>div{padding:28px 16px 16px!important;border-radius:24px!important;gap:28px!important}
#kontakt>div>div:first-child{padding:0 8px}
#skjema{padding:20px!important;border-radius:18px!important}
footer>div:first-child{padding:48px 24px!important}
footer>div:last-child{padding:0 24px 32px!important}
}

/* ---------- Portefølje ---------- */
.oc-works{max-width:1280px;margin:0 auto;padding:140px 32px 24px}
.oc-works-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:28px}
.oc-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.oc-chip{border:1px solid #D6D3CC;background:#FFFFFF;color:#2C2C2C;border-radius:999px;padding:10px 20px;min-height:44px;font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.oc-chip[aria-pressed="true"]{background:#2C2C2C;color:#FFFFFF;border-color:#2C2C2C}
.oc-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;grid-auto-flow:dense;gap:16px}
.oc-tile{position:relative;overflow:hidden;border:0;padding:0;cursor:pointer;text-align:left;border-radius:22px;font-family:inherit;background:#2C2C2C;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.oc-tile:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(36,53,47,.16)}
.oc-tile[hidden]{display:none!important}
.oc-tile img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;display:block}
.oc-play-wrap{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,53,47,.10) 0%,rgba(36,53,47,.65) 100%);display:flex;align-items:center;justify-content:center}
.oc-play{width:88px;height:88px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.oc-tile:hover .oc-play{transform:scale(1.08)}
.oc-clients{margin-top:32px;background:#2C2C2C;border-radius:28px;padding:36px clamp(20px,4vw,48px) 28px;display:flex;flex-direction:column;align-items:center;gap:24px}
.oc-clients-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#FCBE11;text-align:center}
.oc-logos{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.oc-logo-cell{display:flex;align-items:center;justify-content:center;height:88px;padding:0 24px}
.oc-logo-cell img{max-width:100%;width:auto;display:block;object-fit:contain;opacity:.9}
.oc-logo-sep{border-left:1px solid rgba(255,255,255,.12)}
.oc-lightbox{position:fixed;inset:0;z-index:60;background:rgba(28,28,28,.92);display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;animation:oc-fade .25s ease-out both}
@keyframes oc-fade{from{opacity:0}to{opacity:1}}
.oc-lb-inner{position:relative;width:min(1100px,100%);display:flex;flex-direction:column;gap:16px}
.oc-lb-media{position:relative;width:100%;aspect-ratio:16/10;max-height:78vh;border-radius:20px;overflow:hidden;background:#1E1E1E}
.oc-lb-media img{width:100%;height:100%;object-fit:contain;display:block}
.oc-lb-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.oc-lb-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:#FFFFFF}
.oc-lb-text{display:flex;flex-direction:column;gap:2px}.oc-lb-title{font-size:18px;font-weight:600}.oc-lb-sub{font-size:14px;color:#CFCFCF}
.oc-lb-btns{display:flex;gap:8px}
.oc-lb-btn{width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#FFFFFF;cursor:pointer;font-size:20px;transition:background-color .2s}
.oc-lb-btn:hover{background:rgba(255,255,255,.22)}
@media (max-width: 860px){.oc-works{padding:72px 16px 24px}.oc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:10px}.oc-gallery>.oc-tile{grid-column:span 1!important;grid-row:span 1!important}.oc-gallery>.oc-g-big{grid-column:span 2!important;grid-row:span 2!important}.oc-gallery>.oc-g-wide{grid-column:span 2!important}}
@media (max-width: 860px){.oc-play{width:64px;height:64px}}
@media (max-width: 600px){.oc-lightbox{padding:16px}.oc-lb-media:not(.is-video){aspect-ratio:auto;max-height:none}.oc-lb-media:not(.is-video) img{height:auto;max-height:70vh}.oc-logos{grid-template-columns:1fr}.oc-logo-sep{border-left:0;border-top:1px solid rgba(255,255,255,.12)}}
@media (max-width: 860px){.oc-photo-hero picture img{object-position:50% 62%!important}}

/* ---------- Spørsmål og svar ---------- */
.oc-faq{max-width:1280px;margin:0 auto;padding:72px 32px}
.oc-faq-title{margin:0 0 40px;font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;font-weight:400;letter-spacing:-.025em;color:#2C2C2C}
.oc-faq-list{background:#FFFFFF;border-radius:28px;padding:8px clamp(20px,3vw,40px)}
.oc-faq-item+.oc-faq-item{border-top:1px solid #E6E4DF}
.oc-faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;box-sizing:border-box;padding:22px 0;cursor:pointer;font-size:19px;line-height:1.4;font-weight:500;color:#2C2C2C}
.oc-faq-item summary::-webkit-details-marker{display:none}
.oc-faq-item summary:focus-visible{outline:2px solid #24352F;outline-offset:4px;border-radius:8px}
.oc-faq-icon{position:relative;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#F3F2EF;transition:transform .2s ease,background-color .2s ease}
.oc-faq-icon::before,.oc-faq-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;border-radius:1px;background:#2C2C2C;transform:translate(-50%,-50%)}
.oc-faq-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.oc-faq-item summary:hover .oc-faq-icon{background:#E6E4DF}
.oc-faq-item[open] .oc-faq-icon{transform:rotate(45deg)}
.oc-faq-answer{margin:0;padding:0 56px 24px 0;max-width:760px;font-size:17px;line-height:1.65;color:#4A4A4A}
.oc-faq-more{margin:28px 0 0;font-size:17px;line-height:1.6;color:#4A4A4A}
@media (max-width: 860px){.oc-faq{padding:56px 16px}.oc-faq-list{border-radius:24px}.oc-faq-item summary{font-size:17px;padding:18px 0}.oc-faq-answer{padding-right:0;font-size:16px}}

/* ---------- Tabeller i tekstsider (personvern-portal) ---------- */
.oc-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55;margin:4px 0}
.oc-table th{text-align:left;vertical-align:bottom;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5E5E5E;padding:0 16px 10px 0;border-bottom:1px solid #E6E4DF}
.oc-table td{vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid #E6E4DF}
.oc-table th:last-child,.oc-table td:last-child{padding-right:0}
.oc-table tbody tr:last-child td{border-bottom:0}
.oc-table td:first-child{font-weight:600}
@media (max-width: 640px){
.oc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.oc-table,.oc-table tbody,.oc-table tr,.oc-table td{display:block;width:100%;box-sizing:border-box}
.oc-table tr{padding:16px 0;border-bottom:1px solid #E6E4DF}
.oc-table tbody tr:first-child{border-top:1px solid #E6E4DF}
.oc-table tbody tr:last-child{border-bottom:0}
.oc-table td{border:0;padding:0}
.oc-table td:first-child{font-size:16px}
.oc-table td+td{margin-top:10px}
.oc-table td+td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5E5E5E;margin-bottom:2px}
}
/* Lange ord og lenker i tekstsidene skal brytes i stedet for å gjøre siden bredere på mobil */
main article{overflow-wrap:break-word}
main article a{overflow-wrap:anywhere}
