@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#eef2f5;--bg-alt:#e3e9ee;--surface:#fff;--ink:#132230;--muted:#4f5f6e;--line:#c9d3dc;--accent:#1d4ed8;--accent-ink:#1a43b8;--on-accent:#fff;--pass:#0b6f56;--pass-bg:#dcf1ea;--miss:#9a4a07;--miss-bg:#fbeadb;--focus:#1d4ed8;--font:"Schibsted Grotesk Variable", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.6rem;--step-3:clamp(1.9rem, 1.4rem + 1.8vw, 2.5rem);--step-4:clamp(2.2rem, 1.4rem + 3.2vw, 3.5rem);--wrap:72rem;--gutter:clamp(1rem, 4vw, 2.5rem);--radius-lg:14px;--radius-sm:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1923;--bg-alt:#13212d;--surface:#172836;--ink:#e5ecf2;--muted:#9cadbc;--line:#2b3f50;--accent:#7ea4ff;--accent-ink:#a3bfff;--on-accent:#0b1622;--pass:#5fd3ad;--pass-bg:#123a30;--miss:#f2ad6b;--miss-bg:#3d2914;--focus:#a3bfff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,h4{text-wrap:balance;margin:0;line-height:1.15}h1{font-size:var(--step-4);letter-spacing:-.025em;font-weight:700}h2{font-size:var(--step-3);letter-spacing:-.02em;font-weight:700}h3{font-size:var(--step-1);letter-spacing:-.01em;font-weight:650}h4{font-size:var(--step--1);color:var(--muted);font-weight:600}p{margin:0}a{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}code{font-family:var(--mono)}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.skip{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);z-index:10;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.button{background:var(--accent);min-height:3rem;color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-ink)}.button:disabled{opacity:.65;cursor:progress}.button--small{min-height:2.5rem;font-size:var(--step--1);padding:.45rem 1.1rem}.text-link{text-underline-offset:.2em;font-weight:600}.link-button{font:inherit;font-size:var(--step--1);color:var(--accent-ink);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:.25rem;font-weight:600;text-decoration:underline}.header{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.header__inner{align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.brand{color:var(--ink);align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:inline-flex}.nav{gap:1.5rem;margin-left:auto;display:flex}.nav a{color:var(--muted);font-size:var(--step--1);font-weight:550;text-decoration:none}.nav a:hover{color:var(--ink)}.header__actions{align-items:center;gap:1rem;display:flex}@media (width<=860px){.nav{display:none}.header__actions{margin-left:auto}}@media (width<=420px){.brand span{display:none}}.social{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.social a{color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.social svg{flex:none}.social--icons{gap:.25rem}.social--icons a{width:2.5rem;height:2.5rem;color:var(--muted);border-radius:50%;justify-content:center}.social--icons a:hover{color:var(--ink);background:var(--bg-alt)}.social--labeled{gap:.6rem}.social--labeled a{border:1.5px solid var(--line);background:var(--surface);min-height:2.75rem;font-size:var(--step--1);border-radius:999px;gap:.55rem;padding:.5rem 1rem;font-weight:600}.social--labeled a:hover{border-color:var(--accent);color:var(--accent-ink)}.hero__social{margin-top:.25rem}@media (width<=600px){.header__social{display:none}}.hero{padding-block:clamp(3rem,8vw,6.5rem)}.hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.hero__copy{gap:1.5rem;display:grid}.lead{font-size:var(--step-1);color:var(--muted);max-width:36rem;line-height:1.55}.hero__actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.5rem;display:flex}@media (width<=900px){.hero__grid{grid-template-columns:1fr}}.audit{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 0 var(--line), 0 24px 48px -28px color-mix(in srgb, var(--accent) 45%, transparent);padding:clamp(1.25rem,3vw,1.75rem)}.audit__title{font-size:var(--step-1)}.audit__intro{color:var(--muted);font-size:var(--step--1);margin-top:.4rem}.audit__list{border-top:1px solid var(--line);margin:1.25rem 0 0;padding:0;list-style:none}.audit__row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.7rem 0;display:grid}.audit__row:not([data-status=running]){animation:.42s ease-out both settle}.audit__mark{border:2px solid var(--line);border-radius:50%;width:1.1rem;height:1.1rem}.audit__row[data-status=running] .audit__mark{border-top-color:var(--accent);animation:.8s linear infinite spin}.audit__row[data-status=pass] .audit__mark{border-color:var(--pass);background:no-repeat center / 70% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='%230b6f56' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), var(--pass-bg)}.audit__row[data-status=missing] .audit__mark{border-color:var(--miss);background:var(--miss-bg)}.audit__name{font-weight:550;line-height:1.3;display:grid}.audit__header{color:var(--muted);font-size:.78rem;font-weight:400}.audit__state{font-size:var(--step--1);color:var(--muted);font-weight:600}.audit__row[data-status=pass] .audit__state{color:var(--pass)}.audit__row[data-status=missing] .audit__state{color:var(--miss)}.audit__bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.audit__footer{font-size:var(--step--1);color:var(--muted);max-width:26rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes settle{0%{opacity:.35;transform:translate(-4px)}}.section{padding-block:clamp(3.5rem,8vw,6rem)}.section--alt{background:var(--bg-alt)}.section__intro{max-width:40rem;color:var(--muted);margin-top:.75rem}.services{border-top:2px solid var(--ink);margin-top:2.5rem}.service{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1.1fr);gap:1rem 2.5rem;padding-block:1.75rem;display:grid}.service h4{margin-bottom:.4rem}.ticks{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.ticks li{padding-left:1.4rem;position:relative}.ticks li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:.55rem;height:.3rem;position:absolute;top:.55em;left:.15rem;transform:rotate(-45deg)}@media (width<=860px){.service{grid-template-columns:1fr}}.projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1.5rem;margin-top:2.5rem;display:grid}.project{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-content:start;gap:.85rem;padding:1.5rem;display:grid}.project p{color:var(--muted);max-width:62ch}.status{font-size:var(--step--1);color:var(--muted);justify-self:start;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.project .status{color:var(--ink)}.status:before{content:"";background:var(--line);border-radius:50%;width:.55rem;height:.55rem}.status[data-status=completed]:before,.status[data-status=live]:before,.status[data-status=earned]:before{background:var(--pass)}.status[data-status=in-progress]:before{background:var(--miss)}.status[data-status=planned]:before{border:1.5px solid var(--muted);background:0 0}.stack{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.stack li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.15rem .55rem;font-size:.8rem}.certs{counter-reset:cert;max-width:46rem;margin:2.5rem 0 0;padding:0;list-style:none}.cert{counter-increment:cert;border-bottom:1px solid var(--line);grid-template-columns:2.25rem 1fr auto;align-items:center;gap:1rem;padding-block:1.1rem;display:grid}.cert:before{content:counter(cert);border:1.5px solid var(--line);width:2.25rem;height:2.25rem;color:var(--muted);border-radius:50%;place-items:center;font-weight:600;display:grid}.cert[data-status=earned]:before{background:var(--pass);border-color:var(--pass);color:var(--surface)}.cert[data-status=in-progress]:before{border-color:var(--accent);color:var(--accent-ink)}.cert__name{font-weight:600}.cert__issuer{font-size:var(--step--1);color:var(--muted)}.prose{gap:1.1rem;display:grid}.prose p{max-width:64ch}.contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);display:grid}@media (width<=860px){.contact{grid-template-columns:1fr}}.contact__elsewhere{color:var(--muted);font-size:var(--step--1);margin-top:1.75rem}.contact__elsewhere .social{margin-top:.75rem}.form{gap:1.25rem;display:grid}.field{gap:.35rem;display:grid}.field label{font-weight:600;font-size:var(--step--1)}.field input:not([type=checkbox]),.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .9rem}.field textarea{resize:vertical}.field [aria-invalid=true]{border-color:var(--miss)!important}.field__hint{font-size:var(--step--1);color:var(--muted);font-weight:400}.field__error{font-size:var(--step--1);color:var(--miss);font-weight:600}.field--check{grid-template-columns:auto 1fr;align-items:start;column-gap:.75rem}.field--check input{width:1.2rem;height:1.2rem;accent-color:var(--accent);margin-top:.2rem}.field--check label{color:var(--muted);font-weight:400}.field--check .field__error{grid-column:2}.form .button{justify-self:start}.form__status:empty{display:none}.form__status{font-weight:600}.form__status[data-status=sent]{color:var(--pass)}.form__status:not([data-status=sent]){color:var(--miss)}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.footer{border-top:1px solid var(--line);font-size:var(--step--1);color:var(--muted);padding-block:2.5rem}.footer__inner{grid-template-columns:1fr auto;gap:1rem 2rem;display:grid}.footer__privacy{max-width:72ch}.privacy{margin-top:1rem}.privacy summary{cursor:pointer;color:var(--ink);font-weight:600}.privacy dl{grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:.25rem 1.5rem;margin:1rem 0 0;display:grid}.privacy dt{color:var(--ink);font-weight:600}.privacy dd{margin:0 0 .75rem}@media (width<=640px){.privacy dl{grid-template-columns:1fr}.privacy dd{margin-bottom:1rem}}.footer__links{gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}@media (width<=640px){.footer__inner{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
