/* Tanzschule Riedl – Über uns (v1.2.3) */

.tsr-about-shell{padding-top:18px;padding-bottom:46px;}
.tsr-about-page{display:flex;flex-direction:column;gap:28px;}
.tsr-about-page a{text-decoration:none;}
.tsr-about-page p{max-width:none;}

.tsr-about-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  font-size:12px;
  line-height:1;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.tsr-about-eyebrow::before{
  content:"";
  width:22px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#B62696,#8e24aa);
}

.tsr-about-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(28px,5vw,54px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  background:
    radial-gradient(700px 360px at 92% 10%,rgba(182,38,150,.24),transparent 62%),
    linear-gradient(135deg,rgba(63,30,127,.48),rgba(255,255,255,.045));
  box-shadow:0 22px 58px rgba(0,0,0,.30);
}
.tsr-about-hero__glow{
  position:absolute;
  z-index:-1;
  right:-110px;
  bottom:-180px;
  width:420px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(182,38,150,.23),transparent 68%);
  pointer-events:none;
}
.tsr-about-hero h1{
  max-width:830px;
  margin:0 0 18px;
  font-size:clamp(32px,5vw,54px);
  line-height:1.06;
  letter-spacing:-.035em;
}
.tsr-about-hero__copy{max-width:850px;}
.tsr-about-hero__copy p{
  margin:0 0 12px;
  color:rgba(255,255,255,.79);
  font-size:clamp(16px,1.8vw,19px);
  line-height:1.65;
}
.tsr-about-hero__copy p:first-child{color:rgba(255,255,255,.93);}
.tsr-about-hero__copy p:last-child{margin-bottom:0;}

.tsr-about-section{
  padding:clamp(24px,4vw,40px);
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  background:rgba(255,255,255,.035);
}
.tsr-about-section-head{margin-bottom:20px;}
.tsr-about-section-head h2,
.tsr-about-faq__head h2,
.tsr-about-cta h2{
  margin:0;
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.12;
  letter-spacing:-.025em;
}

.tsr-about-profile-list{display:grid;gap:18px;}
.tsr-about-profile{
  overflow:hidden;
  padding:0;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
}
.tsr-about-profile > .wp-block-columns,
.tsr-about-profile .wp-block-column{margin:0 !important;}
.tsr-about-profile .wp-block-media-text{
  display:grid !important;
  grid-template-columns:230px minmax(0,1fr) !important;
  align-items:stretch;
  min-height:310px;
}
.tsr-about-profile .wp-block-media-text__media{
  align-self:stretch !important;
  height:100%;
  min-height:310px;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.10);
}
.tsr-about-profile .wp-block-media-text__media img{
  display:block;
  width:100% !important;
  height:100% !important;
  min-height:310px;
  object-fit:cover;
  object-position:center 20%;
}
.tsr-about-profile .wp-block-media-text__content{
  align-self:center;
  padding:28px clamp(24px,4vw,38px) !important;
}
.tsr-about-profile .wp-block-media-text__content h2{
  margin:0 0 14px;
  font-size:clamp(25px,3vw,34px);
}
.tsr-about-profile .wp-block-media-text__content p{
  margin:0 0 13px;
  color:rgba(255,255,255,.75);
  line-height:1.67;
}
.tsr-about-profile .wp-block-media-text__content p:last-child{margin-bottom:0;}

.tsr-about-values{
  background:
    radial-gradient(500px 220px at 0 0,rgba(63,30,127,.22),transparent 70%),
    rgba(255,255,255,.035);
}
.tsr-about-value-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.tsr-about-value-card{
  padding:20px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(0,0,0,.13);
}
.tsr-about-value-icon{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  margin-bottom:13px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(182,38,150,.28),rgba(63,30,127,.34));
  font-size:19px;
  font-weight:800;
}
.tsr-about-value-card h3{margin:0 0 7px;font-size:18px;}
.tsr-about-value-card p{margin:0;color:rgba(255,255,255,.70);font-size:14px;line-height:1.58;}
.tsr-about-approach-copy{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
}
.tsr-about-approach-copy p{margin:0;color:rgba(255,255,255,.74);line-height:1.7;}
.tsr-about-approach-copy > :last-child{margin-bottom:0;}

.tsr-about-ai-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:15px;
  align-items:start;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.tsr-about-ai-note__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.17);
  background:rgba(255,255,255,.07);
  font-weight:900;
  color:rgba(255,255,255,.86);
}
.tsr-about-ai-note h2{margin:1px 0 5px;font-size:16px;}
.tsr-about-ai-note__copy p{margin:0;color:rgba(255,255,255,.66);font-size:14px;line-height:1.6;}

