.president.president-banner-section{display:block;padding-block:48px 64px}
.president-banner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);overflow:hidden;border-radius:18px;background:linear-gradient(125deg,#192536,#0d1727);color:#fff;border:1px solid #26364c;box-shadow:0 18px 45px #15223515}
.president-banner-photo{position:relative;background:#101721;min-width:0;display:flex;align-items:center}
.president-banner-photo img{display:block;width:100%;height:auto;object-fit:contain}
.president-banner-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 85%,#152132)}
.president-banner-copy{padding:42px 44px;align-self:center;min-width:0}
.president-banner-copy .label{color:#a8c7df;letter-spacing:2.5px;margin-bottom:20px}
.president-banner-copy h2{font-size:clamp(30px,3.3vw,43px);line-height:1.16;letter-spacing:-1.5px;max-width:520px;margin:0 0 23px}
.president-banner-message p{font-size:14px;line-height:1.85;color:#d5dde7;margin:0 0 14px}
.president-banner-motto{font-size:16px;line-height:1.6;font-weight:600;color:#fff;border-left:3px solid #cf172b;padding-left:17px;margin-top:24px;max-width:440px}
.president-banner-signature{border-top:1px solid #ffffff21;padding-top:20px;margin-top:26px;font-size:11px;color:#b6c3d3;line-height:1.6}
.president-banner-name{font-size:20px;letter-spacing:-.4px;font-weight:600;color:#fff;margin-bottom:3px}
@media(max-width:1000px){.president-banner-copy{padding:32px}.president-banner{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)}}
@media(max-width:700px){.president.president-banner-section{padding-block:30px 45px}.president-banner{grid-template-columns:1fr}.president-banner-photo{height:350px;overflow:hidden;justify-content:center}.president-banner-photo img{width:auto;height:100%;max-width:100%;object-fit:contain}.president-banner-photo:after{background:linear-gradient(0deg,#152132,transparent 20%)}.president-banner-copy{padding:26px 25px 30px}.president-banner-copy h2{font-size:32px;letter-spacing:-1px}.president-banner-copy .label{margin-bottom:14px}.president-banner-message p{font-size:14px}.president-banner-motto{font-size:15px}}
.compact-welcome-section{padding-block:27px 10px}
.compact-welcome-banner{position:relative;display:grid;grid-template-columns:1fr 380px;min-height:250px;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 85% 50%,#334359 0,#182435 45%,#101a2a 100%);color:#fff;border:1px solid #ffffff12}
.compact-welcome-copy{position:relative;z-index:2;padding:30px 38px;border-left:4px solid #cf172b}
.compact-welcome-copy .label{color:#bdd0e3;font-size:9px;letter-spacing:2px;margin-bottom:12px}
.compact-welcome-copy h2{font-size:clamp(28px,3.2vw,40px);letter-spacing:-1.2px;line-height:1.12;margin-bottom:18px}
.compact-welcome-name{font-size:16px;font-weight:600;line-height:1.4}
.compact-welcome-role{font-size:10px;color:#c2ccda;margin-top:4px;line-height:1.5}
.compact-welcome-visual{position:relative;min-width:0;overflow:hidden}
.compact-welcome-logo{position:absolute;height:215px;width:auto;left:15px;top:17px;opacity:.65;transform:rotate(-7deg)}
.compact-welcome-portrait{position:absolute;height:360px;width:auto;top:-15px;right:26px;max-width:none;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 87%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 87%,transparent)}
@media(max-width:800px){.compact-welcome-banner{grid-template-columns:1fr 270px}.compact-welcome-copy{padding:27px}.compact-welcome-portrait{right:-12px}.compact-welcome-logo{left:0;height:180px;top:32px}}
@media(max-width:580px){.compact-welcome-section{padding-block:20px 5px}.compact-welcome-banner{grid-template-columns:1fr 145px;min-height:230px}.compact-welcome-copy{padding:24px 12px 24px 18px}.compact-welcome-copy h2{font-size:26px;letter-spacing:-.8px}.compact-welcome-copy .label{font-size:8px;letter-spacing:1.3px}.compact-welcome-name{font-size:13px}.compact-welcome-role{font-size:9px}.compact-welcome-portrait{height:290px;right:-52px;top:10px}.compact-welcome-logo{height:130px;left:-12px;top:18px;opacity:.6}}

/* Slim welcome with softly blended fabric flag */
.compact-welcome-banner{grid-template-columns:1fr 340px;min-height:178px}
.compact-welcome-copy{padding:21px 30px}
.compact-welcome-copy .label{margin-bottom:8px;font-size:8px}
.compact-welcome-copy h2{font-size:clamp(26px,2.7vw,33px);margin-bottom:11px}
.compact-welcome-name{font-size:14px}
.compact-welcome-role{font-size:9px;margin-top:2px}
.compact-welcome-logo{height:220px;width:330px;object-fit:contain;left:-17px;top:-18px;opacity:.58;transform:none;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 65%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 65%,transparent)}
.compact-welcome-portrait{height:280px;top:-16px;right:4px;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 80%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 80%,transparent)}
@media(max-width:800px){.compact-welcome-banner{grid-template-columns:1fr 250px}.compact-welcome-copy{padding:20px 24px}.compact-welcome-logo{left:-40px;width:290px;height:193px;top:-4px}.compact-welcome-portrait{right:-19px}}
@media(max-width:580px){.compact-welcome-banner{grid-template-columns:1fr 130px;min-height:186px}.compact-welcome-copy{padding:20px 8px 20px 16px}.compact-welcome-copy h2{font-size:23px;margin-bottom:12px}.compact-welcome-name{font-size:12px}.compact-welcome-role{font-size:8px}.compact-welcome-logo{width:240px;height:160px;left:-64px;top:8px;opacity:.55}.compact-welcome-portrait{height:250px;right:-73px;top:-5px}}

/* Approved welcome artwork: crop preview margins without changing pixels. */
.approved-welcome-banner{position:relative;aspect-ratio:1916/367;overflow:hidden;border-radius:14px;background:#081f3b;color:#fff}
.approved-welcome-art{position:absolute;display:block;width:106.889%;max-width:none;height:auto;left:-3.4447%;top:-42.7793%}
.approved-welcome-copy{position:absolute;inset:0 auto 0 0;width:62%;padding:26px 32px;display:flex;flex-direction:column;justify-content:center;opacity:0}
.approved-welcome-copy h2{font-size:clamp(25px,2.7vw,36px);letter-spacing:-.7px;line-height:1.16;margin-bottom:14px}
.approved-welcome-name{font-size:20px;line-height:1.5}
.approved-welcome-role{font-size:12px;color:#c5d1e0;line-height:1.5}
html[lang="de"] .approved-welcome-copy{opacity:1;background:linear-gradient(90deg,#081f3b 85%,transparent)}
@media(max-width:700px){.approved-welcome-banner{aspect-ratio:auto;min-height:155px}.approved-welcome-art{width:700px;left:auto;right:-22px;top:-53px}.approved-welcome-copy,html[lang="de"] .approved-welcome-copy{opacity:1;width:64%;padding:18px 14px;background:linear-gradient(90deg,#081f3b 80%,transparent)}.approved-welcome-copy h2{font-size:23px;letter-spacing:-.7px;margin-bottom:12px}.approved-welcome-name{font-size:12px}.approved-welcome-role{font-size:8px;max-width:160px}}
@media(max-width:380px){.approved-welcome-copy h2{font-size:21px}.approved-welcome-copy{padding-left:12px}}

/* Use the artwork's own bounds so preview margins never enter the banner. */
.approved-welcome-art{width:100%;height:100%;left:0;top:0;object-fit:fill}
@media(max-width:700px){.approved-welcome-banner{min-height:145px}.approved-welcome-art{width:auto;height:100%;left:auto;right:0;top:0;object-fit:contain;aspect-ratio:1916/367}.approved-welcome-copy,html[lang="de"] .approved-welcome-copy{padding:16px 14px;width:62%;background:linear-gradient(90deg,#081f3b 83%,transparent)}.approved-welcome-copy h2{font-size:21px;margin-bottom:10px}.approved-welcome-role{font-size:9px}}

/* Separate mobile layers keep the flag close behind the portrait. */
.welcome-mobile-visual{display:none}
@media(max-width:700px){
 .approved-welcome-art{display:none}
 .welcome-mobile-visual{display:block;position:absolute;right:0;top:0;bottom:0;width:49%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 16%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%)}
 .welcome-mobile-flag{position:absolute;height:145px;width:217.5px;max-width:none;left:-47px;top:0;opacity:.8}
 .welcome-mobile-face{position:absolute;height:210px;width:auto;max-width:none;right:-12px;top:-7px;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 92%,transparent)}
 .approved-welcome-copy,html[lang="de"] .approved-welcome-copy{width:56%;background:transparent;padding-right:4px}
 .approved-welcome-role{max-width:145px}
}
