@font-face{font-family:Inter;src:url('fonts/inter-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
/* Shared brand accent for all languages, themes and interaction states. */
:root{--red:#ca1934;--ink:#25272b;--muted:#666b73;--paper:#f5f6f7;--line:#e4e6e9;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:white;font-size:17px;line-height:1.75;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--red);text-underline-offset:4px;transition:color .2s,background-color .2s}a:hover{color:var(--red)}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px;border-radius:3px}img{max-width:100%;height:auto;display:block}p{margin:0 0 1.25em}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.035em;font-weight:750;text-wrap:balance}h1{font-size:clamp(36px,4.5vw,66px);font-weight:800;margin:16px 0;max-width:1100px}h2{font-size:clamp(30px,3vw,42px)}h3{font-size:27px}h4{font-size:21px}h1 strong,h2 strong,h3 strong,h4 strong{font-weight:inherit}.skip{position:absolute;left:16px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.site-header{border-top:4px solid var(--red);background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{max-width:1500px;margin:auto;display:flex;align-items:center;gap:30px;padding:0 4vw;min-height:94px}.brand{display:block;flex-shrink:0;text-decoration:none}.brand img{width:300px;height:auto;filter:none}.brand>span{display:none}.languages{flex-shrink:0}.languages nav{display:flex;gap:13px}.languages a{color:var(--muted);font-size:0;text-decoration:none}.languages a[hreflang=de]::after{content:'DE'}.languages a[hreflang=en]::after{content:'EN'}.languages a[hreflang=fr]::after{content:'FR'}.languages a::after{font-size:11px;font-weight:600;letter-spacing:.04em}.languages .is-active a,.languages a:hover{color:var(--red)}#site-navigation{flex:1;min-width:0}#site-navigation>ul{margin:0;display:flex;align-items:center;justify-content:center;list-style:none;padding:0;gap:clamp(16px,2vw,30px)}#site-navigation li{list-style:none;position:relative}#site-navigation>ul>li>a{display:block;padding:34px 0;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;position:relative}#site-navigation>ul>li>a::after{content:'';position:absolute;left:0;right:0;bottom:24px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}#site-navigation>ul>li>a:hover::after,#site-navigation>ul>li:focus-within>a::after{transform:scaleX(1)}#site-navigation ul ul{display:none;position:absolute;z-index:30;top:100%;left:-20px;min-width:260px;background:white;border:1px solid var(--line);border-top:2px solid var(--red);border-radius:0 0 9px 9px;padding:12px 20px;box-shadow:0 14px 32px #18202b15}#site-navigation ul ul a{display:block;padding:9px 0;font-size:13px;font-weight:500;text-decoration:none;color:var(--ink);line-height:1.5}#site-navigation ul ul a:hover{color:var(--red)}#site-navigation li:hover>ul,#site-navigation li:focus-within>ul{display:block}.menu-toggle{display:none;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font-size:24px;padding:2px 11px;cursor:pointer}.page-intro{background:var(--paper);padding:68px 6vw 74px;border-bottom:1px solid var(--line)}.page-intro>p,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--red);margin:0 0 13px}main{max-width:1320px;margin:auto;padding:64px 5vw 88px}main .row{display:flex;flex-wrap:wrap;gap:40px;margin:0 0 36px}main .row>.col,main .row>[class*=col-]{flex:1;min-width:0}main .row>.col-md-3{flex-basis:20%}main .row>.col-md-4{flex-basis:28%}main .row>.col-md-6{flex-basis:44%}.iq-text{margin:18px 0 34px}.iq-text h3{margin:12px 0 22px}.iq-text p:empty{display:none}.iq-image{margin:24px 0}.iq-image img{border-radius:8px;width:auto;max-height:640px;object-fit:contain}.iq-image a{display:block}.iq-button{margin:28px 0}.iq-button a,.button{display:inline-flex;align-items:center;gap:12px;padding:13px 23px;border:1px solid var(--red);background:var(--red);color:white;text-decoration:none;font-size:14px;font-weight:700;border-radius:5px;transition:background .2s,transform .2s}.iq-button a:hover,.button:hover{color:white;background:var(--red);transform:translateY(-2px)}.background-color-secondary{padding:36px;background:var(--paper);border-radius:9px}hr{border:0;border-top:1px solid var(--line);margin:26px 0}.site-footer{background:#25272b;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:64px 6vw 24px}.site-footer h2{font-size:25px;margin-top:0}.site-footer p{font-size:14px;color:#ccc}.site-footer a{color:#fff;font-size:14px}.footer-links{grid-column:1/-1;border-top:1px solid #ffffff26;padding-top:24px;font-size:12px;color:#ccc}.visually-hidden,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}table{border-collapse:collapse;width:100%;margin:24px 0}td,th{border-bottom:1px solid var(--line);padding:12px;text-align:left}main iframe{display:none}.carousel-item{margin:24px 0}.hidden-large,.hidden-medium.hidden-small{display:none}main .iq-column:empty{display:none}
.home-page .page-intro{padding:90px 6vw;min-height:420px;display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(90deg,#16191fe8,#16191f40),url('hero.webp') center/cover}.home-page .page-intro>p{color:#fff;opacity:.8}.home-page .page-intro h1{max-width:820px}.home-page main{padding-top:64px}.home-page main .section>article .node__content>.field>section>.row:first-child{max-width:960px;margin:0 0 64px}.services{margin:72px -2.3vw 88px;padding:62px 2.3vw 54px;background:var(--paper);border-radius:16px}.section-heading{max-width:780px;margin:0 0 38px}.section-heading h2{margin:0;max-width:740px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-card{background:#fff;border:1px solid #e8e9ec;border-top:3px solid var(--red);border-radius:11px;padding:34px 34px 29px;box-shadow:0 6px 24px #19212d08;display:flex;flex-direction:column;transition:box-shadow .24s,transform .24s}.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px #19212d12}.service-number{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--red);margin-bottom:19px}.service-card h3{font-size:25px;margin:0 0 16px;line-height:1.25;text-wrap:pretty}.service-subtitle{font-size:14px;font-weight:650;line-height:1.6;color:var(--ink);margin:0 0 21px}.service-copy{font-size:14px;line-height:1.85;color:#626770;margin-bottom:23px}.service-copy p{margin:0 0 14px}.service-copy p:last-child{margin-bottom:0}.service-link{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:auto;text-decoration:none;color:var(--red);font-weight:750;font-size:14px;line-height:1.5;padding:6px 0}.service-link>span{display:inline-block;font-size:21px;transition:transform .2s}.service-link:hover>span,.service-link:focus-visible>span{transform:translateX(5px)}
@media(min-width:1500px){.header-inner{gap:45px}#site-navigation>ul>li>a{font-size:14px}}
@media(max-width:1100px){.header-inner{gap:20px;padding:0 3vw}.brand img{width:240px}#site-navigation>ul{gap:17px}#site-navigation>ul>li>a{font-size:12px}.languages nav{gap:10px}main .row{gap:28px}.service-card{padding:28px}.service-card h3{font-size:23px}}
@media(max-width:950px){.header-inner{min-height:82px;flex-wrap:wrap;justify-content:space-between;padding:18px 5vw;gap:0 22px}.brand{margin-right:auto}.brand img{width:184px}.menu-toggle{display:block;margin-left:22px}.languages{order:2}.menu-toggle{order:3}#site-navigation{display:none;order:4;flex-basis:100%;padding:16px 0 0}#site-navigation.open{display:block}#site-navigation>ul{display:block;border-top:1px solid var(--line);padding-top:14px}#site-navigation>ul>li>a{padding:12px 0;font-size:14px}#site-navigation>ul>li>a::after{display:none}#site-navigation ul ul{position:static;display:block;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:0 0 12px;padding:0 16px;min-width:0}#site-navigation ul ul a{font-size:13px;padding:6px 0}.page-intro{padding:48px 5vw}.home-page .page-intro{padding:64px 5vw;min-height:370px}}
@media(max-width:720px){:root{font-size:16px}.header-inner{padding:16px 5vw;min-height:76px;gap:0 12px}.brand img{width:158px;max-width:44vw}.menu-toggle{margin-left:8px;font-size:23px}.languages nav{gap:10px}.languages a::after{font-size:10px}main,.home-page main{padding:38px 5vw 56px}main .row{display:block;margin-bottom:28px}main .row>.col,main .row>[class*=col-]{width:100%;margin-bottom:24px}.page-intro{padding:36px 5vw}.home-page .page-intro{min-height:330px;padding:48px 5vw}.home-page .page-intro h1{font-size:38px}.services{margin:48px 0 56px;padding:30px 16px 16px;border-radius:12px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:28px}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:27px 24px 24px}.service-card h3{font-size:23px}.service-copy{font-size:14px}.site-footer{grid-template-columns:1fr;gap:24px;padding:44px 5vw 24px}.background-color-secondary{padding:24px}h2{font-size:29px}h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}.service-card:hover,.iq-button a:hover,.button:hover{transform:none}}

/* Keep the introduction and service section visually connected. */
.home-page main .section>article .node__content>.field>section>.row:first-child{margin-bottom:0}
.home-page main .section>article .node__content>.field>section>.row:first-child>.iq-column{margin-bottom:0}
.home-page main .section>article .node__content>.field>section>.row:first-child .iq-text{margin-bottom:0}
.home-page main .section>article .node__content>.field>section>.row:first-child .iq-text>p:last-child{margin-bottom:0}
.home-page .services{margin-top:40px}
@media(max-width:720px){.home-page .services{margin-top:32px}}

/* One navigation accent: the hover underline, with a neutral dropdown border. */
#site-navigation ul ul{border-top:1px solid var(--line)}
/* Restore the original decorative image on interior page headers. */
body:not(.home-page) .page-intro{background:linear-gradient(90deg,#151a21db,#151a2166),url('header-inner.webp') center/cover;color:#fff;min-height:290px;display:flex;flex-direction:column;justify-content:center;padding-top:54px;padding-bottom:54px}
body:not(.home-page) .page-intro>p{color:#fff;opacity:.8}
body:not(.home-page) .page-intro h1{font-size:clamp(32px,3.7vw,56px);max-width:1200px}
:root{color-scheme:light}
@media(prefers-color-scheme:dark){
 :root{color-scheme:dark;--ink:#eceef3;--muted:#b1b8c5;--paper:#1b2028;--line:#333b47;background:#12161d}
 body{background:#12161d;color:var(--ink)}
 a:hover{color:var(--red)}
 .site-header,#site-navigation ul ul,.menu-toggle,.skip{background:#181d25;color:var(--ink)}
 /* Preserve the original logo colors in dark mode as well. */
 .brand img{filter:none}
 #site-navigation ul ul{box-shadow:0 16px 36px #0005}
 .page-intro{background-color:var(--paper)}
 .service-card{background:#232a35;border-color:#35404e;border-top-color:var(--red);box-shadow:0 6px 24px #0002}
 .service-card:hover{box-shadow:0 15px 36px #0004}
 .service-copy{color:#c1c7d2}
 .service-subtitle,.service-card h3{color:var(--ink)}
 .iq-button a,.button{background:var(--red);border-color:var(--red);color:#fff}
 .iq-button a:hover,.button:hover{background:var(--red);color:#fff}
 .site-footer{background:#0c1016}
 .site-footer p{color:#b5bdc9}
 .footer-links{border-color:#333b47;color:#b5bdc9}
 a:focus-visible,button:focus-visible{outline-color:var(--red)}
}
@media(max-width:720px){body:not(.home-page) .page-intro{min-height:230px;padding:38px 5vw}}

/* Explicit choices override the system palette; Auto keeps the media query. */
:root[data-theme=light]{color-scheme:light;--ink:#25272b;--muted:#666b73;--paper:#f5f6f7;--line:#e4e6e9;background:#fff}
[data-theme=light] body{background:#fff;color:var(--ink)}
[data-theme=light] a:hover{color:var(--red)}
[data-theme=light] .site-header,[data-theme=light] #site-navigation ul ul,[data-theme=light] .menu-toggle,[data-theme=light] .skip{background:#fff;color:var(--ink)}
[data-theme=light] .brand img{filter:none}
[data-theme=light] #site-navigation ul ul{box-shadow:0 14px 32px #18202b15}
[data-theme=light] .service-card{background:#fff;border-color:#e8e9ec;border-top-color:var(--red);box-shadow:0 6px 24px #19212d08}
[data-theme=light] .service-card:hover{box-shadow:0 14px 34px #19212d12}
[data-theme=light] .service-copy{color:#626770}
[data-theme=light] .iq-button a,[data-theme=light] .button{background:var(--red);border-color:var(--red);color:#fff}
[data-theme=light] .iq-button a:hover,[data-theme=light] .button:hover{background:var(--red);color:#fff}
[data-theme=light] .site-footer{background:#25272b}
[data-theme=light] .site-footer p{color:#ccc}
[data-theme=light] .footer-links{border-color:#ffffff26;color:#ccc}
[data-theme=light] a:focus-visible,[data-theme=light] button:focus-visible{outline-color:var(--red)}
:root[data-theme=dark]{color-scheme:dark;--ink:#eceef3;--muted:#b1b8c5;--paper:#1b2028;--line:#333b47;background:#12161d}
[data-theme=dark] body{background:#12161d;color:var(--ink)}
[data-theme=dark] a:hover{color:var(--red)}
[data-theme=dark] .site-header,[data-theme=dark] #site-navigation ul ul,[data-theme=dark] .menu-toggle,[data-theme=dark] .skip{background:#181d25;color:var(--ink)}
[data-theme=dark] .brand img{filter:none}
[data-theme=dark] #site-navigation ul ul{box-shadow:0 16px 36px #0005}
[data-theme=dark] .page-intro{background-color:var(--paper)}
[data-theme=dark] .service-card{background:#232a35;border-color:#35404e;border-top-color:var(--red);box-shadow:0 6px 24px #0002}
[data-theme=dark] .service-card:hover{box-shadow:0 15px 36px #0004}
[data-theme=dark] .service-copy{color:#c1c7d2}
[data-theme=dark] .service-subtitle,[data-theme=dark] .service-card h3{color:var(--ink)}
[data-theme=dark] .iq-button a,[data-theme=dark] .button{background:var(--red);border-color:var(--red);color:#fff}
[data-theme=dark] .iq-button a:hover,[data-theme=dark] .button:hover{background:var(--red);color:#fff}
[data-theme=dark] .site-footer{background:#0c1016}
[data-theme=dark] .site-footer p{color:#b5bdc9}
[data-theme=dark] .footer-links{border-color:#333b47;color:#b5bdc9}
[data-theme=dark] a:focus-visible,[data-theme=dark] button:focus-visible{outline-color:var(--red)}
@media(max-width:950px){[data-theme=light] #site-navigation ul ul{box-shadow:none}}

/* Small, keyboard-accessible footer button with a comfortable touch target. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:90px;min-height:36px;margin-left:22px;padding:5px 11px;border:1px solid #ffffff60;border-radius:5px;background:transparent;color:#fff;font:inherit;font-size:12px;line-height:1.4;vertical-align:middle;cursor:pointer}
.theme-toggle:hover{background:#ffffff18}
.site-footer .theme-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
.theme-toggle>span:first-child{font-size:17px;line-height:1}
@media(max-width:480px){.theme-toggle{display:flex;margin:16px 0 0;min-height:44px}}

/* Swisssort: retain the stacked logo in the compact shared header. */
:root{--red:#d81f2d}.header-inner{min-height:104px;gap:28px}.brand img{width:190px}.home-page .page-intro{min-height:440px}.home-page .page-intro h1{max-width:870px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.hero-actions .button.secondary{background:transparent;border-color:#ffffffaa;color:#fff}.hero-actions .button.secondary:hover{background:#ffffff20}.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:48px 0 64px}.solution-card{padding:30px;border:1px solid var(--line);border-radius:11px;display:flex;flex-direction:column;background:var(--paper)}.solution-card picture,.solution-card>img{display:block;width:48px;height:48px;margin-bottom:22px}.solution-card picture img{width:48px;height:48px;object-fit:contain}.solution-card h3{font-size:23px;margin:0 0 12px}.solution-card .solution-copy{font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:20px}.solution-card p{margin-bottom:12px}.solution-card .service-link{margin-top:auto}.news-overview{margin-top:72px}.news-overview>.row{align-items:flex-start}.news-overview .iq-text>h4{font-size:28px;margin-bottom:24px}.news-overview p{font-size:15px;overflow-wrap:anywhere}.site-footer strong{font-size:24px}.site-footer .footer-links a{margin-right:20px}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.overview-card{padding:28px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:10px;background:var(--paper)}.overview-card h2{font-size:25px;margin:0 0 22px}main .pd-content>.row:first-child{margin-top:0}.home-page main .pd-content>.row:first-child h2{max-width:1000px}.home-page main .pd-content>.row:first-child .iq-text{margin-top:0}.home-page main .pd-content>.row:first-child{align-items:center}.home-page main .pd-content>.row:first-child picture img{max-height:340px;object-fit:contain}.site-header #site-navigation ul ul{border-top:1px solid var(--line)}.site-header #site-navigation li:has(>ul)>a::after{display:none}.site-header #site-navigation li:has(>ul)>a:hover{color:var(--red)}
@media(prefers-color-scheme:dark){.solution-card,.overview-card{background:var(--paper)}.solution-card picture{background:#fff;border-radius:8px;padding:7px}.solution-card picture img{height:34px;width:34px}}
@media(max-width:1100px){.header-inner{gap:20px}.brand img{width:164px}}
@media(max-width:950px){.header-inner{min-height:92px;gap:0 16px;padding-top:12px;padding-bottom:12px}.brand img{width:150px}}
@media(max-width:720px){.brand img{width:128px;max-width:36vw}.header-inner{min-height:82px}.home-page .page-intro{min-height:370px;padding:46px 5vw}.home-page .page-intro h1{font-size:36px}.solution-grid{grid-template-columns:1fr;gap:18px;margin:34px 0 44px}.solution-card{padding:25px}.solution-card picture{margin-bottom:15px}.overview-grid{grid-template-columns:1fr}.news-overview{margin-top:48px}.home-page main .pd-content>.row:first-child picture img{max-height:260px}.hero-actions{gap:12px}.hero-actions .button{font-size:13px;padding:12px 18px}}

.news-overview .iq-text{margin-top:0}.news-overview .row{margin-bottom:0}.news-item{border-top:1px solid var(--line);padding:22px 0 4px}.news-item p{margin-bottom:12px}.news-archive{margin-top:16px}.news-archive>summary{font-size:14px;font-weight:700;color:var(--red);cursor:pointer;padding:12px 0}.news-archive[open]>summary{margin-bottom:12px}

@media(prefers-color-scheme:dark){html:not([data-theme=light]) main a,html:not([data-theme=light]) .service-link,html:not([data-theme=light]) .service-number,html:not([data-theme=light]) .news-archive>summary,html:not([data-theme=light]) .section-heading>.eyebrow{color:#ff767b}html:not([data-theme=light]) .iq-button a,html:not([data-theme=light]) .button{color:#fff}html:not([data-theme=light]) .site-header #site-navigation a:hover,html:not([data-theme=light]) .languages a:hover{color:#ff767b}}

html[data-theme=dark] main a,html[data-theme=dark] .service-link,html[data-theme=dark] .service-number,html[data-theme=dark] .news-archive>summary,html[data-theme=dark] .section-heading>.eyebrow{color:#ff767b}html[data-theme=dark] .iq-button a,html[data-theme=dark] .button{color:#fff}html[data-theme=dark] .solution-card picture{background:#fff;border-radius:8px;padding:7px}html[data-theme=dark] .solution-card picture img{height:34px;width:34px}
