/* Shared public theme. Brand hues remain distinct from semantic surface/text roles. */
:root{color-scheme:light;--theme-page:#fff;--theme-card:#f3f0ec;--theme-section:#f3f0ec;--theme-heading:#001c16;--theme-text:#404b43;--theme-link:#247b78;--theme-border:#d9d7d1}
html[data-theme=dark]{--theme-page:#101d18;--theme-card:#203229;--theme-section:#15251e;--theme-heading:#f3f0ec;--theme-text:#c3cbc3;--theme-link:#97cbc2;--theme-border:#405347}
:root[data-theme=dark]{--page-bg:var(--theme-page)}
[data-theme-control][hidden]{display:none!important}
.theme-picker{position:relative;flex-shrink:0;margin-left:8px;border:0;padding:0}
.theme-picker>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;cursor:pointer;color:var(--theme-heading);border:1px solid transparent;border-radius:50%;padding:0}
.theme-picker>summary::-webkit-details-marker{display:none}.theme-picker>summary:hover{border-color:var(--theme-border)}
.theme-picker>summary::before,.theme-picker>summary::after{display:none!important}
.theme-options{position:absolute;right:0;top:calc(100% + 10px);min-width:160px;padding:8px;background:var(--theme-page);border:1px solid var(--theme-border);box-shadow:0 12px 28px #001c1620;z-index:90}
.theme-options button{display:block;width:100%;font:inherit;font-size:15px;text-align:left;background:transparent;color:var(--theme-heading);border:0;padding:10px 12px;cursor:pointer}
.theme-options button[aria-pressed=true]{background:var(--theme-card);font-weight:700}.theme-options button[aria-pressed=true]::after{content:' ✓';float:right}
.theme-footer{display:flex;gap:10px;align-items:center}.theme-footer select{font:inherit;color:#f3f0ec;background:#001c16;border:1px solid #81958a;padding:6px 10px;border-radius:2px}
@media(max-width:1100px) and (min-width:981px){nav.main a,nav.main button{padding-inline:8px;font-size:13px}.theme-picker{margin-left:0}}
@media(max-width:980px){.theme-picker{margin-left:auto}.bar .burger{margin-left:0}}
@media print{.theme-picker,.theme-footer{display:none!important}}
html[data-theme=dark]{color-scheme:dark;--page-bg:#101d18;--ljusbeige:#1a2a23;--beige:#33453b;--vit:#1b2c24;--gron:#c3cbc3;--turkos:#97cbc2;--ljusbrun:#c6ad95;--turkos-20:#2c4339}
html[data-theme=dark] body{background:var(--theme-page);color:var(--theme-text)}
html[data-theme=dark] :is(#main,header.site,footer.site,#mobnav) :is(h1,h2,h3,h4,h5,h6,summary){color:var(--theme-heading)}
html[data-theme=dark] :is(header.site,.mega,.mobile-nav){background:#14231c;color:#e5e9e1;border-color:#35463c}
html[data-theme=dark] header.site :is(a,button){color:#e5e9e1}
html[data-theme=dark] header.site .logo svg [fill="#001C16"],html[data-theme=dark] header.site .logo svg [fill="#001c16"]{fill:var(--theme-heading)}
html[data-theme=dark] header.site .logo img{filter:brightness(0) invert(1)}
html[data-theme=dark] .burger span{background:var(--theme-heading)}
html[data-theme=dark] :is(.hero,.art-hero,.deep,footer.site){background:#001c16}
html[data-theme=dark] :is(.beige,.flat-beige,.person-hero,.crumbs){background:#18271f}
html[data-theme=dark] :is(.tile,.lcard,.svc-card,.team-card,.flow .st,.assignment,.facts>div,.direct>div,.modes-grid>div){background:var(--theme-card);color:var(--theme-text);border-color:var(--theme-border)}
html[data-theme=dark] :is(.tile,.lcard,.svc-card):hover{background:#293e32}
html[data-theme=dark] #p-start .home-entry{background:var(--theme-page)}
html[data-theme=dark] #p-start :is(.home-entry .tile,.area-reading .lcard){background:var(--theme-card)}
html[data-theme=dark] #p-start .home-work{background:#18271f}
html[data-theme=dark] #p-start .home-areas .g2{background:transparent}
html[data-theme=dark] .industry-links a{color:#dce5db;background:var(--theme-card)}
html[data-theme=dark] .industry-links a:hover{background:#2d4437;color:var(--theme-heading)}
html[data-theme=dark] :is(.industry-dropdown,.industry-need){background:var(--theme-card)}
html[data-theme=dark] :is(.home-process .k,.kicker,.no){color:#c6ad95!important}
html[data-theme=dark] :is(.chip,.team-competences span){background:#31483c;color:#d2e1d7}
html[data-theme=dark] :is(.tlink,.eyebrow,.team-contact a){color:var(--theme-link)}
html[data-theme=dark] .b-dark{background:#cfbba5;color:#10231b;border-color:#cfbba5}
html[data-theme=dark] .b-dark:hover{background:#e4d6c5;border-color:#e4d6c5}
html[data-theme=dark] .b-line{color:#ecede5;border-color:#81958a}
html[data-theme=dark] #main :is(input,textarea,select){background:#15251d;color:var(--theme-heading);border-color:#5b6f60}
html[data-theme=dark] :is(.team-portrait-placeholder){background:#2d3c31;color:#ded9cd}
html[data-theme=dark] :is(.mega .promo,.industry-menu-card){background:#23362c}
html[data-theme=dark] :is(.foot-bottom,.cms-relations,details,.home-process li){border-color:var(--theme-border)}
html[data-theme=dark] :focus-visible{outline:3px solid #DB89A8;outline-offset:4px}
html[data-theme=dark] :is(.area-reading,.service-reading,.home-cta,.cta-light,.about-team){background:var(--theme-section)}
html[data-theme=dark] :is(.area-answer,.tt-card,.contact-map,.service-reading-card,table th){background:var(--theme-card);color:var(--theme-text)}
html[data-theme=dark] .dark{background:#26392e}
html[data-theme=dark] :is(.sb-number,.sb-kicker){color:#c6ad95}
html[data-theme=dark] #lediga-tjanster .tt-card{background:var(--theme-card);border-color:var(--theme-border);border-top-color:#db89a8}
html[data-theme=dark] #lediga-tjanster :is(h3,p,.tt-meta,.tt-department){color:#e4e7de}
html[data-theme=dark] .about-page article{background:var(--theme-card)}
/* Interaction states and overlays use semantic roles, not inverted brand colors. */
html[data-theme=dark] .overview-hero::before{background:linear-gradient(90deg,#15251ef7,#15251eeb 45%,#15251eae)}
@media(max-width:600px){html[data-theme=dark] .overview-hero::before{background:#15251eeb}}
html[data-theme=dark] :is(.area-choices button,.toc a,.toc-toggle,.not-found-help a,.case-facts dd,.ms-26){color:var(--theme-heading)}
html[data-theme=dark] .area-choices button[aria-pressed=true]{background:var(--theme-card)}
html[data-theme=dark] :is(.service-offers.sb-layout-split .sb-item,.tt-content aside){background:var(--theme-card)}
html[data-theme=dark] :is(.fbtn,.fbtn:hover,.subnav a:hover){color:var(--theme-heading);border-color:#81958a}
html[data-theme=dark] .fbtn.on{background:#cfbba5;color:#10231b;border-color:#cfbba5}
html[data-theme=dark] :is(.not-found-number,.area-head .big,.lcard .kpi-tag,.ab-article .toc h2){color:#c6ad95}
html[data-theme=dark] #main :is(input,textarea)::placeholder{color:#aebcaf;opacity:1}
html[data-theme=dark] .contact-form [data-field-error]{color:#ffb4c2}
html[data-theme=dark] .contact-form [aria-invalid=true]{border-color:#ffb4c2}
html[data-theme=dark] .team-portrait-placeholder{background:#e8e3dc;color:#001c16}
html[data-theme=dark] .team-portrait-copy{color:#001c16}
html[data-theme=dark] .not-found-visual{background:#e8e3dc}
html[data-theme=dark] .not-found-visual :is(.not-found-number,.not-found-caption){color:#67513e}
html[data-theme=dark] .ab-article-dialog button{color:#001c16}
html[data-theme=dark] .contact-map .attiva-map-label{color:#001c16}
html[data-theme=dark] .theme-options button{color:var(--theme-heading)}
@media print{html[data-theme=dark] :is(body,#main,#main *,header.site,footer.site){background:#fff!important;color:#001c16!important;box-shadow:none!important}html[data-theme=dark] header.site .logo svg [fill="#001c16"]{fill:#001c16}}
html[data-theme=dark] #main :is(.sb-page,.sb-needs .sb-item .sb-scope,.crumbs span){color:var(--theme-text)}
html[data-theme=dark] #main :is(.flabel,.fcount,.empty,.meta,.svc-card .idx,.svc-card .foot,.deflist dt,.facts dt,.direct dt,.case-facts dt,.phase .k,.flow .st .k,.industry-number,form label,.sb-number,.sb-kicker){color:#c6ad95}
html[data-theme=dark] #main :is(.cs-step,.about-number,.assignment .role,.team-card>p){color:var(--theme-link)}
html[data-theme=dark] #main .catalog-reset{color:var(--theme-heading)}
html[data-theme=dark] #main .fbtn.on,html[data-theme=dark] #p-tjanster .catalog-buttons .fbtn.on{background:#cfbba5;color:#10231b;border-color:#cfbba5}
html[data-theme=dark] #main .consent a{color:var(--theme-link)}
html[data-theme=dark] #main .not-found-number{color:#67513e}
html[data-theme=dark] #main .home-cta-arrow{color:#789b8a}
html[data-theme=dark] #main .n{color:var(--theme-heading)}
html[data-theme=dark] .culture-controls button{background:var(--theme-card);color:var(--theme-heading);border-color:#81958a}
html[data-theme=dark] :is(#p-team .team-card p,.about-person p){color:var(--theme-text)}
html[data-theme=dark] .person-claim{color:var(--theme-text)}
