:root{--bg:#0a0f1f;--bg2:#0f1730;--line:rgba(255,255,255,.09);--txt:#eef1f8;--muted:#93a0bd;--accent:#4d8dff;--accent-dim:#3b6fd4;--soft:rgba(77,141,255,.1);--softb:rgba(77,141,255,.24);--maxw:1060px;--grot:"Space Grotesk",sans-serif;--sans:"Inter",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--txt);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--grot);line-height:1.12;letter-spacing:-.01em}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}.muted{color:var(--muted)}.accent{color:var(--accent)}header{position:sticky;top:0;z-index:50;background:#0a0f1fd1;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;height:66px}.brand{font-family:var(--grot);font-weight:700;font-size:19px}.brand i{color:var(--accent);font-style:normal}.navlinks{display:flex;gap:26px;align-items:center}.navlinks a{font-size:14px;color:var(--muted);transition:color .2s}.navlinks a:hover{color:var(--txt)}.btn{display:inline-block;padding:9px 18px;font-size:14px;font-weight:500;border-radius:7px;transition:all .2s;cursor:pointer}.nbtn{border:1px solid var(--accent);color:var(--accent)}.nbtn:hover,.b1{background:var(--accent);color:#06122e}.b1:hover{background:var(--accent-dim)}.b2{border:1px solid #243250;color:var(--txt)}.b2:hover{border-color:var(--accent)}@media(max-width:720px){.navlinks .hidem{display:none}}.hero{position:relative;padding:104px 0 92px;overflow:hidden}.grid-bg{position:absolute;inset:0;background-image:linear-gradient(#16203a 1px,transparent 1px),linear-gradient(90deg,#16203a 1px,transparent 1px);background-size:46px 46px;opacity:.55;-webkit-mask-image:radial-gradient(circle at 72% 18%,#000,transparent 72%);mask-image:radial-gradient(circle at 72% 18%,#000,transparent 72%)}.hero .wrap{position:relative;z-index:2}.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:22px}.hero h1{font-family:var(--grot);font-size:clamp(35px,5.6vw,60px);font-weight:700;max-width:16ch}.hero .lead{font-size:clamp(17px,2.1vw,21px);color:var(--muted);margin-top:24px;max-width:48ch}.hero .lead b{color:var(--txt);font-weight:500}.cta{display:flex;gap:13px;margin-top:34px;flex-wrap:wrap}.socials{display:flex;gap:12px;margin-top:36px}.socials a{width:40px;height:40px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s}.socials a:hover{color:var(--accent);border-color:var(--accent)}.socials svg{width:18px;height:18px;fill:currentColor}section{padding:64px 0;border-top:1px solid var(--line)}.sec-label{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:12px}.sec-title{font-size:clamp(25px,3.4vw,34px);font-weight:600;margin-bottom:10px}.sec-sub{color:var(--muted);max-width:62ch;margin-bottom:36px;font-size:16.5px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.card{background:#ffffff05;border:1px solid var(--line);border-radius:14px;padding:24px}.card .ico{width:42px;height:42px;border-radius:10px;background:var(--soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.card .ico svg{width:22px;height:22px;fill:currentColor}.card h3{font-family:var(--grot);font-size:18px;font-weight:600;margin-bottom:8px}.card p{color:var(--muted);font-size:15px}.card .meta{font-size:12.5px;color:var(--accent);font-weight:600;letter-spacing:.05em;margin-bottom:9px;text-transform:uppercase}.card.proj h3{font-size:20px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tag{font-size:12px;color:#a9c6ff;background:var(--soft);border:1px solid var(--softb);padding:3px 10px;border-radius:20px}.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;border:1px solid var(--line);background:#ffffff05;border-radius:16px;padding:26px;margin-bottom:16px}@media(max-width:780px){.feature{grid-template-columns:1fr}}.feature .meta{font-size:12.5px;color:var(--accent);font-weight:600;letter-spacing:.05em;margin-bottom:9px;text-transform:uppercase}.feature h3{font-size:23px;font-weight:600;margin-bottom:11px}.feature p{color:var(--muted);font-size:15.5px}.shot{background:var(--bg2);border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center;font-size:13px;overflow:hidden}.shot img{width:100%;height:auto;display:block;border-radius:10px}.shot.empty{aspect-ratio:16/9;border:1px dashed var(--softb);padding:18px}.shot.empty:after{content:"Add screenshot at public/projects/nasjonale-prover-tromso.png";color:var(--muted)}.note{display:inline-block;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:3px 11px;margin-top:14px}.work2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:780px){.work2{grid-template-columns:1fr}}.list a.row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);transition:padding .2s}.list a.row:first-child{border-top:1px solid var(--line)}.list a.row:hover{padding-left:9px}.list .row .t{font-weight:500;font-size:16px}.list .row .v{color:var(--muted);font-size:13.5px;white-space:nowrap;font-style:italic}.videos{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:780px){.videos{grid-template-columns:1fr}}.vid{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#ffffff05;transition:border-color .2s;display:block}.vid:hover{border-color:var(--accent)}.vthumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}.vthumb img{width:100%;height:100%;object-fit:cover;display:block}.vthumb .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.vthumb .play span{width:54px;height:54px;border-radius:50%;background:#0a0f1fb8;display:flex;align-items:center;justify-content:center;transition:background .2s}.vid:hover .vthumb .play span{background:var(--accent)}.vthumb .play svg{width:22px;height:22px;fill:#fff;margin-left:3px}.vbody{padding:15px 18px}.vbody h3{font-size:17px;font-weight:600;margin-bottom:5px}.vbody p{color:var(--muted);font-size:13.5px}.gaming{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:42px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center}@media(max-width:780px){.gaming{grid-template-columns:1fr}}.gaming .trophy{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#ffd36b;font-weight:600;margin-bottom:13px}.gaming h3{font-size:26px;font-weight:600;margin-bottom:13px}.gaming p{color:var(--muted);font-size:15.5px}.stat{display:flex;gap:28px;margin-top:24px;flex-wrap:wrap}.stat .n{font-family:var(--grot);font-size:26px;font-weight:700;color:var(--txt)}.stat .l{font-size:12.5px;color:var(--muted)}.about p{font-size:17px;color:#c4d0e6;max-width:66ch;margin-bottom:15px}.about p b{color:var(--txt);font-weight:600}footer{border-top:1px solid var(--line);padding:42px 0;color:var(--muted);font-size:14px;background:var(--bg2)}.footrow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;align-items:center}.footrow .socials{margin:0}
