/* Layer 2 shared base (30.09.2026). Frames that fit one window, black and white only, type leads.
   N@ = N units of the frame scale (--u), expanded at build. Pages add their own prefix files. */
.l2{--ez:cubic-bezier(.2,.7,.1,1)}
.l2 .it{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.08em}
.l2 .l2-f{--u:max(var(--fl,.52vw),min(1vw,calc((100svh - 110px)/var(--hv,55))));position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:calc(2*var(--u));align-content:center;min-height:calc(100svh - 110px);margin:0 calc(var(--m) * -1);padding:clamp(40px,calc(5*var(--u)),84px) var(--m);overflow:hidden}
.l2 .l2-f>*{position:relative;z-index:1;min-width:0;margin:0}
.l2 .l2-w{background:#fff;color:#000}.l2 .l2-b{background:#000;color:#fff}
.l2 .l2-sec{position:relative;isolation:isolate;margin:0 calc(var(--m) * -1)}
.l2 .l2-sec>.l2-f{margin:0;background:transparent}
.l2 .l2-sec.l2-w{background:#fff;color:#000}.l2 .l2-sec.l2-b{background:#000;color:#fff}
.l2 .l2-gfx{position:absolute;inset:0;z-index:0;pointer-events:none}
.l2 .l2-gfx svg{display:block;width:100%;height:100%;overflow:visible}
.l2 .l2-f svg{display:block;overflow:visible}
.l2 .l2-ill{width:100%;position:relative}.l2 .l2-ill>svg{width:100%;height:100%}
.l2 .l2-lab{font:600 13px/1.25 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.l2 .l2-b .l2-lab{color:#bdbdbd}
.l2 .l2-rv{opacity:0;transform:translateY(calc(1.6*var(--u)));transition:opacity .9s var(--ez) var(--d,0s),transform 1.2s var(--ez) var(--d,0s)}
.l2 .l2-f.in .l2-rv{opacity:1;transform:none}
.l2 .l2-rel{all:unset;box-sizing:border-box;display:block;cursor:pointer;color:inherit}
.l2 .l2-rel:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.l2 .l2-plus{display:inline-flex;width:52px;height:52px;border:2px solid currentColor;border-radius:26px;align-items:center;justify-content:center;font-size:30px;font-weight:300}
.l2 .l2-act{background:none;color:#fff;border:0;border-top:1.5px solid #fff;border-bottom:1.5px solid #fff;padding:24px 4px;display:flex;align-items:center;justify-content:space-between;font-size:clamp(20px,calc(2.1*var(--u)),30px);font-weight:600;border-radius:0;width:100%;text-align:left;cursor:pointer}
.l2 .l2-act .plus{font-size:36px;font-weight:300}.l2 .l2-act .pill{border:1px solid #fff;color:#fff;font-size:13px;margin-right:14px}
@media (max-width:760px){
  .l2 .l2-f{min-height:0;align-content:start;--u:1vw;column-gap:0;padding-block:60px;row-gap:34px}
  .l2 .l2-f>*{grid-column:1/-1!important;grid-row:auto!important;margin-top:0!important;text-align:left!important}
  /* list rows without their own padding get air on phones (zero specificity: any page rule with its own padding wins) */
  :where(.l2 .l2-f) :is(ol,ul):not(.l2-nochip)>li{padding-block:12px}
}
@media (prefers-reduced-motion:reduce){.l2 *,.l2 *::before,.l2 *::after{transition:none!important}}
@media (min-width:761px) and (max-height:620px){.l2 .l2-f{padding-block:calc(2.6*var(--u))}}
/* v3 M01: the code of every onward target is a clear outlined pill, on black and on white */
.l2 .l2-rel .ad{display:inline-block;width:max-content;border:1.5px solid currentColor;border-radius:20px;padding:3px 11px;font-family:var(--sans);font-style:normal;font-size:13px!important;font-weight:700;letter-spacing:.08em;line-height:1.3;margin-bottom:.5em}
.l2 .l2-rel .ad.l2-lab{text-transform:none}
/* v3 M01: the inserted target code sits on its own line above the name, never beside the plus */
.l2 .l2-rel{position:relative}.l2 .l2-rel .l2-code{position:absolute;left:0;top:0;transform:translateY(-135%);margin:0;z-index:4}

/* v3 mobile: the target code pill gets its own line above a bridge button instead of sitting in the headline above */
@media (max-width:760px){.l2 .l2-rel[data-rel]{margin-top:36px!important}.pp .pz-nb .l2-rel[data-rel]{margin-top:0!important}}
/* 08.10.2026 Spacing (Lena): on the four pages People, Operations, Markets and Technology a frame takes the height of its content plus even air,
   not a full window, so the white and black bands between frames stay small; the top gap under the layer bar closes. Desktop only. */
@media (min-width:761px){
  .l2:is(.te,.ox,.mr,.pl) .l2-f{min-height:0;padding-block:clamp(48px,calc(6*var(--u)),104px)}
  #deep .inner:has(>.l2:is(.te,.ox,.mr,.pl):not([hidden])){padding-top:0}
}

/* phones: every link tile keeps its own layout, the plus always sits at the bottom right under the text (Lena 09.10.2026) */
@media (max-width:760px){
  .l2 .l2-rel{position:relative;width:100%!important;max-width:none!important;padding-bottom:72px!important}
  .l2 .l2-rel .l2-plus{position:absolute!important;right:0;bottom:0;left:auto;top:auto;margin:0!important;transform:none!important;grid-area:auto!important}
}

/* phones: link tiles read at a clear size on every page (Lena 09.10.2026) */
@media (max-width:760px){
  .l2 .l2-rel .n{font-size:clamp(28px,8.4vw,38px)!important;font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-top:12px}
  .l2 .l2-rel .q{font-size:19px!important;line-height:1.3;margin-top:8px;max-width:none!important}
  .l2 .l2-rel .ad{font-size:14px!important;padding:4px 13px}
}
