/* An open constellation: light, spacious and shared across screen sizes. */
.constellation-section{padding:80px var(--gutter) 55px;background:#fff;position:relative;isolation:isolate}
.constellation-heading{text-align:center;max-width:740px;margin:auto}
.constellation-heading .eyebrow{color:#b94159;margin-bottom:20px}
.constellation-heading h2{font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:-.055em}
.constellation-heading h2 br{display:none}.constellation-heading h2 span{display:block;color:#d53e58}
.constellation-heading>p:last-child{font-size:15px;line-height:1.85;color:#607987;max-width:600px;margin:25px auto 0}
.brand-constellation{position:relative;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;max-width:1060px;margin:45px auto 0;min-height:350px;padding:15px 0 35px}
.constellation-orbit{position:absolute;inset:22% 7% 14%;border:1px solid #dfE9ee;border-radius:50%;transform:rotate(-9deg);pointer-events:none;z-index:-1}
.constellation-orbit:after{content:"";position:absolute;inset:22px -30px;border:1px solid #edf1f4;border-radius:50%;transform:rotate(16deg)}
.constellation-orbit i{display:block;position:absolute;inset:-4px;animation:orbit-trace 25s linear infinite;border-radius:50%}
.constellation-orbit i:before{content:"";position:absolute;left:50%;top:0;width:7px;height:7px;background:#d53e58;border-radius:50%}
.constellation-brand{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:12px 5px;text-align:center;text-decoration:none}
.constellation-brand>img{width:160px;height:160px;object-fit:contain;animation:brand-hover 7s ease-in-out infinite;transition:filter .3s}
.constellation-brand>span:not(.brand-enter){font-size:27px;letter-spacing:-.045em;line-height:1.2;white-space:nowrap;margin-top:15px;background:#fff;padding:5px 7px}
.constellation-brand em{font-style:normal}.constellation-brand>.overview-intyg{font-size:23px!important;letter-spacing:-.04em}
.constellation-direct,.constellation-intyg,.constellation-health{transform:none}
.constellation-intyg>img{animation-delay:-2s}.constellation-health>img{animation-delay:-4s}
.brand-enter{display:grid;place-items:center;border:1px solid #dae6eb;background:#fff;width:35px;height:35px;border-radius:50%;margin-top:14px;color:#527787;transition:background .25s,color .25s,transform .25s}
.constellation-brand:hover .brand-enter,.constellation-brand:focus-visible .brand-enter{background:#173b4d;color:white;transform:translateY(-3px)}
.constellation-brand:focus-visible{outline:2px solid #3982a1;outline-offset:4px;border-radius:15px}
.arrow-icon{width:21px;height:21px;display:inline-block;vertical-align:middle;flex:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.business .text-link{display:inline-flex;align-items:center;gap:22px;border:1px solid #bcd4df;border-radius:40px;padding:9px 10px 9px 23px;font-size:14px;line-height:1.5;min-height:54px;background:#ffffff90;margin-top:30px;transition:background .2s,transform .2s}
.business .text-link>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#245d7a;color:white;margin:0}
.health-section .text-link{border-color:#dfb6c1}.health-section .text-link>span{background:#a9445d}
.business .text-link:hover{background:#fff;transform:translateY(-3px)}.business .text-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@keyframes brand-hover{0%,100%{translate:0 4px;rotate:-2deg}50%{translate:0 -7px;rotate:2deg}}
@keyframes orbit-trace{to{transform:rotate(360deg)}}
@media(max-width:700px){
 .constellation-section{padding:50px 20px 40px}.constellation-heading h2{font-size:clamp(36px,8.5vw,51px)}.constellation-heading>p:last-child{font-size:13px;line-height:1.8;margin-top:20px;max-width:440px}
 .brand-constellation{grid-template-columns:1fr 1fr;grid-template-rows:190px 190px;max-width:460px;margin-top:26px;padding:0;min-height:0;gap:12px}
 .constellation-direct{grid-column:1/-1;transform:none}.constellation-intyg,.constellation-health{transform:none}
 .constellation-brand{padding:0}.constellation-brand>img{width:100px;height:100px}.constellation-brand>span:not(.brand-enter){font-size:22px;margin-top:9px;padding:2px 1px}.constellation-brand>.overview-intyg{font-size:clamp(15px,3.8vw,20px)!important}
 .constellation-orbit{inset:16% 11% 15%;transform:rotate(-20deg)}.constellation-orbit:after{inset:12px -13px;transform:rotate(30deg)}.brand-enter{width:28px;height:28px;margin-top:9px}.brand-enter .arrow-icon{width:16px;height:16px}
 .business .text-link{font-size:14px;gap:18px}.business .direkt-copy{padding-bottom:5px}
}
@media(prefers-reduced-motion:reduce){.constellation-brand>img,.constellation-orbit i{animation:none}.business .text-link,.brand-enter{transition:none}}
.footer-brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}.footer-brands a{flex-direction:column;gap:12px;text-align:center;white-space:nowrap;font-size:15px}.footer-brands img,.footer-brands .footer-iad img{width:45px;height:45px;object-fit:contain}.footer-iad span{font:700 14px 'Open Sans',Arial,sans-serif;color:#fff}.footer-family{min-width:0}
@media(max-width:800px){.footer-brands{gap:12px}.footer-brands a{font-size:clamp(10px,2.8vw,15px)}.footer-brands .footer-iad span{font-size:clamp(9px,2.5vw,14px)}.footer-brands img,.footer-brands .footer-iad img{width:clamp(32px,8vw,45px);height:clamp(32px,8vw,45px)}}
/* Brand alignment and compact mobile about section. */
.constellation-heading .eyebrow{display:block;width:100%;text-align:center}
.overview-intyg .brand-se{color:#fff;-webkit-text-stroke:.3px #8da3af;font-style:normal}
.footer-brands a{display:grid;grid-template-rows:45px 24px;justify-items:center;justify-content:center;grid-template-columns:minmax(0,1fr);align-items:end;color:#fff;opacity:1;gap:12px}
.footer-brands a>span,.footer-brands .footer-iad>span{color:#fff;font-size:14px;line-height:24px;height:24px;margin:0;padding:0;align-self:baseline}
.footer-brands img{opacity:1}
@media(max-width:800px){.footer-brands a{grid-template-rows:clamp(32px,8vw,45px) 24px}.footer-brands a>span,.footer-brands .footer-iad>span{font-size:clamp(8px,2.3vw,14px);line-height:24px}}
@media(max-width:700px){
 .constellation-brand>.overview-intyg{font-size:clamp(12px,3.2vw,18px)!important}
 .business .direkt-visual>img{width:245px;height:245px;max-width:80vw}
 .about-section{position:relative;isolation:isolate;overflow:hidden}
 .about-composition{display:grid;grid-template-columns:1fr;gap:24px;position:relative}
 .about-emblem{position:relative;opacity:1;display:block}
 .about-emblem>img{width:220px;max-width:100%;height:auto;filter:none;margin:0 auto}
 .about-story{position:relative}
}


/* Compact service illustrations above their copy on mobile. */
@media(max-width:760px){
 .business .direkt-layout{gap:8px;padding-top:12px}
 .business .direkt-visual{min-height:0;height:230px}
 .business .direkt-visual>img{width:230px;height:230px;max-width:80vw}
 .business .direkt-copy>.eyebrow{margin-bottom:16px}
}

/* Shared desktop rows align the three brand names and arrows. */
@media(min-width:701px){
 .constellation-brand{display:grid;grid-template-rows:160px 43px 35px;justify-items:center;gap:14px}
 .constellation-brand>span:not(.brand-enter){margin-top:0;align-self:center}
 .constellation-brand>.brand-enter{margin-top:0}
}
.contact-content>p br{display:initial}
@media(max-width:760px){.contact-content>p br{display:none}}
