/* Syntax Pictures — shared styles (homepage, team, Impressum, Datenschutz) */
  :root{
    --bar:0px;
    --mustard:#F2BD22;
    --coral:#E87473;
    --cobalt:#2B3FE0;
    --ink:#111111;
    --cream:#F6F0E4;
    --bg:var(--mustard);
    --fg:var(--ink);
    --acc:var(--cobalt);
    --display:'Anton', 'Impact', 'Arial Narrow Bold', sans-serif;
    --sans:'Bricolage Grotesque', system-ui, sans-serif;
    --mono:'Space Mono', ui-monospace, Menlo, monospace;
    --pad:clamp(16px,3.2vw,48px);
    --gap:clamp(10px,1.6vw,24px);
    --ease:cubic-bezier(.16,1,.3,1);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html,body{overflow-x:clip;max-width:100%}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    font-optical-sizing:auto;
    background:var(--bg);
    color:var(--fg);
    transition:background-color .8s var(--ease), color .8s var(--ease);
    font-size:17px;line-height:1.45;
    -webkit-font-smoothing:antialiased;
    padding-top:var(--bar);
  }
  a{color:inherit}
  img{display:block;max-width:100%;height:auto}
  ::selection{background:var(--fg);color:var(--bg)}
  :focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:2px}
  .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .skip{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--fg);color:var(--bg);padding:10px 14px;font:700 12px var(--mono);text-transform:uppercase;letter-spacing:.1em}
  .skip:focus{top:44px}

  .mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
  .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}

  /* ---------------- header ---------------- */
  .hdr{
    position:fixed;left:0;right:0;top:var(--bar);z-index:900;
    background:var(--bg);color:var(--fg);
    transition:background-color .8s var(--ease), color .8s var(--ease);
    border-bottom:2px solid currentColor;
  }
  .hdr__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:52px;padding-inline:var(--pad);gap:12px}
  .brand{font-family:var(--display);font-size:22px;letter-spacing:.01em;text-decoration:none;line-height:1;white-space:nowrap}
  .brand .dot{color:var(--acc);transition:color .8s var(--ease)}
  .hdr__mid{justify-self:center}
  .hdr__mid span{display:inline-block}
  .menu-btn{
    justify-self:end;background:none;border:2px solid currentColor;color:inherit;cursor:pointer;
    font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:9px 14px 8px;
    display:inline-flex;gap:10px;align-items:center;border-radius:999px;
    transition:background-color .25s, color .25s;
  }
  .menu-btn:hover{background:var(--fg);color:var(--bg)}
  .menu-btn i{font-style:normal;display:inline-block;transition:transform .4s var(--ease)}
  .menu-btn:hover i{transform:rotate(90deg)}
  @media(max-width:640px){.hdr__mid{display:none}.hdr__row{grid-template-columns:1fr auto}}

  /* ---------------- menu overlay ---------------- */
  .menu{
    position:fixed;inset:0;z-index:1500;background:var(--ink);color:var(--cream);
    padding:calc(var(--bar) + 20px) var(--pad) var(--pad);
    display:flex;flex-direction:column;
    visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);
    transition:clip-path .7s var(--ease), opacity .3s, visibility 0s .7s;
    overflow-y:auto;
  }
  .menu.open{visibility:visible;opacity:1;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease), opacity .2s}
  .menu__top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:2px solid currentColor}
  .menu__close{background:none;border:2px solid currentColor;color:inherit;border-radius:999px;padding:9px 14px 8px;font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
  .menu__close:hover{background:var(--cream);color:var(--ink)}
  .menu ol{list-style:none;flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(16px,4vh,48px)}
  .menu li{border-bottom:2px solid rgba(246,240,228,.9)}
  .menu li a{
    display:flex;align-items:baseline;gap:clamp(12px,2vw,32px);text-decoration:none;
    font-family:var(--sans);font-weight:300;font-size:clamp(52px,11.5vw,184px);line-height:.98;letter-spacing:-.035em;
    padding:.04em 0 .06em;
    transition:font-weight .45s var(--ease), letter-spacing .45s var(--ease), color .3s;
  }
  .menu li a .n{font:400 12px var(--mono);letter-spacing:.1em;min-width:3ch;transform:translateY(-.4em)}
  .menu li a .sw{margin-left:auto;width:clamp(18px,3vw,44px);aspect-ratio:1;border-radius:50%;align-self:center;transform:scale(.4);transition:transform .45s var(--ease)}
  .menu li a:hover,.menu li a:focus-visible{font-weight:800;letter-spacing:-.045em}
  .menu li a:hover .sw,.menu li a:focus-visible .sw{transform:scale(1)}
  .menu__foot{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
  .menu__foot a{text-decoration:none;border-bottom:1px solid currentColor}

  /* ---------------- fields ---------------- */
  .field{
    position:relative;min-height:100vh;min-height:100svh;
    padding:calc(52px + clamp(28px,5vw,64px)) var(--pad) clamp(48px,7vw,110px);
    --bg:var(--sbg);--fg:var(--sfg);--acc:var(--sacc);
    background:var(--sbg);color:var(--sfg);
    border-bottom:2px solid currentColor;
    scroll-margin-top:0;
  }
  .js .field{background:transparent;color:inherit}
  .field__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid currentColor;padding-bottom:10px;margin-bottom:clamp(12px,2vw,24px)}
  .field__head > *:last-child{text-align:right}

  /* fit-to-width display type */
  .fit{
    font-family:var(--display);font-weight:400;text-transform:uppercase;
    line-height:.84;letter-spacing:-.005em;
    font-size:clamp(64px,15vw,260px);
    overflow-wrap:anywhere;
  }
  .fit .row{display:block;width:max-content;max-width:none;white-space:nowrap}
  .fit.is-fit{overflow-wrap:normal}
  .fit .dot{color:var(--acc);transition:color .8s var(--ease)}

  /* stacked info */
  .stack{list-style:none;font-family:var(--display);text-transform:uppercase;font-size:clamp(40px,6.4vw,108px);line-height:.9}
  .stack li{border-top:3px solid currentColor;padding:.06em 0 .02em;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .stack li:last-child{border-bottom:3px solid currentColor}
  .stack li small{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;align-self:center;text-align:right}

  /* stamps */
  .stamp{
    position:absolute;z-index:5;display:inline-block;
    font:700 clamp(12px,1.25vw,16px)/1.1 var(--mono);letter-spacing:.18em;text-transform:uppercase;
    border:3px solid currentColor;padding:.55em .8em .5em;outline:1px solid currentColor;outline-offset:3px;
    background:var(--bg);transition:background-color .8s var(--ease);
    transform:rotate(var(--r,-8deg));white-space:nowrap;pointer-events:none;
  }

  /* pinned prints */
  .print{position:relative;transform:rotate(var(--tilt,-2.5deg));transition:transform .8s var(--ease)}
  .print img,.print .tp{box-shadow:0 2px 0 rgba(0,0,0,.15), 0 24px 50px -18px rgba(0,0,0,.55);background:#222}
  .print::before{
    content:"";position:absolute;top:-14px;left:50%;width:110px;height:30px;margin-left:-55px;z-index:2;
    background:rgba(246,240,228,.72);transform:rotate(3deg);
    box-shadow:0 1px 2px rgba(0,0,0,.15);
  }
  .print:hover{transform:rotate(0deg) scale(1.01)}

  .logline{font-size:clamp(20px,1.9vw,28px);line-height:1.2;font-weight:450;letter-spacing:-.01em;max-width:30ch}
  .logline::before{content:"“"}
  .logline::after{content:"”"}
  .links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
  .btn{
    display:inline-flex;align-items:center;gap:10px;text-decoration:none;
    font:700 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
    border:2px solid currentColor;border-radius:999px;padding:12px 18px 11px;
    transition:background-color .25s,color .25s;
  }
  .btn:hover,.btn:focus-visible{background:var(--fg);color:var(--bg)}
  .btn--solid{background:var(--fg);color:var(--bg)}
  .btn--solid:hover,.btn--solid:focus-visible{background:transparent;color:var(--fg)}

  /* ---------------- cover ---------------- */
  .cover .fit{margin-top:clamp(8px,2vw,24px)}
  .cover__sub{margin-top:clamp(18px,3vw,40px);align-items:start;row-gap:28px}
  .def{grid-column:1 / span 5;font-size:clamp(22px,2.3vw,34px);line-height:1.12;letter-spacing:-.02em;font-weight:400}
  .def b{font-weight:800}
  .def em{font-family:var(--mono);font-style:normal;font-size:.5em;letter-spacing:.04em;vertical-align:middle}
  .cover__what{grid-column:1 / span 5;margin-top:10px}
  .index{grid-column:7 / span 6;list-style:none;border-top:3px solid currentColor}
  .index li{border-bottom:2px solid currentColor}
  .index a{
    display:grid;grid-template-columns:3ch 1fr auto;gap:14px;align-items:baseline;text-decoration:none;
    font-weight:300;font-size:clamp(30px,3.6vw,60px);line-height:1.02;letter-spacing:-.03em;padding:.12em 0 .14em;
    transition:font-weight .45s var(--ease), letter-spacing .45s var(--ease);
  }
  .index a > span:nth-child(2){white-space:nowrap;min-width:0;transition:transform .45s var(--ease)}
  .index a:hover,.index a:focus-visible{font-weight:700;letter-spacing:-.05em}
  .index a:hover > span:nth-child(2),.index a:focus-visible > span:nth-child(2){transform:translateX(.15em)}
  .index .n,.index .m{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
  .index .m{text-align:right}
  @media(max-width:760px){
    .index a{grid-template-columns:3ch minmax(0,1fr);row-gap:2px}
    .index .m{grid-column:2;text-align:left}
  }
  @media(hover:none){
    .index a:hover{font-weight:300;letter-spacing:-.03em}
    .index a:hover > span:nth-child(2){transform:none}
  }
  .cover .stamp{right:calc(var(--pad) + 2%);top:calc(52px + clamp(120px,18vw,300px));--r:9deg}
  @media(max-width:860px){
    .def,.cover__what,.index{grid-column:1 / -1}
    .cover .stamp{top:auto;bottom:24px;right:var(--pad)}
  }

  /* ---------------- film fields ---------------- */
  .film .fit{position:relative;z-index:1}
  .film__body{margin-top:calc(clamp(-120px,-6vw,-24px));position:relative;z-index:1;align-items:start;row-gap:40px}
  .film__poster{grid-column:1 / span 5;position:relative;z-index:3;padding-top:clamp(40px,7vw,120px)}
  .film__info{grid-column:7 / span 6;padding-top:clamp(70px,10vw,170px)}
  .film--flip .film__poster{grid-column:8 / span 5;grid-row:1;--tilt:2.5deg}
  .film--flip .film__info{grid-column:1 / span 6;grid-row:1}
  .film__info .logline{margin-top:28px}
  .film__poster .stamp{left:-10px;bottom:10%;--r:-11deg}
  .film--flip .film__poster .stamp{left:auto;right:-10px;--r:10deg}
  .film__credit{margin-top:24px;max-width:46ch}
  .bgnum{
    position:absolute;right:var(--pad);bottom:clamp(20px,4vw,60px);z-index:0;pointer-events:none;
    font-family:var(--display);font-size:clamp(160px,30vw,520px);line-height:.8;color:transparent;
    -webkit-text-stroke:2px var(--acc);opacity:.55;transition:-webkit-text-stroke-color .8s;
  }
  .film--flip .bgnum{right:auto;left:var(--pad)}
  @media(max-width:860px){
    .film__body{margin-top:0}
    .film__poster,.film--flip .film__poster{grid-column:2 / span 10;grid-row:auto;padding-top:24px}
    .film__info,.film--flip .film__info{grid-column:1 / -1;grid-row:auto;padding-top:0}
  }

  /* selections strip */
  .sel{margin-top:26px;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
  .sel li{font:400 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:999px;padding:8px 11px 7px}

  /* clip */
  .reel{margin-top:clamp(40px,6vw,90px);position:relative;z-index:1}
  .reel__frame{position:relative;aspect-ratio:2.39/1;overflow:hidden;background:#000;border:3px solid currentColor}
  .reel__frame img,.reel__frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .reel__frame video{opacity:0;transition:opacity 1.2s ease;transform:scale(1.02)}
  .reel__frame video.on{opacity:1}
  .reel__cap{display:flex;justify-content:space-between;gap:16px;margin-top:10px;flex-wrap:wrap}
  @media(max-width:600px){.reel__frame{aspect-ratio:16/10}}

  /* typographic poster placeholder */
  .tp{
    aspect-ratio:1144/1600;background:var(--cream)!important;color:var(--ink);position:relative;overflow:hidden;
    display:flex;flex-direction:column;padding:7% 7% 6%;
  }
  .tp__top{display:flex;justify-content:space-between;font:700 clamp(9px,.9vw,12px)/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:6%}
  .tp__t{font-family:var(--display);text-transform:uppercase;line-height:.8;margin-top:8%}
  .tp__t span{display:block}
  .tp__t .a{font-size:clamp(90px,14vw,230px);color:var(--cobalt)}
  .tp__t .b{font-size:clamp(46px,9.5vw,150px);letter-spacing:-.01em}
  .tp svg{display:block;width:100%;height:auto;margin-top:auto}
  .tp__bot{display:flex;justify-content:space-between;margin-top:5%;border-top:2px solid var(--ink);padding-top:4%;font:400 clamp(9px,.85vw,11px)/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
  @media(max-width:860px){.tp__t .a{font-size:32vw}.tp__t .b{font-size:19vw}}

  /* ---------------- programme ---------------- */
  .prog__intro{margin-top:clamp(18px,3vw,36px);align-items:end;row-gap:20px}
  .prog__intro p{grid-column:1 / span 6;font-size:clamp(20px,2vw,30px);line-height:1.15;letter-spacing:-.015em}
  .prog__intro .mono{grid-column:9 / span 4;text-align:right}
  .sched{width:100%;border-collapse:collapse;margin-top:clamp(28px,4vw,56px)}
  .sched caption{text-align:left;padding-bottom:10px}
  .sched th{font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:10px 12px 10px 0;border-bottom:3px solid currentColor;border-top:3px solid currentColor;vertical-align:bottom}
  .sched td{padding:14px 12px 14px 0;border-bottom:2px solid currentColor;vertical-align:baseline}
  .sched .code{font:700 12px var(--mono);letter-spacing:.08em;width:7ch}
  .sched .fest{font-size:clamp(24px,3.1vw,50px);font-weight:300;letter-spacing:-.03em;line-height:1.02;transition:font-weight .45s var(--ease)}
  .sched tr:hover .fest,.sched tr.next .fest{font-weight:800}
  .sched .film-c{font-family:var(--display);text-transform:uppercase;font-size:clamp(18px,1.6vw,24px);white-space:nowrap}
  .sched .note,.sched .st{font:400 12px var(--mono);letter-spacing:.08em;text-transform:uppercase}
  .sched .note b{border:2px solid currentColor;padding:4px 7px 3px;display:inline-block;font-weight:700;transform:rotate(-3deg)}
  .sched .st{text-align:right;white-space:nowrap}
  @media(max-width:760px){
    .sched thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
    .sched,.sched caption,.sched tbody,.sched tr,.sched td{display:block;width:100%}
    .sched tr{display:grid;grid-template-columns:auto 1fr;column-gap:12px;border-bottom:2px solid currentColor;padding:12px 0}
    .sched tr:first-child{border-top:3px solid currentColor}
    .sched td{border:0;padding:2px 0}
    .sched .code{grid-row:span 2}
    .sched .fest,.sched .film-c,.sched .note,.sched .st{grid-column:2}
    .sched .st{text-align:left}
  }
  .upcoming{
    position:relative;margin-top:clamp(40px,6vw,90px);border:3px solid currentColor;
    padding:clamp(20px,3vw,44px);
  }
  .upcoming .stamp{top:-22px;right:clamp(12px,4vw,60px);--r:6deg}
  .upcoming h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(44px,7.4vw,128px);line-height:.88;letter-spacing:-.005em}
  .upcoming h3 span{display:block;font-family:var(--sans);text-transform:none;font-weight:300;font-size:.42em;letter-spacing:-.03em;line-height:1.05;margin-top:.2em}
  .slots{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:clamp(24px,3vw,40px)}
  .slots li{border:2px dashed currentColor;padding:16px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
  .slots b{font-size:clamp(22px,2vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.05}
  .upcoming__cta{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:clamp(24px,3vw,40px)}
  @media(max-width:760px){.slots{grid-template-columns:1fr}.slots li{min-height:0}}

  /* ---------------- studio / contact ---------------- */
  .studio__lede{margin-top:clamp(18px,3vw,40px);row-gap:36px;align-items:start}
  .studio__lede p{grid-column:1 / span 7;font-size:clamp(26px,3.2vw,52px);line-height:1.04;letter-spacing:-.035em;font-weight:350}
  .studio__lede p b{font-weight:800}
  .svc{grid-column:9 / span 4;list-style:none;counter-reset:s}
  .svc li{border-top:3px solid currentColor;padding:10px 0 16px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline}
  .svc li:last-child{border-bottom:3px solid currentColor}
  .svc .k{font-family:var(--display);font-size:clamp(34px,3.4vw,56px);line-height:.9;color:var(--acc);transition:color .8s}
  .svc span:last-child{font-size:clamp(19px,1.5vw,23px);font-weight:600;letter-spacing:-.01em;line-height:1.15}
  @media(max-width:860px){.studio__lede p,.svc{grid-column:1 / -1}}

  .team{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,420px));gap:clamp(24px,4vw,64px);margin-top:clamp(56px,8vw,120px)}
  .team li:nth-child(1) .print{--tilt:-3deg}
  .team li:nth-child(2) .print{--tilt:2deg;margin-top:clamp(0px,4vw,60px)}
  .team li:nth-child(3) .print{--tilt:-1.5deg}
  .team img{aspect-ratio:4/5;object-fit:cover;width:100%;filter:grayscale(1) contrast(1.08);transition:filter .6s}
  .team li:hover img{filter:none}
  .team h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(30px,2.8vw,46px);line-height:.92;margin-top:22px}
  .team a{display:inline-block;margin-top:8px}
  @media(max-width:760px){.team{grid-template-columns:1fr 1fr}.team li:nth-child(3){grid-column:1 / -1;max-width:60%}.team li:nth-child(2) .print{margin-top:30px}}
  @media(max-width:420px){.team{grid-template-columns:1fr}.team li:nth-child(3){max-width:none}.team li:nth-child(2) .print{margin-top:0}}

  .contact{scroll-margin-top:96px;margin-top:clamp(64px,10vw,150px);border-top:3px solid currentColor;padding-top:14px}
  .contact .fit{margin-top:14px}
  .contact .fit a{text-decoration:none;display:block;transition:color .3s}
  .contact .fit a:hover{color:var(--acc)}
  .contact__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:22px}
  .contact__row ul{list-style:none;display:flex;gap:10px;flex-wrap:wrap}

  /* ---------------- footer ---------------- */
  .foot{background:var(--ink);color:var(--cream);padding:28px var(--pad) 36px;position:relative;z-index:2}
  .foot__grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 28px;align-items:baseline}
  .foot a{text-decoration:none;border-bottom:1px solid currentColor}
  .foot__legal{display:flex;flex-wrap:wrap;gap:6px 18px}

  /* ---------------- motion ---------------- */
  .js .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease), transform .9s var(--ease)}
  .js .rv.in{opacity:1;transform:none}
  .js .stack.rv li{transform:translateY(.4em);opacity:0;transition:transform .8s var(--ease), opacity .8s}
  .js .stack.rv.in{transform:none;opacity:1}
  .js .stack.rv.in li{transform:none;opacity:1}
  .js .stack.rv.in li:nth-child(2){transition-delay:.07s}
  .js .stack.rv.in li:nth-child(3){transition-delay:.14s}
  .js .stack.rv.in li:nth-child(4){transition-delay:.21s}
  .js .stack.rv.in li:nth-child(5){transition-delay:.28s}
  .js .stamp.rv{opacity:0;transform:rotate(var(--r,-8deg)) scale(1.6)}
  .js .stamp.rv.in{opacity:1;transform:rotate(var(--r,-8deg)) scale(1);transition:transform .45s cubic-bezier(.3,1.6,.5,1) .35s, opacity .2s .35s}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}
    .fit,.fit .row{transition:none!important}
    .js .rv,.js .stack.rv li{opacity:1!important;transform:none!important}
    .js .stamp.rv{opacity:1!important;transform:rotate(var(--r,-8deg))!important}
    .print:hover{transform:rotate(var(--tilt,-2.5deg))}
  }

  /* ---------------- subpages (team, Impressum, Datenschutz) ---------------- */
  .page{min-height:100vh;min-height:100svh;padding:calc(52px + clamp(28px,5vw,64px)) var(--pad) clamp(56px,8vw,120px)}
  .page .fit{margin-top:clamp(8px,2vw,24px)}
  .page__lede{margin-top:clamp(20px,3vw,40px);font-size:clamp(22px,2.4vw,36px);line-height:1.1;letter-spacing:-.03em;font-weight:350;max-width:32ch}
  .legal{list-style:none;margin-top:clamp(40px,6vw,88px);border-bottom:3px solid currentColor}
  .legal > li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:10px;border-top:3px solid currentColor;padding:18px 0 26px}
  .legal h2{grid-column:1 / span 4;font:700 clamp(17px,1.35vw,21px)/1.3 var(--sans);letter-spacing:-.01em;padding-top:.1em}
  .legal .legal__body{grid-column:5 / span 8;font-size:clamp(17px,1.35vw,21px);line-height:1.45;max-width:62ch}
  .legal .legal__body p + p{margin-top:.8em}
  .legal .legal__body strong{font-weight:800}
  .legal a{text-underline-offset:3px}
  .legal a:hover{color:var(--acc)}
  @media(max-width:760px){.legal h2,.legal .legal__body{grid-column:1 / -1}}
  .page .team{margin-top:clamp(40px,6vw,88px)}
  .back{margin-top:clamp(40px,6vw,80px)}

  /* ---------------- mobile polish ---------------- */
  @media(max-width:760px){
    .bgnum{display:none}
    .prog__intro p,.prog__intro .mono{grid-column:1 / -1;text-align:left}
    .page .team,.team{grid-template-columns:1fr 1fr;gap:clamp(16px,5vw,28px)}
    .team li:nth-child(2) .print{margin-top:30px}
    .team h3{font-size:clamp(22px,6.4vw,30px);margin-top:16px}
    .team a{font-size:10px;letter-spacing:.04em}
  }

  /* ---------------- legal panel (Impressum / Datenschutz over any page) ---------------- */
  .lpanel{
    --bg:#111111;--fg:#F6F0E4;--acc:#F2BD22;
    position:fixed;inset:0;z-index:1600;background:var(--bg);color:var(--fg);
    overflow-y:auto;overscroll-behavior:contain;
    padding:0 var(--pad) clamp(40px,6vw,80px);
    visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);
    transition:clip-path .7s var(--ease), opacity .3s, visibility 0s .7s;
  }
  .lpanel.open{visibility:visible;opacity:1;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease), opacity .2s}
  .lpanel__top{position:sticky;top:0;z-index:2;background:var(--bg);display:flex;justify-content:space-between;align-items:center;height:64px;border-bottom:2px solid currentColor;margin-bottom:clamp(24px,4vw,48px)}
  .lpanel .brand .dot{color:var(--acc)}
  .lpanel .menu__close:hover{background:var(--fg);color:var(--bg)}
  .lpanel__links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:clamp(28px,4vw,48px)}
  .lpanel__links a{text-decoration:none;border-bottom:1px solid currentColor}
  .lpanel__links a:hover{color:var(--acc)}

  /* ---------------- careers ---------------- */
