:root{--bg:#111;--bg-elevated:#1a1a1a;--bg-card:#1e1e1e;--ink:#c8c8c8;--ink-secondary:#888;--ink-muted:#555;--white:#f0f0f0;--bright:#fff;--border:#2a2a2a;--border-strong:#444;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.74}html:not([lang=en]) .lang-en,html[lang=en] .lang-nb{display:none}.page-wrapper{max-width:780px;margin:0 auto;padding:3rem 2rem 5rem;transition:opacity .1s}.lang-toggle{z-index:100;-webkit-backdrop-filter:blur(6px);opacity:.35;background:#1119;border:1px solid #2a2a2a99;border-radius:3px;transition:opacity .25s;display:inline-flex;position:fixed;top:.75rem;right:.75rem;overflow:hidden}.lang-toggle:hover{opacity:1}.lang-btn{color:var(--ink-muted);font-family:var(--font-body);letter-spacing:.14em;cursor:pointer;background:0 0;border:none;padding:.2rem .55rem;font-size:.62rem;font-weight:700;transition:all .15s}.lang-btn.active{background:var(--ink-secondary);color:var(--bright)}.lang-btn:hover:not(.active){color:var(--white)}.doc-header{margin-bottom:2rem;padding-bottom:2rem}.doc-meta{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.8rem;font-weight:500;display:flex}.doc-tag{background:var(--bright);color:var(--bg);letter-spacing:.1em;border-radius:3px;padding:.25rem .75rem;font-size:.7rem;font-weight:700}h1{font-family:var(--font-display);color:var(--bright);margin-bottom:1rem;font-size:2.4rem;font-weight:400;line-height:1.18}.subtitle{color:var(--ink-secondary);max-width:640px;font-size:1.1rem;line-height:1.6}.hero-photo{margin-top:2rem}.hero-photo img{filter:grayscale(15%)contrast(1.02);border:1px solid var(--border);border-radius:4px;width:100%;height:auto;display:block}.hero-caption{color:var(--ink-muted);text-align:center;padding:.6rem .8rem;font-size:.8rem;font-style:italic}.page-section{padding-top:1rem}.page-section+.page-section{margin-top:5rem;padding-top:3.5rem}.page-indicator{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted);border-bottom:1px solid var(--border);z-index:50;background:var(--bg);justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-top:.6rem;padding-bottom:.6rem;font-size:.72rem;font-weight:600;display:flex;position:sticky;top:0}.page-indicator .page-num{color:var(--bright)}.section-num{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-secondary);margin-top:3rem;margin-bottom:.4rem;font-size:.75rem;font-weight:600;display:block}.page-section>.section-num:first-of-type{margin-top:.5rem}h2{font-family:var(--font-display);color:var(--bright);margin-bottom:1rem;font-size:1.55rem;font-weight:400;line-height:1.3}h3{color:var(--white);margin-top:2rem;margin-bottom:.6rem;font-size:1rem;font-weight:600}p{color:var(--ink);margin-bottom:1.1rem}strong{color:var(--white);font-weight:600}ul.clean{margin:1rem 0 1.5rem;list-style:none}ul.clean li{color:var(--ink);padding:.45rem 0 .45rem 1.4rem;position:relative}ul.clean li:before{content:"";background:var(--border-strong);width:8px;height:1px;position:absolute;top:1.05rem;left:0}.profile-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.profile-portrait{border:1px solid var(--border);border-radius:3px;flex-shrink:0;width:130px;overflow:hidden}.profile-portrait img{filter:grayscale(15%)contrast(1.02);width:100%;height:auto;display:block}.profile-header-text{flex:1;min-width:0}.profile-name{font-family:var(--font-display);color:var(--bright);margin-bottom:.4rem;font-size:2rem;font-weight:400;line-height:1.2}.profile-role{color:var(--white);max-width:640px;margin-bottom:.9rem;font-size:.98rem;font-weight:400;line-height:1.55}.profile-contact{color:var(--ink-secondary);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.02em}.profile-contact a{color:var(--ink-secondary);border-bottom:1px solid var(--border);padding-bottom:1px;text-decoration:none;transition:color .15s,border-color .15s}.profile-contact a:hover{color:var(--bright);border-bottom-color:var(--bright)}.profile-contact span.contact-item{margin-right:1.2rem}.callout{background:var(--bg-elevated);border-left:3px solid var(--border-strong);border-radius:0 4px 4px 0;margin:1.8rem 0;padding:1.2rem 1.4rem}.callout p:last-child{margin-bottom:0}.callout-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-secondary);margin-bottom:.5rem;font-size:.72rem;font-weight:700}.pull-quote{font-family:var(--font-display);color:var(--white);border-left:3px solid var(--border-strong);margin:2rem 0;padding:1.5rem 0 1.5rem 2rem;font-size:1.3rem;font-style:italic;font-weight:400;line-height:1.5}.styled-table{border-collapse:collapse;width:100%;margin:1.8rem 0;font-size:.92rem}.styled-table thead{background:var(--bg-card)}.styled-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-secondary);border-bottom:2px solid var(--border-strong);padding:.8rem 1rem;font-size:.78rem;font-weight:600}.styled-table td{border-bottom:1px solid var(--border);color:var(--ink);vertical-align:top;padding:.85rem 1rem}.styled-table tbody tr:hover{background:var(--bg-elevated)}.diagram-container{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;margin:2.5rem 0;padding:2rem 1.5rem 1.5rem}.diagram-container svg{max-width:100%;height:auto;margin:0 auto;display:block}.diagram-caption{color:var(--ink-muted);text-align:center;margin-top:1.2rem;font-size:.85rem;font-style:italic;line-height:1.5}.experience{border-left:1px solid var(--border-strong);margin:1.5rem 0 2rem;padding-left:1.5rem}.exp-entry{margin-bottom:1.5rem;position:relative}.exp-entry:before{content:"";background:var(--bright);border-radius:50%;width:7px;height:7px;position:absolute;top:.55rem;left:-1.81rem}.exp-entry:last-child{margin-bottom:0}.exp-period{font-family:var(--font-mono);color:var(--ink-secondary);letter-spacing:.04em;margin-bottom:.25rem;font-size:.78rem;display:block}.exp-role{color:var(--bright);margin-bottom:.1rem;font-size:1rem;font-weight:600;line-height:1.4}.exp-company{color:var(--white);margin-bottom:.4rem;font-size:.92rem}.exp-detail{color:var(--ink);margin-bottom:0;font-size:.92rem;line-height:1.6}.edu-grid{grid-template-columns:1fr;gap:.7rem;margin:1rem 0 1.5rem;display:grid}.edu-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 1.1rem;display:flex}.edu-item .edu-degree{color:var(--white);font-size:.93rem;font-weight:600}.edu-item .edu-school{color:var(--ink-secondary);margin-top:.15rem;font-size:.86rem}.edu-item .edu-year{font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;font-size:.8rem}.tag-list{flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1.5rem;display:flex}.tag{background:var(--bg-elevated);border:1px solid var(--border);color:var(--ink);border-radius:3px;padding:.3rem .7rem;font-size:.8rem;font-weight:500}.cta-block{text-align:center;margin-top:2.5rem}.cta-btn{background:var(--bright);color:var(--bg);font-family:var(--font-body);letter-spacing:.06em;border-radius:3px;padding:.7rem 2rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-block}.cta-btn:hover{background:var(--white);transform:translateY(-1px)}.cta-btn:active{transform:translateY(0)}.doc-footer{border-top:1px solid var(--border);color:var(--ink-muted);justify-content:space-between;margin-top:4rem;padding-top:1.5rem;font-size:.8rem;display:flex}.page-outline{opacity:0;pointer-events:none;width:160px;transition:opacity .3s;position:fixed;top:50%;left:calc(50vw - 590px);transform:translateY(-50%)}@media (min-width:1200px){.page-outline{opacity:1;pointer-events:auto}}.page-outline ul{border-left:1px solid var(--border);padding-left:0;list-style:none}.page-outline>ul>li{position:relative}.page-outline button{text-align:left;width:100%;font-family:var(--font-body);letter-spacing:.02em;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:.4rem 0 .4rem 1rem;font-size:.75rem;font-weight:500;line-height:1.4;transition:color .2s;display:block;position:relative}.page-outline button:before{content:"";background:0 0;width:1px;transition:background .25s;position:absolute;top:0;bottom:0;left:-1px}.page-outline button.active{color:var(--bright);font-weight:600}.page-outline button.active:before{background:var(--bright)}.page-outline button:hover{color:var(--white)}.outline-children{border-left:none;padding-left:0;list-style:none}.outline-children button{color:var(--ink-muted);padding-top:.25rem;padding-bottom:.25rem;padding-left:1.8rem;font-size:.7rem;font-weight:400}.outline-children button.active{color:var(--white);font-weight:500}.outline-children button.active:before{background:var(--ink-secondary)}@media print{body{color:#000;background:#fff}.lang-toggle,.page-outline{display:none}.page-section+.page-section{page-break-before:always;border-top:none;margin-top:0;padding-top:0}}@media (max-width:600px){.page-wrapper{padding:1.5rem 1.25rem 3rem}h1{font-size:1.8rem}.doc-meta,.page-indicator{flex-direction:column;align-items:flex-start;gap:.4rem}.edu-item{flex-direction:column;gap:.3rem}.profile-contact span.contact-item{margin-bottom:.3rem;display:block}.profile-header{flex-direction:column;gap:1rem}.profile-portrait{width:100px}}
