/* Kontakt combines its editorial hero with the approved About contact, audience cards,
   process mosaic and client tiles. All adaptations remain scoped to this route. */
.kontakt-page .cursor-ring.is-candidate { mix-blend-mode:normal; }
.kontakt-page .kontakt-hero-accent { color:#37afff; }
.kontakt-page .kontakt-hero-actions .cut-button,.kontakt-page .header:not(.is-scrolled) .header-contact { --button-base-bg:#050607; --button-base-fg:#fff; --button-base-border:#050607; --button-hover-bg:#fff; --button-hover-fg:#050607; --button-hover-border:#050607; }
.kontakt-page .kontakt-hero-actions .outline { --button-base-bg:#fff; --button-base-fg:#050607; --button-base-border:#050607; --button-hover-bg:#050607; --button-hover-fg:#fff; --button-hover-border:#050607; }
.kontakt-page .kontakt-hero-gallery { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.9fr); grid-template-rows:repeat(12,minmax(0,1fr)); gap:clamp(12px,1.2vw,22px); height:clamp(440px,32vw,620px); min-width:0; }
.kontakt-page .kontakt-hero-shot { min-width:0; min-height:0; overflow:hidden; background:#f1f4f6; --enter-rise:32px; --enter-scale:1; }
.kontakt-page .kontakt-hero-shot img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.kontakt-page .kontakt-hero-shot--craft { grid-area:3 / 1 / 12 / 2; clip-path:polygon(32px 0,100% 0,100% 100%,0 100%,0 32px); }
.kontakt-page .kontakt-hero-shot--craft img { object-position:45% 52%; }
.kontakt-page .kontakt-hero-shot--conversation { grid-area:1 / 2 / 13 / 3; clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,32px 100%,0 calc(100% - 32px)); }
.kontakt-page .kontakt-hero-shot--conversation img { object-position:48% 50%; }
.kontakt-page .kontakt-hero-shot--care { grid-area:3 / 3 / 11 / 4; clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%); }
.kontakt-page .kontakt-hero-shot--care img { object-position:70% 50%; }
.kontakt-page .header:not(.is-scrolled) { background:#fff; color:#050607; border-color:#e1e6e9; }
.kontakt-page .kontakt-brand-light { display:none; }
.kontakt-page .header.is-scrolled .kontakt-brand-dark { display:none; }
.kontakt-page .header.is-scrolled .kontakt-brand-light { display:block; }
.kontakt-page .header:not(.is-scrolled) .nav-link { color:#52616c; }
.kontakt-page .header:not(.is-scrolled) .nav-link:is(:hover,:focus-visible),.kontakt-page .header:not(.is-scrolled) .services-nav.is-open > .services-trigger { color:#050607; background:#f1f4f6; }
.kontakt-page .header:not(.is-scrolled) .services-menu { background:#24272a; -webkit-backdrop-filter:none; backdrop-filter:none; }
.kontakt-page .header:not(.is-scrolled) .nav-link:focus-visible,.kontakt-page .header:not(.is-scrolled) .language-option:focus-visible { outline-color:#8c82ff; }
.kontakt-page .header:not(.is-scrolled) .language-option:is(:hover,:focus-visible) { color:#050607; background:#f1f4f6; }
.kontakt-page .header:not(.is-scrolled) .header-language { color:#626f79; border-color:#cbd4da; background:#fff; }
.kontakt-page .header:not(.is-scrolled) .language-option.is-active { background:#050607; color:#fff; }
.kontakt-page .header:not(.is-scrolled) .menu-toggle { color:#050607; }
.kontakt-page .kontakt-approach { background:#fff; --about-heading-accent:#8c82ff; }
.kontakt-page .kontakt-approach h2 { max-width:29ch; margin-top:32px; }
.kontakt-page .kontakt-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:clamp(40px,4vw,64px); }
.kontakt-page .kontakt-value { --value-cut:clamp(30px,2.5vw,54px); display:flex; flex-direction:column; gap:clamp(32px,3vw,48px); min-width:0; padding:clamp(28px,2.6vw,48px); background:#f1f4f6; color:#050607; border-radius:0; }
.kontakt-page .kontakt-value--partnership { clip-path:polygon(0 0,calc(100% - var(--value-cut)) 0,100% var(--value-cut),100% 100%,0 100%); }
.kontakt-page .kontakt-value--professionalism { background:#f0edff; clip-path:polygon(0 0,100% 0,100% 100%,var(--value-cut) 100%,0 calc(100% - var(--value-cut))); }
.kontakt-page .kontakt-value--feedback { clip-path:polygon(var(--value-cut) 0,100% 0,100% 100%,0 100%,0 var(--value-cut)); }
.kontakt-page .kontakt-value-icon { display:block; width:34px; height:34px; flex:none; color:#050607; fill:none; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.kontakt-page .kontakt-value-copy { min-width:0; }
.kontakt-page .kontakt-values h3 { font-size:clamp(25px,2vw,34px); line-height:1.15; letter-spacing:-.035em; font-weight:600; }
.kontakt-page .kontakt-values p { margin-top:20px; color:#050607; }
.kontakt-page .kontakt-process { padding-block:var(--section-mosaic-start) var(--section-mosaic-end); scroll-margin-top:112px; }
.kontakt-page .kontakt-process .responsibility-mosaic__heading { position:static; align-self:center; }
.kontakt-page .kontakt-process .responsibility-mosaic__grid { list-style:none; padding:0; margin:0; }
.kontakt-page .kontakt-process .responsibility-mosaic__card { min-height:0; }
.kontakt-page .kontakt-process .responsibility-mosaic__card h3 { font-size:clamp(25px,1.9vw,34px); }
.kontakt-page .kontakt-process .responsibility-mosaic__card p { margin-top:18px; font-size:clamp(18px,1.3vw,22px); font-weight:400; line-height:1.5; }
.kontakt-page .kontakt-step-index { display:block; margin-bottom:24px; font-size:16px; font-variant-numeric:tabular-nums; }
.kontakt-page .kontakt-trust { background:#fff; padding-block:var(--about-space); }
.kontakt-page .kontakt-permit { display:grid; grid-template-areas:"copy logo"; grid-template-columns:minmax(0,1fr) clamp(360px,28vw,520px); align-items:center; gap:48px; padding:clamp(40px,4vw,80px); background:#f1f4f6; color:#050607; }
.kontakt-page .kontakt-permit .about-label { color:#626f79; }
.kontakt-page .kontakt-permit h2 { font-size:clamp(32px,2.4vw,46px); margin-top:32px; }
.kontakt-page .kontakt-permit .about-body { margin-top:32px; max-width:65ch; color:#3a454e; }
.kontakt-page .kontakt-permit-copy { grid-area:copy; }
.kontakt-page .kontakt-permit-logo { grid-area:logo; padding:0; background:transparent; }
.kontakt-page .kontakt-permit-logo img { display:block; width:100%; height:auto; border-radius:0; }
.kontakt-page .about-contact-content { gap:clamp(56px,5vw,96px); justify-content:flex-start; }
.kontakt-page .about-contact-form { align-self:start; --form-accent:#8c82ff; --form-focus:#8c82ff; }
.kontakt-page .about-contact-form { --about-violet:var(--form-focus); }
.kontakt-page .about-contact-form .candidate-form-submit { --button-hover-bg:var(--form-accent); --button-hover-border:var(--form-accent); }
.kontakt-page .about-contact-form [hidden] { display:none!important; }
.kontakt-page .kontakt-faq { display:grid; grid-template-columns:1fr 1.15fr; align-items:start; gap:clamp(48px,7vw,140px); background:#fff; --about-heading-accent:#47cb56; }
.kontakt-page .kontakt-faq-intro h2 { margin-top:32px; }
.kontakt-page .kontakt-faq-tabs { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 28px; }
.kontakt-page .kontakt-faq-tabs .cut-button { --button-base-bg:#fff; --button-base-fg:#050607; --button-base-border:#cbd4da; --button-hover-bg:#050607; --button-hover-fg:#fff; --button-hover-border:#050607; padding:14px 20px; min-height:52px; font-size:16px; }
.kontakt-page .kontakt-faq-tabs [aria-selected=true] { --button-base-bg:#050607; --button-base-fg:#fff; --button-base-border:#050607; }
.kontakt-page .kontakt-faq-item { border-bottom:1px solid #cbd4da; }
.kontakt-page .kontakt-faq-item:first-child { border-top:1px solid #cbd4da; }
.kontakt-page .kontakt-faq-item h3 button { display:flex; align-items:center; justify-content:space-between; gap:28px; width:100%; padding:32px 0; border:0; background:none; color:#050607; text-align:left; font-family:'DM Sans',Arial,sans-serif; font-size:clamp(21px,1.6vw,28px); font-weight:500; line-height:1.3; letter-spacing:-.025em; }
.kontakt-page .kontakt-faq-item h3 button:is(:hover,:focus-visible) { color:var(--about-heading-accent,var(--about-violet)); }
.kontakt-page .kontakt-faq-item h3 button:focus-visible { outline:1px solid var(--about-heading-accent,var(--about-violet)); outline-offset:5px; }
.kontakt-page .kontakt-faq-item h3 button svg { width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.3; transition:rotate .3s ease; }
.kontakt-page .kontakt-faq-item h3 button[aria-expanded=true] svg { rotate:45deg; }
.kontakt-page .kontakt-faq-answer { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1),opacity .25s ease; }
.kontakt-page .kontakt-faq-answer > div { min-height:0; overflow:hidden; }
.kontakt-page .kontakt-faq-answer p { padding:0 32px 32px 0; color:#596873; font-size:clamp(18px,1.3vw,22px); line-height:1.5; }
.kontakt-page .kontakt-faq-answer a { color:#050607; text-decoration:underline; text-underline-offset:4px; }
.kontakt-page .kontakt-faq-item.is-open .kontakt-faq-answer { grid-template-rows:1fr; opacity:1; }
.kontakt-page .kontakt-faq-seco { width:min(300px,100%); margin-bottom:24px; padding:20px; background:#050607; }
.kontakt-page .kontakt-faq-seco img { width:100%; height:auto; border-radius:0; }
@media(max-width:1100px) {
 .kontakt-page .kontakt-hero-gallery { width:100%; max-width:900px; height:clamp(440px,62vw,620px); margin-inline:auto; }
 .kontakt-page .kontakt-approach h2 { max-width:100%; margin-top:22px; }
 .kontakt-page .kontakt-approach h2 br { display:none; }
 .kontakt-page .kontakt-values { grid-template-columns:1fr; gap:24px; margin-top:var(--compact-gap); }
 .kontakt-page .kontakt-value { --value-cut:var(--compact-cut); display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:28px; padding:var(--compact-padding); }
 .kontakt-page .kontakt-values h3,.kontakt-page .kontakt-process .responsibility-mosaic__card h3 { font-size:var(--compact-h3); }
 .kontakt-page .kontakt-process .responsibility-mosaic__heading h2 { font-size:var(--compact-h2); }
 .kontakt-page .kontakt-process .responsibility-mosaic__card p { font-size:var(--compact-body); }
 .kontakt-page .kontakt-permit { grid-template-columns:minmax(0,1fr) clamp(280px,35vw,360px); gap:28px; padding:clamp(28px,4vw,40px); }
 .kontakt-page .kontakt-permit h2 { font-size:var(--compact-h3); margin-top:28px; }
 .kontakt-page .kontakt-permit .about-body { margin-top:28px; }
 .kontakt-page .about-contact-content { gap:48px; }
 .kontakt-page .kontakt-faq { grid-template-columns:1fr; gap:var(--compact-gap); }
 .kontakt-page .kontakt-faq-intro h2 { margin-top:22px; }
 .kontakt-page .kontakt-faq-answer p { font-size:var(--compact-body); }
}
@media(max-width:760px) {
 .kontakt-page .kontakt-hero-gallery { height:clamp(280px,70vw,420px); gap:10px; }
 .kontakt-page .kontakt-hero-shot--conversation { clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,18px 100%,0 calc(100% - 18px)); }
 .kontakt-page .kontakt-hero-shot--craft { clip-path:polygon(18px 0,100% 0,100% 100%,0 100%,0 18px); }
 .kontakt-page .kontakt-hero-shot--care { clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%); }
 .kontakt-page .kontakt-value { display:flex; gap:24px; }
 .kontakt-page .kontakt-values p { margin-top:16px; }
 .kontakt-page .kontakt-permit { grid-template-columns:1fr; grid-template-areas:"logo" "copy"; gap:24px; }
 .kontakt-page .kontakt-permit-logo { width:min(340px,100%); }
 .kontakt-page .about-contact-content { gap:40px; }
 .kontakt-page .kontakt-step-index { margin-bottom:20px; }
 .kontakt-page .candidate-title-accent { white-space:normal; }
 .kontakt-page .kontakt-faq-tabs { margin-bottom:24px; }
 .kontakt-page .kontakt-faq-item h3 button { gap:20px; font-size:21px; padding-block:28px; }
 .kontakt-page .kontakt-faq-answer p { padding-right:0; padding-bottom:28px; }
}
@media(min-width:1921px) and (min-aspect-ratio:21/10) {
 .kontakt-page .kontakt-hero-gallery { height:700px; }
 .kontakt-page .kontakt-values h3 { font-size:34px; }
 .kontakt-page .kontakt-process .responsibility-mosaic__heading h2 { font-size:64px; }
}
@media(prefers-reduced-motion:reduce) {
 .kontakt-page .kontakt-faq-answer,.kontakt-page .kontakt-faq-item h3 button svg { transition:none; }
}