.careers__intro{margin-top:clamp(18px,3vw,36px)}
.careers__intro p{grid-column:1 / span 7;font-size:clamp(20px,2vw,30px);line-height:1.15;letter-spacing:-.015em}
.jobs{list-style:none;margin-top:clamp(28px,4vw,56px);border-top:3px solid currentColor}
.job{border-bottom:2px solid currentColor}
.job summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:3ch minmax(0,1fr) auto 1.4em;gap:14px;align-items:baseline;padding:.35em 0 .4em}
.job summary::-webkit-details-marker{display:none}
.job__t{font-size:clamp(28px,3.6vw,58px);font-weight:300;line-height:1.02;letter-spacing:-.03em;transition:font-weight .45s var(--ease)}
.job__t small{font-size:.38em;letter-spacing:0;font-weight:400;opacity:.8}
.job summary:hover .job__t,.job summary:focus-visible .job__t,.job details[open] .job__t{font-weight:700}
.job__m{text-align:right}
.job__i{font:400 clamp(24px,2.4vw,36px)/1 var(--mono);text-align:right;transition:transform .45s var(--ease);color:var(--acc)}
.job details[open] .job__i{transform:rotate(45deg)}
.job__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:20px;padding:6px 0 28px}
.job__body > div{grid-column:span 5}
.job__body > div:first-child{grid-column:4 / span 4}
.job__body ul{list-style:none;margin-top:10px}
.job__body li{border-top:1px solid currentColor;padding:8px 0;font-size:clamp(16px,1.3vw,19px);line-height:1.35}
.job__apply{grid-column:4 / -1}
.careers__foot{margin-top:22px;max-width:70ch}
.careers__foot a{text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:860px){
  .careers__intro p{grid-column:1 / -1}
  .job summary{grid-template-columns:3ch minmax(0,1fr) 1.4em;row-gap:4px}
  .job__m{grid-column:2;grid-row:2;text-align:left}
  .job__i{grid-column:3;grid-row:1}
  .job__body > div,.job__body > div:first-child,.job__apply{grid-column:1 / -1}
}
