/* Sensus Communis | contact.css
   Seitenspezifische Grundgestaltung.
   Geladen von: contact-en, contact
   Reihenfolge je Seite: fonts, tokens, [subpage], Seite, glass-cards, motion, Seite.layers, site */

/* fixed poster background — responsive sunrise that adapts to any screen ratio.
     Sky is a full-bleed CSS gradient (never cropped); sun + curved horizon are
     positioned layers, so wide screens show the same composition as mobile. */
.poster-wrap {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: /* horizon haze, as on the home page */
      radial-gradient(70% 24% at 50% 95.6%, rgba(255,232,192,0.300) 0%, rgba(255,229,187,0.264) 8%, rgba(255,225,181,0.228) 16%, rgba(255,221,175,0.187) 25%, rgba(255,217,169,0.143) 35%, rgba(254,212,161,0.097) 46%, rgba(253,205,152,0.055) 58%, rgba(251,199,144,0.024) 70%, rgba(249,192,135,0.006) 82%, rgba(247,186,128,0.001) 92%, rgba(246,182,122,0.000) 100%),
      linear-gradient(180deg,
      var(--c-lavender) 0%, var(--c-lavender) 76%, #CCBBD4 84%, #D8AE9C 91%,
      #DFA686 94.7%, #E59B6A 100%);
}

.poster-stars-svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 80%;
  display: block;
}

.poster-sun {
  position: absolute;
  left: 50%;
  top: 94.7%;
  width: clamp(88px, 12vw, 168px);
  aspect-ratio: 1/1;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  z-index: 1;
  background: radial-gradient(circle at 50% 46%, #FFFDF5 0%, #FBF3DE 70%, #F6E6C4 100%);
}

.poster-sun::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 312%;
  height: 312%;
  border-radius: 50%;
  z-index: -1;
  background: radial-gradient(circle closest-side, rgba(255,247,228,0.820) 0%, rgba(255,243,215,0.726) 10%, rgba(255,238,202,0.627) 20%, rgba(255,234,189,0.525) 30%, rgba(255,230,176,0.421) 40%, rgba(255,227,167,0.319) 50%, rgba(255,223,158,0.222) 60%, rgba(255,220,149,0.135) 70%, rgba(255,217,140,0.065) 80%, rgba(255,213,131,0.017) 90%, rgba(255,210,122,0.000) 100%);
}

.poster-ground {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 92.5%;
  width: 100%;
  height: 7.5%;
  display: block;
  z-index: 2;
}

/* Mobil etwas heller strahlen — die kleinen Sterne sind dort sonst zu schwach */
@media (max-width:720px) {
  .poster-stars-svg {
    filter: drop-shadow(0 0 2px rgba(255,250,240,.5));
  }
  .poster-stars .nstar {
    animation-name: twMobile;
  }
  @keyframes twMobile{ 0%,100%{opacity:.52;} 50%{opacity:1;} }
}

/* content */
main {
  position: relative;
  z-index: 5;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px 120px;
}

.subhero {
  min-height: 48vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 120px 0 5vh;
}

.page-label {
  font-family: "Manrope";
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--c-rust);
  margin-bottom: 14px;
}

.page-title {
  font-family: "EB Garamond",serif;
  font-weight: 500;
  font-size: clamp(40px,7vw,68px);
  line-height: 1.02;
  color: var(--c-navy);
  margin-bottom: 0;
  letter-spacing: -.01em;
}

.panel {
  margin-top: 44px;
}

.panel h2 {
  font-family: "EB Garamond",serif;
  font-weight: 600;
  font-size: 23px;
  color: var(--navy);
  margin: 38px 0 12px;
  line-height: 1.2;
}

.panel h2:first-child {
  margin-top: 0;
}

.panel p {
  font-size: 17.5px;
  color: var(--ink);
  margin-bottom: 14px;
}

.panel .addr {
  font-size: 17.5px;
  color: var(--ink);
  margin-bottom: 18px;
  line-height: 1.5;
}

.panel a {
  color: var(--rust);
  text-decoration: none;
  border-bottom: 1px solid rgb(var(--c-rust-rgb) / .3);
}

.panel ul {
  list-style: none;
  margin: 6px 0 18px;
}

.panel li {
  position: relative;
  padding-left: 20px;
  font-size: 17.5px;
  color: var(--ink);
  margin-bottom: 7px;
}

.panel li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 10px;
  width: 5px;
  height: 5px;
  background: var(--coral);
  transform: rotate(45deg);
}

/* footer */
footer {
  position: relative;
  z-index: 5;
  text-align: center;
  padding: 0 24px 64px;
}

@media (max-width:720px) {
  main {
    padding: 0 18px 90px;
  }
  .subhero {
    min-height: 46vh;
    padding: 96px 0 4vh;
  }
}

/* ===== ohne id ===== */
/* contact: text sits directly on the background, no box */
.panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.panel .addr,
.panel p {
  text-shadow: 0 1px 10px rgb(var(--c-cream-rgb) / .55);
}
