/* ============================================================
   PRESET 2 — Stylesheet
   ============================================================ */

:root{
  --bg:        #07090f;
  --bg-2:      #0b0e16;
  --surface:   #12161f;
  --surface-2: #171c28;
  --line:      rgba(255,255,255,.09);
  --text:      #eef0f5;
  --muted:     #9aa1b2;
  --accent:    #8b5cf6;
  --accent-2:  #22d3ee;
  --grad:      linear-gradient(135deg, #8b5cf6 0%, #22d3ee 100%);
  --maxw:      1120px;
  --radius:    16px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:70px; }
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(7,9,15,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav__inner{
  max-width:var(--maxw); margin:0 auto; padding:0 24px;
  height:64px; display:flex; align-items:center; justify-content:space-between;
}
.nav__logo img{ height:26px; width:auto; }
.nav__links{ display:flex; align-items:center; gap:30px; }
.nav__links a{
  font-size:14px; font-weight:500; letter-spacing:.04em; text-transform:uppercase;
  color:var(--muted); transition:color .2s;
}
.nav__links a:hover{ color:var(--text); }
.nav__cta{
  color:var(--text) !important;
  border:1px solid var(--line); padding:8px 16px; border-radius:999px;
}
.nav__cta:hover{ border-color:var(--accent); }
.nav__checkbox, .nav__burger{ display:none; }

/* ---------- HERO ---------- */
.hero{
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  background:url('../assets/hero.jpg') center 42%/cover no-repeat;
  transform:scale(1.05);
}
.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(7,9,15,.15) 0%, rgba(7,9,15,.72) 72%, var(--bg) 100%),
    linear-gradient(180deg, rgba(7,9,15,.45) 0%, rgba(7,9,15,.15) 38%, var(--bg) 100%);
}
.hero__content{ position:relative; z-index:2; padding:100px 24px; max-width:820px; }
.hero__eyebrow{
  font-size:13px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--accent-2); margin-bottom:26px; font-weight:600;
}
.hero__logo{
  width:min(560px, 84vw); height:auto; margin:0 auto 30px;
  filter:drop-shadow(0 8px 40px rgba(139,92,246,.35));
}
.hero__tagline{ font-size:clamp(16px,2.4vw,20px); color:#d6dae4; max-width:620px; margin:0 auto 38px; }
.hero__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.hero__socials{ display:flex; gap:16px; justify-content:center; margin-top:34px; }
.hero__socials a{
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.2);
  transition:transform .15s, background .2s, border-color .2s, box-shadow .2s;
}
.hero__socials a:hover{
  transform:translateY(-3px); background:rgba(255,255,255,.13);
  border-color:var(--accent); box-shadow:0 8px 24px rgba(139,92,246,.3);
}
.hero__socials img{ width:28px; height:28px; object-fit:contain; }
@media (max-width:460px){
  .hero__socials{ gap:12px; }
  .hero__socials a{ width:48px; height:48px; }
  .hero__socials img{ width:24px; height:24px; }
}

.hero__scroll{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  width:26px; height:42px; border:2px solid rgba(255,255,255,.35); border-radius:14px; z-index:2;
}
.hero__scroll span{
  position:absolute; top:8px; left:50%; width:4px; height:8px; margin-left:-2px;
  background:#fff; border-radius:2px; animation:scroll 1.6s infinite;
}
@keyframes scroll{ 0%{opacity:0;transform:translateY(0)} 40%{opacity:1} 80%,100%{opacity:0;transform:translateY(14px)} }

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-block; padding:14px 28px; border-radius:999px;
  font-weight:600; font-size:15px; letter-spacing:.02em; transition:transform .15s, box-shadow .2s, background .2s;
}
.btn--primary{ background:var(--grad); color:#0a0a0a; box-shadow:0 8px 30px rgba(139,92,246,.35); }
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 12px 40px rgba(139,92,246,.5); }
.btn--ghost{ border:1px solid rgba(255,255,255,.35); color:#fff; }
.btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.07); }

