@font-face{font-family:LFInter;src:url('../inter-regular.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:LFManrope;src:url('../manrope-bold.woff2') format('woff2');font-display:swap;font-weight:700}
:root{--navy:#071f38;--red:#f10f19;--red-dark:#bd1f35;--paper:#fff;--canvas:#f4f6f8;--line:#d7e0e8;--muted:#5f7186;--sans:LFInter,Arial,sans-serif;--display:LFManrope,Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--canvas)}
body{margin:0;color:var(--navy);font:400 16px/1.5 var(--sans)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:12px 16px;border:2px solid var(--navy)}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff6b75;outline-offset:3px}
.registration-header{position:absolute;top:0;left:0;width:52%;height:100px;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(28px,4.3vw,68px)}
.registration-brand img{width:58px;height:auto}
.registration-home-link{display:flex;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:var(--navy);font-size:.9rem;font-weight:700}
.registration-home-link span{font-size:1.25rem;transition:transform .2s}
.registration-home-link:hover span{transform:translateX(-4px)}
.registration-layout{min-height:100vh;display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(430px,.92fr);background:var(--paper)}
.registration-content{display:flex;flex-direction:column;justify-content:center;padding:136px clamp(36px,7vw,112px) 72px}
.registration-content>div,.registration-content>form,.registration-content>section{width:100%;max-width:650px;margin-inline:auto}
.registration-progress{display:flex!important;align-items:center;gap:12px;margin:0 auto 36px!important;color:#8492a3;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.registration-progress span{position:relative;display:flex;align-items:center;gap:9px;white-space:nowrap}
.registration-progress span::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.registration-progress span[aria-current=step]::after{transform:scaleX(1)}
.registration-progress span::first-letter{font-weight:700}
.registration-progress small{font-size:inherit}
.registration-progress i{height:1px;min-width:48px;max-width:120px;flex:1;background:var(--line)}
.registration-progress span.is-active{color:var(--navy)}
.registration-progress span.is-active::first-letter{color:var(--red)}
.registration-kicker{margin:0 0 14px;color:var(--red-dark);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
h1,h2,p{margin-top:0}
h1{margin-bottom:18px;font:700 clamp(2.7rem,4.4vw,4.5rem)/1.02 var(--display);letter-spacing:-.045em}
#registration-form-title{margin-bottom:28px}
.registration-lead{max-width:570px;margin-bottom:26px;color:var(--muted);font-size:1rem;line-height:1.6}
.registration-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.registration-role-card{position:relative;min-height:144px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.registration-role-card:hover{transform:translateY(-2px);border-color:#9ba9b8;box-shadow:0 10px 28px #071f380f}
.registration-role-card:has(input:focus-visible){outline:3px solid #ff6b75;outline-offset:3px}
.registration-role-card:has(input:checked){border:2px solid var(--red);padding:21px;background:#fff7f7;box-shadow:0 10px 28px #f10f1912}
.registration-role-card input{position:absolute;opacity:0;pointer-events:none}
.role-icon{position:absolute;top:22px;left:22px;width:44px;height:44px;border-radius:12px;background:#edf2f6;color:var(--navy);display:grid;place-items:center}
.role-icon svg{width:24px;height:24px}
.registration-role-card strong{font:700 1rem/1.35 var(--display)}
.role-check{position:absolute;top:20px;right:20px;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;display:none;place-items:center;font-size:.8125rem;font-weight:700}
.registration-role-card:has(input:checked) .role-check{display:grid}
.registration-primary{width:100%;min-height:56px;margin-top:24px;border:0;border-radius:16px;background:var(--red);color:#fff;padding:14px 22px;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:700;transition:background .2s,transform .2s}
.registration-primary:hover:not(:disabled){background:var(--red-dark);transform:translateY(-1px)}
.registration-primary:disabled{background:#e7ebef;color:#98a4af;cursor:not-allowed}
.registration-primary span{font-size:1.35rem}
.registration-test-note{margin:24px 0 0;color:#738398;text-align:center;font-size:.82rem}
.registration-fields{padding:0;margin:0;border:0}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
/* company form: the request questions sit under a line, apart from the account */
.field-grid+.field-grid{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.registration-form label:not(.registration-consent){display:block;color:var(--navy);font-size:.9rem;font-weight:700}
.registration-form label>span{color:var(--muted);font-size:.8rem;font-weight:400}
.registration-form input:not([type=checkbox]),.registration-form select,.registration-form textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);color:var(--navy);padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.registration-form input:not([type=checkbox]),.registration-form select{height:50px}
/* Field text stays quiet so the questions above it lead: regular weight,
   and hints (placeholders, an unchosen select) a size down and lighter. */
.registration-form input:not([type=checkbox]),.registration-form select,.registration-form textarea{font-weight:400}
.registration-form ::placeholder{color:#b3bdc8;font-size:.8125rem;opacity:1}
.registration-form select:has(option[value=""]:checked){color:#b3bdc8;font-size:.8125rem}
.registration-form select option{color:var(--navy)}
/* Date picker (registration.js): the field, then a small calendar under it. */
.date-field{position:relative;display:block}
.registration-form .date-field input{padding-right:42px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f7186' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:18px}
.date-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:296px;max-width:calc(100vw - 40px);padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 44px #071f381f;font-weight:400}
.date-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.date-head strong{font:700 .9375rem/1.3 var(--display);letter-spacing:-.01em}
.date-nav{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--navy);font-size:1.25rem;line-height:1}
.date-nav:hover:not(:disabled){background:var(--canvas)}
.date-nav:disabled{opacity:.3;cursor:default}
.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.date-weekday{padding:6px 0 4px;color:var(--muted);font-size:.6875rem;text-transform:capitalize}
.date-day{height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--navy);font-size:.875rem}
.date-day:hover:not(:disabled){background:var(--canvas)}
.date-day.is-today{font-weight:700;box-shadow:inset 0 0 0 1px var(--line)}
.date-day[aria-pressed=true]{background:var(--navy);color:#fff;box-shadow:none}
.date-day[aria-pressed=true]:hover{background:var(--navy)}
.date-day:disabled{color:#c3ccd5;cursor:default}
.date-day:focus-visible,.date-nav:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.date-foot:not(:empty){display:flex;justify-content:flex-end;margin-top:6px}
.date-clear{padding:4px 2px;border:0;background:none;color:var(--muted);font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}
.date-clear:hover{color:var(--navy)}
.registration-form textarea{min-height:116px;resize:vertical}
.registration-form input:focus,.registration-form select:focus,.registration-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #071f380c}
.registration-form .registration-fields>label{margin-top:18px}
.registration-consent{display:flex;align-items:flex-start;gap:11px;margin-top:22px;color:var(--muted);font-size:.84rem;line-height:1.5;cursor:pointer}
.registration-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--red);flex:none}
.registration-aside{position:relative;min-height:100vh;overflow:hidden;background:var(--navy);color:#fff}
.registration-aside>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.registration-aside-shade{position:absolute;inset:0;background:linear-gradient(180deg,#071f3820 0%,#071f38aa 66%,#071f38f5 100%)}
.registration-aside-card{position:absolute;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:clamp(32px,6vw,80px);padding:36px;border:1px solid #ffffff38;border-radius:24px;background:#071f38d9;backdrop-filter:blur(10px)}
.registration-aside-card>p{margin-bottom:12px;color:#ff6870;font-weight:700;font-size:.78rem;letter-spacing:.17em;text-transform:uppercase}
.registration-aside-card h2{margin-bottom:26px;font:700 clamp(2rem,3vw,3.4rem)/1.08 var(--display);letter-spacing:-.04em}
.registration-aside-card ul{list-style:none;padding:0;margin:0;display:grid;gap:15px}
.registration-aside-card li{position:relative;padding-left:28px;color:#e4eaf0}
.registration-aside-card li::before{content:'✓';position:absolute;left:0;color:#ff6870;font-weight:700}
.registration-success{padding-top:36px}
.success-mark{width:64px;height:64px;margin-bottom:26px;border-radius:20px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:700}
.registration-success>p:not(.registration-kicker){max-width:560px;color:var(--muted);font-size:1.08rem;line-height:1.65}
.success-actions{display:flex;align-items:center;gap:24px;margin-top:30px}
.success-actions .registration-primary{width:auto;min-width:220px;margin-top:0}
.success-actions a{font-weight:700;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.registration-header{position:relative;width:100%;height:88px;padding:20px 28px;background:var(--paper)}.registration-layout{grid-template-columns:1fr}.registration-content{padding:50px 28px 64px}.registration-aside{display:none}.registration-progress{margin-bottom:34px!important}}
@media(max-width:620px){.registration-header{height:78px;padding:16px 20px}.registration-brand img{width:50px}.registration-home-link{font-size:.8rem}.registration-content{padding:38px 20px 52px}.registration-progress{font-size:1.125rem}.registration-progress small{display:none}.registration-progress i{min-width:32px}.field-grid{grid-template-columns:1fr}.registration-role-grid{gap:10px}.registration-role-card{min-height:124px;padding:16px}.registration-role-card:has(input:checked){padding:15px}.role-icon{top:16px;left:16px;width:40px;height:40px}.role-check{top:16px;right:16px}.registration-role-card strong{font-size:.9375rem}.registration-lead{font-size:.9375rem;margin-bottom:22px}.success-actions{align-items:stretch;flex-direction:column}.success-actions .registration-primary{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* "Åpne profilen din" is an <a> styled as the primary button */
a.registration-primary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

/* Feedback from the live sign-up and request endpoints. */
.form-status{margin:20px 0 0;padding:12px 14px;border-radius:12px;font-size:.9rem;line-height:1.5}
.form-status[data-tone=error]{background:#fde8e9;color:#a10c14}
.registration-test-note a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.registration-primary:disabled{cursor:progress}
.registration-consent a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* the same arrow motion and page transitions as the rest of the site (brand.css) */
.registration-primary span{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.registration-primary:is(:hover,:focus-visible):not(:disabled) span{transform:translateX(4px)}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}}
