/* A separate page footer, revealed after the complete video timeline. */
@media(pointer:fine){html body:not(.legal-document){min-height:calc(400vh + var(--end-footer-height, 520px))!important}}
.end-footer{position:fixed;inset:auto 0 0;z-index:6;max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:auto;background:#fff5df;color:#212121;transform:translate3d(0,100%,0);font:400 15px/1.65 Manrope,Arial,sans-serif;box-shadow:0 -1px 0 #21212112;will-change:transform;text-align:left}
.end-footer a,.end-footer button{color:inherit;text-decoration:none;font:inherit}
.end-footer a:hover,.end-footer button:hover{color:#cb4318}
.end-footer :is(a,button):focus-visible{outline:2px solid #cb4318;outline-offset:5px}
.end-footer-top,.end-footer-main,.end-footer-bottom{padding:36px clamp(24px,4.5vw,84px)}
.end-footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #21212115}
.end-footer-brand{display:inline-flex;align-items:center;gap:14px;font-size:25px!important;font-weight:500!important;letter-spacing:-1px}
.end-footer-brand svg{width:48px;height:24px;color:#fd612c;flex-shrink:0}
.end-footer-top p{margin:0;font-size:17px}
.end-footer-main{display:grid;grid-template-columns:1.45fr 1fr 1fr auto;gap:36px;padding-block:42px}
.end-footer h2{font:650 14px/1.5 Manrope,Arial,sans-serif;letter-spacing:0;margin:0 0 16px;color:#212121}
.end-footer-main p{margin:4px 0}.end-footer-main section>a{display:block;width:fit-content;padding:3px 0;overflow-wrap:anywhere}
.end-footer-language{display:flex;gap:12px;align-self:start;padding:9px 14px;border:1px solid #21212140;border-radius:9px;font-size:13px}
.end-footer-language [aria-current]{text-decoration:underline;text-underline-offset:4px}
.end-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #21212115;padding-block:24px;font-size:13px}
.end-footer-bottom p{margin:0}.end-footer-legal{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.end-footer button{padding:0;background:none;border:0;cursor:pointer}.end-footer .cookie-reopen{color:inherit!important;font:inherit!important;padding:0!important;text-decoration:none}
.legal-footer .card-bottom.footer-row{display:flex!important;justify-content:flex-end!important}.legal-footer .social-area{display:none}
@media(max-width:760px){.end-footer-top{align-items:flex-start;flex-direction:column;gap:14px;padding-block:28px}.end-footer-top p{font-size:14px;max-width:28ch}.end-footer-main{grid-template-columns:1fr 1fr;gap:28px 20px;padding-block:28px}.end-footer-language{justify-self:start;flex-wrap:wrap}.end-footer-bottom{flex-wrap:wrap;gap:16px}.end-footer-bottom p{width:100%}.end-footer-legal{gap:12px 18px}.end-footer-back{margin-left:auto}.end-footer-brand{font-size:23px!important}}
@media(max-width:380px){.end-footer-main{grid-template-columns:1fr}.end-footer-main section>a{min-height:36px}.end-footer-bottom{font-size:12px}}

/* Reuse the accessible custom language picker with compact flag icons. */
.end-footer-language{display:block;padding:0;border:0;justify-self:end;font-size:13px}
.end-footer-language .language-select{position:relative}
.end-footer-language .language-select summary{min-width:108px;gap:9px}
.end-footer-language .language-select summary>svg:first-child{width:20px;height:15px}
.end-footer-language .language-select summary>svg:last-child{display:block;width:12px;height:12px}
.end-footer-language .language-options{bottom:calc(100% + 10px);min-width:160px;background:#212121;z-index:5}
.end-footer-language .language-options a{display:flex;gap:10px;padding:11px 12px;color:#fff5df}
.end-footer-language [aria-current]{text-decoration:none}
.end-footer-language .language-options a[aria-current]{background:#4d81ef}
.end-footer-main .footer-action{margin-bottom:10px;white-space:nowrap}
@media(max-width:760px){.end-footer-language{justify-self:start}}

.end-footer-identity{display:flex;flex-direction:column;gap:10px}
.end-footer-top .end-footer-copyright{font-size:12px;line-height:1.5;color:#626058;margin:0}
.end-footer-legal-column .end-footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.end-footer-legal-column .end-footer-legal a,.end-footer-legal-column .cookie-reopen{display:inline-flex;align-items:center;min-height:32px;line-height:1.65}
.end-footer-main{padding-bottom:42px}

body.end-footer-visible .banner>h1{visibility:hidden!important;opacity:0!important;pointer-events:none}
.end-footer-main{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr) auto}
.newsletter-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.end-footer .newsletter-heading h2{margin:0}
.newsletter-portrait{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
.footer-newsletter>p{font-size:13px;max-width:32ch;margin:0 0 14px}
.footer-newsletter label{display:block;font-size:12px;margin-bottom:6px}
.newsletter-fields{display:flex;gap:8px}
.newsletter-fields input{min-width:0;width:100%;padding:11px 12px;border:1px solid #21212125;border-radius:12px;background:#fff9ec;color:#626058;font:400 14px/1.4 Manrope,Arial,sans-serif;opacity:1}
.end-footer .newsletter-fields button{padding:10px 14px;border:0;border-radius:12px!important;background:#4d81ef;color:#fff;font:500 13px/1.4 Manrope,Arial,sans-serif;white-space:nowrap;opacity:.55;cursor:not-allowed}
.end-footer #newsletter-status{font-size:11px;color:#626058;margin:8px 0 0}
@media(max-width:760px){.end-footer .end-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-newsletter{grid-column:1/-1;max-width:420px}}
@media(max-width:380px){.end-footer .end-footer-main{grid-template-columns:minmax(0,1fr)}}

/* Compact legal line below the main footer content. */
.end-footer .end-footer-main{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) auto}
.end-footer .end-footer-slim{padding-block:14px;gap:12px 24px;font-size:12px;line-height:1.5;min-height:56px}
.end-footer .end-footer-slim p{margin:0;width:auto}
.end-footer-slim .end-footer-legal{gap:8px 22px}
.end-footer .end-footer-slim .cookie-reopen{min-height:28px}
@media(max-width:760px){.end-footer .end-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.end-footer .end-footer-slim{padding-block:14px}.end-footer-slim .end-footer-legal{gap:8px 16px}}
@media(max-width:380px){.end-footer .end-footer-main{grid-template-columns:minmax(0,1fr)}}
/* Tighter brand row; larger legal text within the existing slim row height. */
.end-footer .end-footer-top{padding-block:10px}
.end-footer .end-footer-slim{font-size:14px;line-height:1.5}
@media(max-width:760px){.end-footer .end-footer-top{padding-block:10px}}

.end-footer-main section>a.footer-linkedin{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:6px;margin-top:10px;border-radius:7px}.footer-linkedin svg{display:block;width:28px;height:28px;flex-shrink:0}.end-footer .footer-linkedin:hover{background:#21212109}
/* The menu's contact content, sized and colored for the cream footer. */
.end-footer .footer-contact{display:grid;grid-template-columns:64px minmax(0,1fr);align-content:start;column-gap:16px;text-align:left;color:#212121;max-width:420px}
.footer-contact-portrait{grid-row:1/3;width:64px;height:64px;object-fit:cover;border-radius:50%;display:block}
.end-footer .footer-contact h2{font:500 22px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 6px}
.end-footer .footer-contact-role{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;margin:0;color:#626058}
.footer-contact-role .brand-inline{display:inline-flex;align-items:center;gap:5px}
.footer-contact-role svg{width:22px;height:11px}
.footer-contact-links{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;margin-top:18px}
.footer-contact-links a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:fit-content;max-width:100%}
.footer-contact-links a>span{font-size:11px;color:#626058}
.footer-contact-links a>strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}
@media(max-width:760px){.end-footer .footer-contact{grid-column:1/-1}}
/* Contact and navigation share a quiet heading baseline. */
.end-footer .footer-contact{display:block;max-width:440px}
.end-footer .footer-contact h2{font:650 14px/1.5 Manrope,Arial,sans-serif;letter-spacing:0;margin:0 0 16px}
.footer-contact-row{display:flex;align-items:flex-start;gap:14px}
.footer-contact-row .footer-contact-portrait{width:64px;height:64px;flex:0 0 64px;margin:0}
.footer-contact-details{min-width:0;font-size:15px;line-height:1.65}
.end-footer .footer-contact-details p{margin:0}
.end-footer .footer-contact-details>p:first-child{line-height:1.3}
.footer-contact-details a{display:block;overflow-wrap:anywhere}
.end-footer .end-footer-main{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
.end-footer-bottom-links{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.end-footer-bottom-links .end-footer-language{align-self:center;justify-self:auto}
html body #end-footer .end-footer-slim .language-select summary{min-height:28px;min-width:78px;padding:4px 9px!important;font-size:12px;gap:7px;border-radius:8px!important}
.end-footer .end-footer-brand{min-height:41px}
@media(max-width:760px){.end-footer .footer-contact{grid-column:auto}.end-footer-bottom-links{flex-wrap:wrap;justify-content:flex-start;gap:12px 20px}.end-footer .end-footer-slim{align-items:center}}
@media(max-width:560px){.end-footer .end-footer-main{grid-template-columns:minmax(0,1fr)}.end-footer-bottom-links{width:100%}}

.end-footer .footer-contact-details .footer-contact-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:4px 5px;font-size:11px;line-height:1.5;color:#626058;margin:1px 0 6px}.footer-contact-brand{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.footer-contact-brand svg{display:block;width:20px;height:10px;color:#212121;flex-shrink:0}
/* Keep the brand strip visible throughout the index scroll timeline. */
body:not(.legal-document) .end-footer{transform:translate3d(0,calc(100% - var(--end-footer-top-height,62px)),0)}
body:not(.legal-document) .end-footer-top{position:sticky;top:0;z-index:2;background:#fff5df}
@media(max-width:760px){body:not(.legal-document) .end-footer{--end-footer-top-height:62px}body:not(.legal-document) .end-footer-top{flex-direction:row;align-items:center}body:not(.legal-document) .end-footer-top>p{display:none}}

/* Mobile bottom row: legal links left, direct language switch right. */
@media(max-width:760px){
 .end-footer .end-footer-slim>p{display:none}
 .end-footer .end-footer-bottom-links{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;gap:12px}
 .end-footer .end-footer-slim .end-footer-legal{justify-content:flex-start;gap:6px 12px;min-width:0}
 .end-footer .end-footer-bottom-links .end-footer-language{justify-self:end;align-self:center}
}

body:not(.legal-document) .end-footer{transition:transform 280ms cubic-bezier(.22,.68,0,1.01)}
@media(prefers-reduced-motion:reduce){body:not(.legal-document) .end-footer{transition:none}}

/* Three equal menu columns and quiet legal-link feedback. */
.end-footer .end-footer-main{grid-template-columns:repeat(3,minmax(0,1fr))}
html body .end-footer .end-footer-legal :is(a,button){color:#212121!important;background:none!important;box-shadow:none!important;filter:none!important;transform:none!important;text-decoration:none;transition:text-decoration-color .15s ease}
html body .end-footer .end-footer-legal :is(a,button):hover{color:#212121!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:#21212170}
@media(max-width:560px){.end-footer .end-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:360px){.end-footer .end-footer-main{grid-template-columns:1fr}}

/* Final footer navigation: services, introduction and working contact actions. */
.end-footer .footer-about>p{max-width:25ch}
.end-footer .footer-connect>a{font-size:14px}
.end-footer .footer-connect>a.footer-project-link{display:inline-flex;align-items:center;gap:14px;background:#4d81ef;color:#fff;padding:8px 13px;min-height:36px;box-sizing:border-box;border-radius:10px;font-weight:550;margin:0 0 8px;transition:background .15s ease}
.end-footer .footer-connect>a.footer-project-link:hover{background:#386ddd;color:#fff}
.end-footer .footer-connect>a:not(.footer-project-link):hover{color:#212121;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
@media(max-width:560px){.end-footer .footer-connect{grid-column:1/-1}}

/* Temporarily hide the middle footer section; retain content for later. */
#end-footer > .end-footer-main{display:none!important}

/* Keep a single separator while the middle section is hidden. */
#end-footer > .end-footer-top{border-bottom:0}

/* Suppress native touch tap shading, keeping keyboard focus indicators. */
#end-footer a,#end-footer button,#end-footer summary{-webkit-tap-highlight-color:transparent}
