/* Oxenex refinements, 2026-10-05: hero directions, sub-heading level, footer entity. */
.hero-directions>a{display:block}
.hero-directions strong{display:block;font-size:17px;font-weight:400;letter-spacing:-.01em}
.hero-directions span{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:#a7b0c6;max-width:32ch}
@media(min-width:901px){.hero-directions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hero-directions{grid-template-columns:1fr}}
/* sub-headings share one level: the IT services title is the reference */
.projects-label,.products-caption{font-size:24px;font-weight:400;letter-spacing:-.025em;color:#e9eefb}
.infrastructure .projects-label{color:#fff}
/* sectors now follow the services */
.sector-directory{margin-top:30px}
.footer-bottom .legal-entity{line-height:1.6}

/* Type scale, 2026-10-05: one Geist scale for the whole page.
   14 small · 16 body · 20 group label · 24 item title · 40 feature title · display h2 unchanged */
.section-top,.section-top span,.quality-label,.contact-label{font-size:16px;font-weight:600;letter-spacing:0}
.it-services-title,.projects-label,.products-caption,.sector-directory h3{font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.015em;color:#e6ebf8}
.infrastructure .projects-label,.infrastructure .sector-directory h3{color:#fff}
.service h3,.it-service h3,.quality-item h3{font-size:24px;line-height:1.3;letter-spacing:-.02em}
.service p,.it-service p,.quality-item p,.product p,.steps p{font-size:16px;line-height:1.7}
.product h3{font-size:20px;line-height:1.4;letter-spacing:-.01em;color:#e6ebf8}
.product-name{font-size:40px;line-height:1.1;letter-spacing:-.045em}
.steps h3,.tile-copy h3,.partner-copy h3{font-size:clamp(30px,2.7vw,40px);line-height:1.18;letter-spacing:-.035em}
/* sectors: a list under its label, not a second set of headings */
.sector-directory{align-items:start}
.sector-directory>div{gap:0 35px}
.sector-directory span,.sector-directory span:nth-child(-n+2){font-size:20px;line-height:1.4;color:#e8ecfa;padding:16px 0;min-height:0;letter-spacing:-.01em}
@media(max-width:600px){
 .it-services-title,.projects-label,.products-caption,.sector-directory h3{font-size:18px}
 .service h3,.it-service h3,.quality-item h3{font-size:21px}
 .sector-directory span,.sector-directory span:nth-child(-n+2){font-size:18px;padding:11px 0}
 .product-name{font-size:34px}
 .steps h3,.tile-copy h3,.partner-copy h3{font-size:28px}
}

/* Long compound words (DE, PL) wrap instead of overflowing on narrow screens */
h2,h3{overflow-wrap:break-word;hyphens:auto}

/* Contact form: same linework as the rest of the page */
.contact-form{margin-top:34px;display:grid;gap:24px;position:relative}
.contact-form .field{display:grid;gap:6px}
.contact-form label{font-size:14px;color:#a4aec3}
.contact-form input,.contact-form textarea{font:inherit;font-size:18px;line-height:1.5;color:#f0f1f5;background:transparent;border:0;border-bottom:1px solid #ffffff40;border-radius:0;padding:8px 0 12px;transition:border-color .2s,box-shadow .2s;width:100%}
.contact-form textarea{resize:vertical;min-height:132px}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#fff;box-shadow:0 1px 0 #fff}
.contact-form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:20px 28px;flex-wrap:wrap;margin-top:4px}
.form-note{font-size:13px;line-height:1.6;color:#8f9ab3;max-width:36ch}
.form-note a{color:#c9d3ec;text-decoration:underline;text-underline-offset:3px}
.form-submit{font:inherit;font-size:15px;color:#fff;background:#1b2d8c;border:1px solid #3d52bd;padding:14px 26px;cursor:pointer;transition:background .2s,border-color .2s}
.form-submit:hover{background:#2539a8;border-color:#6b7fe0}
.form-submit:disabled{opacity:.6;cursor:progress}
.form-status{font-size:15px;line-height:1.6;min-height:1.6em}
.form-status.is-ok{color:#b7c5ff}
.form-status.is-error{color:#ffb4a8}
.contact-details>p.contact-alt{margin-top:44px;font-size:14px;color:#8f9ab3}
.contact-details .contact-mail{margin-top:6px}
@media(max-width:600px){.contact-form input,.contact-form textarea{font-size:17px}.form-submit{width:100%}}

/* Project tiles and Scanorama: line art is inline SVG now (draws in, follows the pointer) */
.tile-art,.partner-art{background-image:none!important;position:relative;overflow:hidden}
.tile-art{color:rgba(240,241,245,.62)}
.partner-art{color:rgba(240,241,245,.8)}
.tile-art .mx-lines-svg,.partner-art .mx-lines-svg{position:absolute;inset:0;width:100%;height:100%}

/* Contact: direct address sits under the heading, the form takes the right column */
.contact-layout{align-items:start}
.contact-layout>h2{grid-column:1;grid-row:2}
.contact-direct{grid-column:1;grid-row:3;align-self:end}
.contact-details{grid-column:2;grid-row:2/span 2}
.contact-direct>p.contact-alt{margin:0 0 4px;font-size:14px;color:#8f9ab3}
.contact-direct .contact-mail{margin-top:6px}
@media(max-width:600px){
 .contact-layout>h2,.contact-direct,.contact-details{grid-column:1;grid-row:auto}
 .contact-layout{display:flex;flex-direction:column;gap:22px}
 .contact-details{order:1}.contact-direct{order:2;margin-top:20px}
}

/* Alignment, 2026-10-05: CTA sits on the right content edge, level with the intro's first line;
   the direct address follows the contact heading instead of sinking to the bottom */
@media(min-width:601px){
 .hero-bottom>.hero-cta{justify-self:end;align-self:start;margin-top:4px}
 .contact-layout{grid-template-rows:auto auto 1fr}
 .contact-direct{align-self:start;margin-top:clamp(36px,4vw,64px)}
}

/* Project pages: own page with back control, breadcrumbs, line-art cover, other projects */
.case-page .back{display:none}
.case-nav{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:0 0 34px}
.case-back{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:#fff;padding:10px 18px 10px 14px;border:1px solid #ffffff40;transition:border-color .2s,background .2s}
.case-back span{transition:transform .25s var(--motion-ease,ease)}
.case-back:hover{border-color:#fff;background:#ffffff0d}
.case-back:hover span{transform:translateX(-4px)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;font-size:13px;color:#8f9ab3}
.crumbs li+li::before{content:"/";margin-right:6px;color:#5d6680}
.crumbs a{color:#a7b0c6}.crumbs a:hover{color:#fff}
.crumbs [aria-current]{color:#dfe5f7}
.case-cover{position:relative;overflow:hidden;background-image:none!important;background-color:#1b2d8c!important;opacity:1!important;color:rgba(240,241,245,.75);height:clamp(260px,42vh,460px)!important}
.case-cover .mx-lines-svg{position:absolute;inset:0;width:100%;height:100%}
.case-others{margin-top:clamp(64px,8vw,110px);border-top:1px solid #ffffff26;padding-top:28px}
.case-others h2{margin:0 0 20px;font-size:20px;font-weight:500;letter-spacing:-.015em}
.case-others>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.case-next{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:22px 0;border-top:1px solid #ffffff1f;color:#fff}
.case-next span{grid-column:1;font-size:13px;color:#8f9ab3}
.case-next strong{grid-column:1;font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.25}
.case-next em{grid-column:2;grid-row:1/span 2;align-self:center;font-style:normal;font-size:22px;transition:transform .25s var(--motion-ease,ease)}
.case-next:hover em{transform:translateX(5px)}
@media(max-width:700px){.case-others>div{grid-template-columns:1fr}.case-next strong{font-size:19px}}