/* ---------- SECTIONS ---------- */
.section{ padding:96px 0; }
.section--alt{ background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section__kicker{
  font-size:13px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--accent-2); font-weight:600; margin-bottom:14px;
}
.section__title{
  font-family:'Oswald', sans-serif; font-weight:600;
  font-size:clamp(30px,5vw,48px); line-height:1.05; letter-spacing:.01em;
  text-transform:uppercase; margin-bottom:34px;
}
.prose p{ color:#c7ccd8; max-width:720px; margin-bottom:18px; }
/* Rechtliche Seiten (Datenschutz) */
.legal{ max-width:760px; }
.legal .prose h3{ font-family:'Oswald',sans-serif; font-weight:500; text-transform:uppercase; letter-spacing:.04em; font-size:18px; margin:30px 0 10px; color:#eef0f5; }
.legal .prose a, .footer__copy a{ color:#22d3ee; }
.legal__stand{ font-size:14px; color:#9aa1b2 !important; margin-top:28px; }

.tags{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.tags li{
  font-size:13px; font-weight:500; letter-spacing:.04em;
  padding:7px 15px; border:1px solid var(--line); border-radius:999px; color:var(--muted);
}

/* ---------- MUSIK ---------- */
.platforms{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:46px; }
.platform{
  display:flex; align-items:center; gap:11px;
  padding:12px 20px 12px 14px; background:var(--surface); border:1px solid var(--line);
  border-radius:999px; font-weight:600; font-size:15px; transition:border-color .2s, transform .15s, background .2s;
}
.platform img, .platform svg{ width:26px; height:26px; object-fit:contain; }
.platform:hover{ transform:translateY(-2px); border-color:var(--accent); background:var(--surface-2); }

.media-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.media-single{ max-width:760px; margin:0 auto; }
.media-card__title{
  font-family:'Oswald',sans-serif; font-weight:500; text-transform:uppercase;
  letter-spacing:.06em; font-size:15px; color:var(--muted); margin-bottom:14px;
}
.video{ position:relative; padding-top:56.25%; border-radius:14px; overflow:hidden; background:#000; }
.video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
/* 2-Klick-Loesung fuer YouTube */
.video--consent img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.55); }
.video__play{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; background:transparent; border:0; color:#fff; cursor:pointer; font:inherit; }
.video__play-icon{ display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#8b5cf6 0%,#22d3ee 100%); font-size:26px; padding-left:5px; box-shadow:0 10px 30px rgba(0,0,0,.45); transition:transform .15s; }
.video__play:hover .video__play-icon, .video__play:focus-visible .video__play-icon{ transform:scale(1.07); }
.video__play-text{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:15px; }
.video__note{ position:absolute; left:0; right:0; bottom:0; margin:0; padding:10px 14px; font-size:12px; line-height:1.45; color:#c7ccd8; background:linear-gradient(transparent, rgba(5,7,12,.92)); pointer-events:none; }
.video__note a{ color:#22d3ee; pointer-events:auto; }

/* ---------- BAND ---------- */
.members{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.member{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 18px; text-align:center; transition:transform .18s, border-color .2s;
}
.member:hover{ transform:translateY(-4px); border-color:var(--accent); }
.member__avatar{
  width:74px; height:74px; margin:0 auto 18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Oswald',sans-serif; font-size:30px; font-weight:600; color:#0a0a0a;
  background:var(--grad);
}
.member h3{ font-family:'Oswald',sans-serif; font-weight:500; font-size:20px; letter-spacing:.02em; margin-bottom:4px; }
.member p{ font-size:13.5px; color:var(--muted); }

/* ---------- EMPTY STATE (LIVE) ---------- */
.empty{
  background:var(--surface); border:1px dashed var(--line); border-radius:var(--radius);
  padding:52px 28px; text-align:center;
}
.empty__big{ font-family:'Oswald',sans-serif; font-size:24px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px; }
.empty__sub{ color:var(--muted); max-width:520px; margin:0 auto; }
.empty__sub a{ color:var(--accent-2); border-bottom:1px solid transparent; }
.empty__sub a:hover{ border-color:var(--accent-2); }

/* ---------- NEWS ---------- */
.posts{ display:flex; flex-direction:column; gap:26px; }
.post{
  display:grid; grid-template-columns:1.1fr 1fr; gap:0;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
}
.post__media img{ width:100%; height:100%; object-fit:cover; min-height:280px; }
.post__media--empty{
  min-height:260px; display:flex; align-items:center; justify-content:center;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 12px, transparent 12px 24px),
    var(--surface-2);
  border-right:1px solid var(--line);
}
.post__media--empty span{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.12em;
  font-size:14px; color:var(--muted); border:1px dashed var(--line); padding:10px 18px; border-radius:8px;
}
.post__body{ padding:40px; align-self:center; }
.post__badge{
  display:inline-block; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); background:rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.4);
  padding:3px 10px; border-radius:999px; margin-bottom:14px;
}
.post__date{ font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-2); margin-bottom:12px; }
.post__title{ font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase; font-size:26px; line-height:1.1; margin-bottom:16px; }
.post__body p:not(.post__date){ color:#c7ccd8; }

/* Bild rechts statt links */
.post--reverse .post__media{ order:2; border-right:0; border-left:1px solid var(--line); }
.post--reverse .post__body{ order:1; }

/* Featured-Beitrag (Titelbild oben, volle Breite) */
.post--feature{ display:block; }
.post__hero{ width:100%; aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid var(--line); }
.post__hero img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.post--feature .post__body{ padding:40px; }

/* Carousel (Bild-/Video-Slider) */
.carousel{ position:relative; background:#05070c; border-bottom:1px solid var(--line); overflow:hidden; }
.carousel__track{ display:flex; transition:transform .4s ease; }
.carousel__slide{ position:relative; flex:0 0 100%; aspect-ratio:16/9; }
.carousel__slide img, .carousel__slide video{ width:100%; height:100%; object-fit:contain; display:block; background:#05070c; }
.carousel__slide--cover img{ object-fit:cover; object-position:center 40%; }
.carousel__btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
  background:rgba(7,9,15,.55); color:#fff; font-size:24px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s;
  backdrop-filter:blur(4px); z-index:2;
}
.carousel__btn:hover{ background:rgba(7,9,15,.85); border-color:var(--accent); }
.carousel__btn--prev{ left:14px; }
.carousel__btn--next{ right:14px; }
.carousel__btn[disabled]{ opacity:0; pointer-events:none; }
.carousel__count{
  position:absolute; top:12px; right:14px; z-index:2;
  font-size:12px; letter-spacing:.05em; color:#fff; background:rgba(7,9,15,.6);
  border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:4px 11px; backdrop-filter:blur(4px);
}
.carousel__dots{ position:absolute; bottom:12px; left:0; right:0; display:flex; gap:8px; justify-content:center; z-index:2; }
.carousel__dot{
  width:8px; height:8px; border-radius:50%; border:0; padding:0; cursor:pointer;
  background:rgba(255,255,255,.35); transition:background .2s, transform .2s;
}
.carousel__dot.is-active{ background:var(--accent-2); transform:scale(1.25); }
@media (max-width:560px){
  .carousel__btn{ width:40px; height:40px; font-size:21px; }
}

/* Ergebnis-Tabelle */
.results-wrap{ overflow-x:auto; margin-top:26px; border:1px solid var(--line); border-radius:12px; }
.results{ width:100%; min-width:520px; border-collapse:collapse; }
.results th, .results td{ padding:15px 20px; border-bottom:1px solid var(--line); white-space:nowrap; }
.results tr:last-child td{ border-bottom:0; }
.results th{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.07em;
  font-weight:500; font-size:13px; color:var(--muted); text-align:center;
}
.results th:first-child, .results td:first-child{ text-align:left; }
.results td{ text-align:center; font-variant-numeric:tabular-nums; color:#c7ccd8; }
.results td:first-child{ font-family:'Oswald',sans-serif; letter-spacing:.02em; font-size:16px; color:var(--text); }
.results .is-winner, .results .is-us{ background:rgba(139,92,246,.12); }
.results .is-winner td, .results .is-us td{ color:var(--text); font-weight:600; }
.results .is-winner td:last-child, .results .is-us td:last-child{ color:var(--accent-2); }
.results__caption{ font-size:13px; color:var(--muted); margin-top:12px; text-align:center; }

.news-hint{ text-align:center; color:var(--muted); font-size:15px; margin-top:26px; }

/* ---------- FOOTER ---------- */
.footer{ background:var(--bg-2); border-top:1px solid var(--line); padding:64px 0 40px; text-align:center; }
.footer__inner{ display:flex; flex-direction:column; align-items:center; }
.footer__logo{ height:34px; width:auto; margin-bottom:26px; opacity:.95; }
.footer__follow{ font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:20px; }
.socials{ display:flex; gap:20px; margin-bottom:30px; }
.socials a{ transition:transform .15s, opacity .2s; opacity:.9; }
.socials a:hover{ transform:translateY(-3px); opacity:1; }
.socials img{ width:34px; height:34px; object-fit:contain; }
.footer__meta{ display:flex; align-items:center; gap:12px; font-size:14px; color:var(--muted); margin-bottom:16px; }
.footer__meta a{ color:var(--muted); border-bottom:1px solid transparent; }
.footer__meta a:hover{ color:var(--text); border-color:var(--accent); }
.footer__copy{ font-size:13px; color:#5b6172; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:860px){
  .media-grid{ grid-template-columns:1fr; }
  .members{ grid-template-columns:repeat(2,1fr); }
  .post{ grid-template-columns:1fr; }
  .post__media img{ min-height:220px; }
  .post--reverse .post__media{ order:0; border-left:0; border-bottom:1px solid var(--line); }
  .post--reverse .post__body{ order:0; }
  .post__media--empty{ border-right:0; border-bottom:1px solid var(--line); min-height:180px; }

  /* Mobile Nav */
  .nav__burger{
    display:flex; flex-direction:column; gap:5px; cursor:pointer; padding:6px; z-index:110;
  }
  .nav__burger span{ width:24px; height:2px; background:var(--text); border-radius:2px; transition:.25s; }
  .nav__links{
    position:fixed; inset:64px 0 auto 0;
    flex-direction:column; gap:0; align-items:stretch;
    background:rgba(7,9,15,.98); border-bottom:1px solid var(--line);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
  }
  .nav__links a{ padding:16px 24px; border-top:1px solid var(--line); text-align:center; }
  .nav__cta{ border:0 !important; border-radius:0 !important; padding:16px 24px !important; }
  .nav__checkbox:checked ~ .nav__links{ max-height:400px; }
  .nav__checkbox:checked ~ .nav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav__checkbox:checked ~ .nav__burger span:nth-child(2){ opacity:0; }
  .nav__checkbox:checked ~ .nav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}
@media (max-width:460px){
  .members{ grid-template-columns:1fr; }
  .section{ padding:72px 0; }
  .hero__actions .btn{ width:100%; }
}

/* ---------- EVENTS (Termine, aus dem internen Bereich gepflegt) ---------- */
.events{ display:flex; flex-direction:column; gap:18px; }
.event{
  display:grid; grid-template-columns:92px 1fr auto; gap:28px; align-items:start;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px 30px;
}
.event__date{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  border-radius:12px; padding:12px 6px; text-align:center;
  background:rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.35);
}
.event__day{ font-family:'Oswald',sans-serif; font-weight:700; font-size:38px; line-height:1; }
.event__month{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-2); margin-top:6px; }
.event__body{ min-width:0; }
.event__when{ font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-2); margin-bottom:8px; }
.event__title{ font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase; font-size:32px; line-height:1.1; letter-spacing:.01em; margin-bottom:8px; }
.event__place{ color:var(--text); font-size:16px; }
.event__address{ color:var(--muted); }
.event__desc{ color:#c7ccd8; margin-top:14px; font-size:15.5px; max-width:60ch; }
.event__action{ margin-top:26px; }
.event__tickets{ padding:12px 28px; font-size:14.5px; }
.event__badge{
  display:inline-block; vertical-align:middle; margin-left:8px; position:relative; top:-3px;
  font-family:'Inter',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.1em;
  border-radius:999px; padding:3px 10px; border:1px solid;
}
.event__badge--soldout{ color:#f3d5a6; border-color:rgba(233,169,74,.55); background:rgba(233,169,74,.1); }
.event__badge--cancelled{ color:#efc2bd; border-color:rgba(224,124,116,.55); background:rgba(224,124,116,.1); }
.event--cancelled .event__name{ text-decoration:line-through; text-decoration-thickness:2px; color:var(--muted); }
.event--cancelled .event__date{ filter:grayscale(1); opacity:.6; }
/* Plakat/Flyer: kleines Vorschaubild daneben, Klick oeffnet es gross */
.event__image{ display:block; width:160px; border-radius:10px; overflow:hidden; border:1px solid var(--line); }
.event__image img{ width:100%; height:auto; max-height:240px; object-fit:cover; object-position:top; transition:transform .3s; }
.event__image:hover img{ transform:scale(1.03); }

@media (max-width:700px){
  .event{ grid-template-columns:72px 1fr; gap:14px 18px; padding:20px; }
  .event__day{ font-size:30px; }
  .event__month{ font-size:10px; letter-spacing:.08em; }
  .event__title{ font-size:24px; }
  .event__action{ margin-top:20px; }
  /* Flyer bleibt neben dem Text: unter dem Datum, in dessen Spalte */
  .event__image{ grid-column:1; grid-row:2; width:72px; align-self:start; }
  .event__body{ grid-column:2; grid-row:1 / span 2; }
}

/* ---------- BLOG (Beitraege aus dem Editor) ---------- */
.post__title a{ color:inherit; transition:color .2s; }
.post__title a:hover{ color:var(--accent-2); }
.post__content{ color:#c7ccd8; }
.post__content > * + *{ margin-top:14px; }
.post__content h2, .post__content h3{
  font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.02em;
  color:var(--text); line-height:1.15; margin-top:28px;
}
.post__content h2{ font-size:22px; }
.post__content h3{ font-size:18px; }
.post__content ul, .post__content ol{ padding-left:1.4em; }
.post__content li + li{ margin-top:6px; }
.post__content li::marker{ color:var(--accent-2); }
.post__content strong{ color:var(--text); }
.post__content a{ color:var(--accent-2); border-bottom:1px solid rgba(34,211,238,.35); }
.post__content a:hover{ border-color:var(--accent-2); }

/* Einzelseite /news/<slug> */
.single{ padding-top:48px; }
.single .container{ max-width:900px; }
.single__back{ display:inline-block; margin-bottom:22px; font-size:14px; color:var(--muted); }
.single__back:hover{ color:var(--text); }
.post--single .post__title{ font-size:clamp(28px,5vw,40px); }
.post--single .post__content{ font-size:17px; }
@media (max-width:560px){
  .single{ padding-top:28px; }
}

/* ---------- KONTAKT ---------- */
.contact{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:56px; align-items:start; }
.contact__intro p{ color:#c7ccd8; margin-bottom:16px; }
.contact__direct{ font-size:15px; }
.contact__direct a{ color:var(--text); border-bottom:1px solid var(--accent); }
.contact__form{ display:flex; flex-direction:column; gap:18px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.contact__row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact__field{ display:flex; flex-direction:column; gap:7px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border:0; min-width:0; }
.contact__field legend{ margin-bottom:7px; }
.contact__field input, .contact__field textarea{
  font:inherit; font-size:16px; letter-spacing:0; text-transform:none; color:var(--text);
  background:var(--bg); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:12px 14px; width:100%;
}
.contact__field textarea{ resize:vertical; min-height:150px; line-height:1.55; }
.contact__field input:focus, .contact__field textarea:focus{ outline:none; border-color:var(--accent); }
.contact__field.is-invalid input, .contact__field.is-invalid textarea{ border-color:#e07c74; }
.contact__reasons{ flex-direction:row; flex-wrap:wrap; gap:8px; padding:0; }
.contact__reasons legend{ width:100%; }
.contact__reason input{ position:absolute; opacity:0; pointer-events:none; }
.contact__reason span{ display:inline-block; font-size:14px; letter-spacing:.02em; text-transform:none; color:var(--muted);
  border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:7px 16px; cursor:pointer; transition:border-color .2s, color .2s, background .2s; }
.contact__reason span:hover{ color:var(--text); }
.contact__reason input:checked + span{ color:var(--text); border-color:var(--accent); background:rgba(139,92,246,.18); }
.contact__reason input:focus-visible + span{ outline:2px solid var(--accent-2); outline-offset:2px; }
.contact__trap{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact__note{ font-size:13px; color:var(--muted); }
.contact__note a{ color:var(--text); border-bottom:1px solid var(--accent); }
.contact__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; }
.contact__actions .btn{ border:0; cursor:pointer; font-family:inherit; }
.contact__actions .btn:disabled{ opacity:.6; cursor:wait; transform:none; }
.contact__status{ font-size:15px; flex:1 1 220px; }
.contact__status:empty{ display:none; }
.contact__status--ok{ color:#b9e09a; }
.contact__status--err{ color:#f0a29a; }
@media (max-width:860px){
  .contact{ grid-template-columns:1fr; gap:10px; }
}
@media (max-width:560px){
  .contact__row{ grid-template-columns:1fr; }
  .contact__form{ padding:20px; }
}