.tsr-about-faq{
  overflow:hidden;
  padding:clamp(26px,4vw,42px);
  border:1px solid rgba(182,38,150,.24);
  border-radius:26px;
  background:
    radial-gradient(620px 300px at 100% 0,rgba(182,38,150,.16),transparent 67%),
    linear-gradient(145deg,rgba(63,30,127,.18),rgba(255,255,255,.025));
}
.tsr-about-faq__head{max-width:760px;margin-bottom:22px;}
.tsr-about-faq__head p{margin:10px 0 0;color:rgba(255,255,255,.68);}
.tsr-about-faq__list{display:grid;gap:10px;}
.tsr-about-faq__item{
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(0,0,0,.14);
  transition:border-color .16s ease,background .16s ease;
}
.tsr-about-faq__item[open]{
  border-color:rgba(182,38,150,.30);
  background:rgba(255,255,255,.055);
}
.tsr-about-faq__item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  list-style:none;
  cursor:pointer;
  font-weight:760;
  line-height:1.4;
}
.tsr-about-faq__item summary::-webkit-details-marker{display:none;}
.tsr-about-faq__item summary:focus-visible{
  outline:2px solid rgba(182,38,150,.72);
  outline-offset:3px;
  border-radius:14px;
}
.tsr-about-faq__plus{
  position:relative;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.17);
  background:rgba(255,255,255,.05);
}
.tsr-about-faq__plus::before,
.tsr-about-faq__plus::after{
  content:"";
  position:absolute;
  left:5px;
  right:5px;
  top:10px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transition:transform .16s ease;
}
.tsr-about-faq__plus::after{transform:rotate(90deg);}
.tsr-about-faq__item[open] .tsr-about-faq__plus::after{transform:rotate(0deg);}
.tsr-about-faq__answer{
  padding:0 18px 18px;
  color:rgba(255,255,255,.70);
  line-height:1.68;
}
.tsr-about-faq__answer p{margin:0 0 11px;}
.tsr-about-faq__answer p:last-child{margin-bottom:0;}

.tsr-about-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(63,30,127,.34),rgba(182,38,150,.13));
}
.tsr-about-cta p{margin:10px 0 0;max-width:720px;color:rgba(255,255,255,.70);}
.tsr-about-cta__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;}
.tsr-about-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  font-weight:800;
  transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
.tsr-about-btn:hover{opacity:1;transform:translateY(-1px);}
.tsr-about-btn--primary{background:linear-gradient(135deg,#3F1E7F,#B62696);}
.tsr-about-btn--primary:hover{border-color:rgba(255,255,255,.28);}
.tsr-about-btn--ghost{background:rgba(255,255,255,.055);}
.tsr-about-btn--ghost:hover{background:rgba(255,255,255,.09);}

@media (max-width:820px){
  .tsr-about-value-grid{grid-template-columns:1fr;}
  .tsr-about-profile .wp-block-media-text{
    grid-template-columns:180px minmax(0,1fr) !important;
  }
  .tsr-about-cta{grid-template-columns:1fr;gap:18px;}
  .tsr-about-cta__actions{justify-content:flex-start;}
}

@media (max-width:620px){
  .tsr-about-shell{padding-top:10px;padding-bottom:34px;}
  .tsr-about-page{gap:18px;}
  .tsr-about-hero,
  .tsr-about-section,
  .tsr-about-faq,
  .tsr-about-cta{border-radius:20px;}
  .tsr-about-profile{border-radius:18px;}
  .tsr-about-profile .wp-block-media-text{
    display:block !important;
    min-height:0;
  }
  .tsr-about-profile .wp-block-media-text__media{
    height:330px;
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .tsr-about-profile .wp-block-media-text__media img{
    height:330px !important;
    min-height:0;
    object-position:center 20%;
  }
  .tsr-about-profile .wp-block-media-text__content{padding:22px !important;}
  .tsr-about-faq__item summary{padding:15px 16px;font-size:15px;}
  .tsr-about-faq__answer{padding:0 16px 16px;font-size:14px;}
  .tsr-about-ai-note{padding:16px;}
  .tsr-about-cta__actions{display:grid;grid-template-columns:1fr;}
  .tsr-about-btn{width:100%;}
}

@media (prefers-reduced-motion:reduce){
  .tsr-about-btn,
  .tsr-about-faq__item,
  .tsr-about-faq__plus::after{transition:none;}
}
