/* EXT:tw_elements · taurerwirt/willkommen */
/* ---------- 4.2 WILLKOMMEN ---------- */
.tw-welcome {
  display: grid;
  grid-template-columns: 34fr 15fr 51fr;
  grid-template-rows: auto auto;
  align-items: start;
  padding: clamp(40px, 4.2vw, 84px) var(--tw-side);
  background: var(--tw-light);
}
.tw-welcome__head {
  grid-column: 1; grid-row: 1;
  align-self: center;
  padding: clamp(24px, 3vw, 60px) clamp(12px, 3vw, 60px);
  text-align: center;
}
.tw-welcome .tw-welcome__title {
  margin: 0;
  font-family: var(--font-family-script);
  font-weight: 400;
  font-size: clamp(2.6rem, 4vw, 3.625rem);
  line-height: 1.15;
  color: var(--tw-navy);
}
.tw-welcome .tw-welcome__sub {
  margin: .35em 0 0;
  font-family: var(--font-family-headings);
  font-weight: 400;
  font-size: clamp(1.6rem, 2.5vw, 2.25rem);
  line-height: 1.25;
  color: #888;
}
.tw-welcome__image { grid-column: 2 / 4; grid-row: 1 / 3; margin: 0; align-self: start; }
.tw-welcome__image img { display: block; width: 100%; height: auto; }
.tw-welcome .tw-welcome__box {
  grid-column: 1 / 3; grid-row: 2;
  position: relative; z-index: 1;
  padding: 30px;
  border: 2px solid var(--tw-navy);
  border-radius: 0;
  background: #fff;
  text-align: center;
}
.tw-welcome__box p { margin: 0 0 1.1em; font-size: var(--body-font-size); line-height: 1.6; color: var(--tw-text); }
.tw-welcome__box p:last-child { margin-bottom: 0; }
@media (max-width: 1023px) {
  .tw-welcome { grid-template-columns: 1fr; }
  .tw-welcome__head { grid-column: 1; grid-row: 1; padding: 0 0 24px; }
  .tw-welcome__image { grid-column: 1; grid-row: 2; }
  .tw-welcome .tw-welcome__box { grid-column: 1; grid-row: 3; margin: -36px 14px 0; padding: 22px 18px; }
}
