
:root{--ink:#1d2024;--ink2:#2a2e33;--wood:#a8601f;--wood-d:#8a4d15;--bg:#fff;--bg2:#f3f1ee;--tx:#1d2024;--mut:#5d6269;--line:#ddd9d3;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#15171a;--bg2:#1d2024;--tx:#f1efec;--mut:#a9aeb5;--line:#34383e}}
:root[data-theme="dark"]{--bg:#15171a;--bg2:#1d2024;--tx:#f1efec;--mut:#a9aeb5;--line:#34383e}
html{scroll-padding-top:calc(112px + env(safe-area-inset-top,0px));scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--tx);font:400 17px/1.65 "Public Sans",system-ui,sans-serif}
h1,h2,h3{font-family:Archivo,"Arial Narrow",system-ui,sans-serif;line-height:1.1;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--wood);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.btn{display:inline-block;background:var(--wood);color:#fff;font:700 17px Archivo,sans-serif;padding:15px 28px;border:0;border-radius:999px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--wood-d)}
.btn.ghost{background:transparent;border:2px solid #fff}
.btn.ghost:hover{background:#fff;color:var(--ink)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:#fff;border-bottom:1px solid #e4e0da}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 22px;max-width:1120px;margin:0 auto}
.bar img{height:60px;width:auto;display:block}
nav{display:flex;align-items:center;gap:28px}
nav a{text-decoration:none;font-weight:600;color:#1d2024;font-size:16px}
nav a:hover{color:var(--wood)}
nav .btn{padding:10px 20px;font-size:15px;color:#fff}
#mb{display:none;background:none;border:2px solid #1d2024;border-radius:6px;padding:8px 12px;font:700 15px Archivo,sans-serif;color:#1d2024}
@media(max-width:860px){#mb{display:block}.bar img{height:48px}
nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:8px 22px 18px;border-bottom:1px solid #e4e0da}
nav.open{display:flex}nav a{padding:12px 0;width:100%;border-bottom:1px solid #eee}nav .btn{margin-top:12px;text-align:center}}
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-6%;top:0;bottom:0;width:44%;
background:repeating-linear-gradient(90deg,#b36a24 0 46px,#9a5719 46px 49px,#a8601f 49px 98px,#8a4d15 98px 101px);
clip-path:polygon(34% 0,100% 0,100% 100%,0 100%)}
@media(max-width:700px){.hero::after{width:100%;top:auto;height:16px;clip-path:none;right:0}}
.hero .wrap{position:relative;z-index:1;padding-top:96px;padding-bottom:104px}
.hero h1{font-size:clamp(40px,6.6vw,78px);font-weight:800;max-width:14ch;letter-spacing:-.01em}
.hero p{font-size:19px;max-width:44ch;margin:22px 0 32px;color:#d8dade}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.trust{background:var(--ink2);color:#e9e7e3;font-size:15px}
.trust ul{list-style:none;margin:0 auto;padding:16px 22px;max-width:1120px;display:flex;flex-wrap:wrap;gap:10px 34px}
.trust li::before{content:"✓";color:#d58a3c;font-weight:700;margin-right:8px}
section{padding:88px 0}
section.alt{background:var(--bg2)}
h2{font-size:clamp(32px,4.6vw,48px);font-weight:800;margin-bottom:12px}
.lead{color:var(--mut);max-width:56ch;margin:0 0 44px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:22px}
.card{background:var(--bg2);border-radius:14px;padding:30px 28px;border-top:5px solid var(--wood)}
section.alt .card{background:var(--bg)}
.card h3{font-size:24px;margin-bottom:10px}
.card p{margin:0;color:var(--mut)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.ph{aspect-ratio:4/3;display:flex;align-items:flex-end;padding:16px;color:#fff;border-radius:14px;
background:repeating-linear-gradient(100deg,#6f4116 0 30px,#5f3611 30px 32px)}
.ph:nth-child(2n){background:repeating-linear-gradient(100deg,#2a2e33 0 30px,#23262a 30px 32px)}
.ph span{background:rgba(0,0,0,.55);padding:6px 11px;border-radius:999px;font-size:15px}
.note{color:var(--mut);font-size:15px;margin-top:16px}
.about{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
@media(max-width:820px){.about{grid-template-columns:1fr}}
.about p{margin:0 0 16px;color:var(--mut);max-width:60ch}
.facts{list-style:none;margin:0;padding:0;border-top:2px solid var(--tx)}
.facts li{padding:18px 0;border-bottom:1px solid var(--line);font-weight:600}
.facts a{color:var(--wood);text-decoration:none;font-weight:600}.facts a:hover{text-decoration:underline}.facts span{display:block;font-weight:400;color:var(--mut);font-size:15px}
.faq{max-width:780px}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font:700 20px Archivo,sans-serif;padding:22px 36px 22px 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:28px;color:var(--wood);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 22px;color:var(--mut);max-width:62ch}
.contact{background:var(--ink);color:#fff}
.contact .lead{color:#c9ccd1}
.cgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px}
@media(max-width:820px){.cgrid{grid-template-columns:1fr}}
.contact a.big{font:800 30px Archivo,sans-serif;text-decoration:none;color:#fff;display:block;margin:6px 0 4px}
.contact small{color:#c9ccd1;display:block;margin-bottom:10px}
form{display:grid;gap:14px}
label{display:grid;gap:6px;font-weight:600;font-size:15px}
input,select,textarea{font:inherit;padding:13px 15px;border:1px solid #4a4f56;background:#fff;color:#1d2024;border-radius:10px;width:100%}
textarea{min-height:120px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
#ok{display:none;background:#2d3a2a;border-left:4px solid #7fbf6a;padding:12px 14px;font-size:15px}
footer{background:#111316;color:#9da2a9;font-size:14px;padding:26px 0}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}summary::after{transition:none}}
.bar img{height:84px}
@media(max-width:860px){.bar img{height:58px}}
.hg{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.lg{background:#fff;border-radius:18px;padding:22px;box-shadow:0 22px 54px rgba(0,0,0,.4)}
.lg img{width:100%;height:auto;display:block}
@media(max-width:860px){.hg{grid-template-columns:1fr}.lg{max-width:380px}.hero .wrap{padding-top:56px;padding-bottom:64px}}
.grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pf{margin:0;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#222}
.pf img{width:100%;height:100%;object-fit:cover;display:block}
.pf figcaption{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.62);color:#fff;font-size:14px;padding:5px 12px;border-radius:999px}
@media(max-width:860px){.grid2{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid2{grid-template-columns:1fr}}
.omd{background:var(--ink);color:#fff}
.om{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:start}
@media(max-width:860px){.om{grid-template-columns:1fr;gap:44px}}
.omd h2{max-width:16ch;margin-bottom:22px}
.omd p{color:#c9ccd1;max-width:58ch;margin:0 0 16px}
.omd .big2{font-size:20px;color:#eceae6;line-height:1.55}
.omd h3{font-size:20px;margin:30px 0 12px}
.ck{list-style:none;margin:0;padding:0}
.ck li{padding:11px 0 11px 34px;position:relative;border-bottom:1px solid #353a41;color:#e9e7e3}
.ck li::before{content:"";position:absolute;left:4px;top:17px;width:14px;height:7px;border-left:3px solid #d58a3c;border-bottom:3px solid #d58a3c;transform:rotate(-45deg)}
.oc{display:grid;gap:20px}
.motto{background:linear-gradient(135deg,#2a2e33,#24282c);border-radius:16px;padding:32px 30px;border-bottom:6px solid var(--wood)}
.motto span{display:block;color:#d58a3c;font-weight:600;font-size:15px;margin-bottom:10px}
.motto strong{display:block;font:800 clamp(28px,3.6vw,40px)/1.1 Archivo,sans-serif}
.motto em{display:block;margin-top:14px;color:#c9ccd1;font-style:normal}
.omd blockquote{margin:0;border-left:5px solid var(--wood);background:#24282c;border-radius:0 16px 16px 0;padding:26px 28px}
.omd blockquote p{font:500 19px/1.55 Archivo,sans-serif;color:#fff;margin:0 0 14px;max-width:none}
.omd cite{font-style:normal;color:#d58a3c;font-size:15px}
.ppl{list-style:none;margin:0;padding:0;border-top:1px solid #353a41}
.ppl li{padding:14px 0;border-bottom:1px solid #353a41;font-size:15px;color:#c9ccd1}
.ppl b{display:block;color:#fff;font-size:17px}
.ppl span{display:block;margin-bottom:4px}
.ppl a{color:#e9b27a;text-decoration:none}.ppl a:hover{text-decoration:underline}
#tjenester,#prosjekter,#om-oss,#faq{color:#fff}
#tjenester{background:#24282c}
#prosjekter{background:#1d2024}
#om-oss{background:#24282c}
#faq{background:#1d2024}
.contact{background:#15171a}
footer{background:#0e1013}
#tjenester .lead,#prosjekter .lead,#faq .lead{color:#c9ccd1}
#tjenester .card{background:#2e3338;border-top-color:var(--wood)}
#tjenester .card h3{color:#fff}
#tjenester .card p,#tjenester .note{color:#c9ccd1}
#faq details{border-bottom-color:#3a3f46}
#faq summary{color:#fff}
#faq summary::after{color:#d58a3c}
#faq details p{color:#c9ccd1}
#om-oss .motto{background:#2e3338}
#om-oss blockquote{background:#2e3338}
#om-oss .ck li,#om-oss .ppl,#om-oss .ppl li{border-color:#3d434a}
.ppl li{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:start}
.edu{font-size:14px;color:#e9e7e3;border-left:2px solid var(--wood);padding-left:12px;min-width:120px}
.edu small{display:block;color:#d58a3c;font-size:13px}
@media(max-width:520px){.ppl li{grid-template-columns:1fr}}
.edu .s2{margin-top:8px}
.ppl li{grid-template-columns:76px 1fr auto;align-items:center}
.av{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid var(--wood);display:block}
.ini{display:flex;align-items:center;justify-content:center;background:#2e3338;color:#d58a3c;font:800 24px Archivo,sans-serif}
@media(max-width:520px){.ppl li{grid-template-columns:76px 1fr}.ppl .edu{grid-column:1/-1}}

nav a.on{color:var(--wood)}
.pagehead{background:#15171a;color:#fff;padding:60px 0 44px;border-bottom:6px solid var(--wood)}
.pagehead h1{font-size:clamp(34px,5vw,56px);font-weight:800}
.pagehead p{color:#c9ccd1;max-width:56ch;margin:14px 0 0}
.pagehead + section{padding-top:56px}
.hs2{background:#1d2024;color:#fff}
.hs2 .lead,.hs3 .lead{color:#c9ccd1}
.hs3{background:#24282c;color:#fff}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{counter-increment:s;border-top:4px solid var(--wood);padding-top:16px}
.steps li::before{content:counter(s);font:800 36px Archivo,sans-serif;color:#d58a3c;display:block}
.steps h3{font-size:21px;margin:4px 0 8px}
.steps p{margin:0;color:#c9ccd1}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:700px){.strip{grid-template-columns:1fr}}
.strip a{display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.strip img{width:100%;height:100%;object-fit:cover;display:block}
.more{margin-top:26px}
.cband{background:#15171a;color:#fff;text-align:center;padding:72px 0}
.cband h2{margin-bottom:10px}
.cband p{color:#c9ccd1;margin:0 auto 26px;max-width:50ch}
.cband .cta{justify-content:center}
.mini{display:flex;gap:26px;margin:24px 0 28px;flex-wrap:wrap}
.mini div{display:flex;align-items:center;gap:12px}
.mini b{display:block;color:#fff}
.mini span{display:block;color:#c9ccd1;font-size:15px}
.mini .av{width:64px;height:64px}

/* faner alltid synlige, ingen menyknapp */
#mb{display:none!important}
@media(max-width:860px){
.bar{flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:8px 14px}
nav,nav.open{display:flex;position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px 18px;padding:0;border:0;background:none;width:100%}
nav a{padding:6px 0;width:auto;border-bottom:0;font-size:15px}
nav .btn{margin-top:0;padding:8px 16px;font-size:14px}
}
