.about-gate{min-height:100vh;background:var(--warm)}
.about-gate__main{display:grid;place-items:center;min-height:100vh;padding:2rem}
.about-gate__logo{width:min(13rem,65vw);margin-bottom:1.5rem}
.about-gate__card{width:min(100%,35rem);padding:clamp(2rem,6vw,4.5rem);border:1px solid #e3d8e5;background:var(--ivory);box-shadow:0 1.25rem 3.5rem rgb(38 21 69/12%);text-align:center}
.about-gate__heart{margin-bottom:.8rem;color:var(--coral);font-family:var(--serif);font-size:2rem;line-height:1}
.about-gate__card h1{color:var(--violet-deep);font-size:clamp(2rem,5vw,3.4rem)}
.about-gate__form{display:grid;gap:.7rem;margin:2rem auto 0;text-align:left}
.about-gate__form label{font-size:.9rem;font-weight:700}
.about-gate__form input{width:100%;min-height:3rem;border:1px solid #bcaad5;background:#fffdf9;color:var(--ink);font:inherit;padding:.65rem .8rem}
.about-gate__form .button{justify-self:start}
.about-gate__error{color:#b42318;font-weight:700}

.about-page{background:var(--ivory)}
.about-intro{padding:clamp(2rem,5vw,3rem) 0 clamp(2rem,5vw,4rem);background:var(--warm)}
.about-intro__back{margin-bottom:clamp(2rem,5vw,4rem)}
.about-back-link{margin-top:0}
.about-intro__grid{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.about-intro__copy{max-width:43rem}
.about-intro h1{margin-bottom:1.5rem;color:var(--violet-deep);font-size:clamp(2.5rem,6vw,5.4rem);letter-spacing:-.055em}
.about-intro__copy p{font-size:clamp(1rem,.96rem + .14vw,1.1rem)}
.image-placeholder{display:grid;place-content:center;min-width:0;margin:0;border:1px solid #cdbde4;background:linear-gradient(135deg,#f6f0fa,#e9def2);color:var(--violet-deep);text-align:center}
.image-placeholder span{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.75rem);line-height:1}
.image-placeholder small{max-width:18rem;margin-top:.65rem;font-size:.82rem;line-height:1.35}
.image-placeholder--portrait{aspect-ratio:4/5}
.image-placeholder--landscape{aspect-ratio:16/7}
.image-placeholder--teaching{aspect-ratio:4/3}
.image-placeholder--card{aspect-ratio:4/3}
.image-placeholder--image{display:block;overflow:hidden;background:var(--ivory)}
.image-placeholder--image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.about-timeline{display:flex;justify-content:space-between;gap:.5rem;margin-top:clamp(2.5rem,6vw,5rem);padding:0;list-style:none;color:var(--coral);font-family:var(--serif);font-size:clamp(1rem,2vw,1.35rem)}
.about-timeline li{display:flex;align-items:center;gap:.55rem;white-space:nowrap}
.about-timeline li:not(:last-child)::after{width:clamp(.8rem,6vw,7rem);height:1px;background:#bba6d6;content:""}

.about-stage{padding:clamp(4rem,9vw,8rem) 0;background:var(--ivory)}
.about-stage__photo{margin:0;overflow:hidden;border-bottom:3px solid var(--coral);aspect-ratio:1.85;background:var(--violet-deep)}
.about-stage__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.about-stage__copy{width:min(100% - 2rem,49rem);margin:clamp(2rem,6vw,5rem) auto 0;padding-left:clamp(1.25rem,3vw,2.25rem);border-left:3px solid var(--coral)}
.about-stage__copy p{font-size:clamp(1.05rem,1rem + .16vw,1.18rem);line-height:1.65}
.about-stage em,.about-cards em,.about-coming em{font-family:var(--serif);font-weight:700}
.about-teaching{padding:clamp(4rem,9vw,7rem) 0;background:#f8f4f2}
.about-teaching__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.8fr);gap:clamp(2rem,8vw,8rem);align-items:center}
.about-teaching p{max-width:35rem;color:var(--violet-deep);font-family:var(--serif);font-size:clamp(1.7rem,3.4vw,3.1rem);line-height:1.15}
.about-teaching__image{margin:0;overflow:hidden;border-bottom:3px solid var(--coral);background:var(--ivory);box-shadow:0 .9rem 2rem rgb(38 21 69/8%)}
.about-teaching__image img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.about-hlc{overflow:hidden;padding:clamp(4rem,9vw,8rem) 0;background:linear-gradient(125deg,var(--black),var(--violet-deep));color:var(--white)}
.about-hlc__inner{position:relative;max-width:60rem}
.about-hlc__symbol{position:absolute;right:0;top:50%;width:clamp(6rem,16vw,12rem);opacity:.35;transform:translateY(-50%)}
.about-hlc p{position:relative;max-width:51rem;font-family:var(--serif);font-size:clamp(1.55rem,3.1vw,2.8rem);line-height:1.2}
.about-season{padding:clamp(4rem,9vw,7rem) 0;background:var(--warm)}
.about-season__lead{max-width:44rem;margin-bottom:clamp(2rem,5vw,3.5rem);color:var(--violet-deep);font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);line-height:1.12}
.about-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}
.about-cards article{display:grid;grid-template-rows:auto 1fr;border:1px solid #e0d5e8;background:#fffdf9;box-shadow:0 .75rem 1.75rem rgb(38 21 69/7%)}
.about-cards article p{padding:1.25rem;color:var(--violet-deep);font-size:.95rem;line-height:1.45}
.about-coming{padding:clamp(4rem,8vw,7rem) 0;background:var(--ivory)}
.about-coming__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr);gap:clamp(2rem,8vw,8rem);align-items:center}
.about-coming__label{margin-bottom:.45rem;color:var(--coral);font-family:var(--script);font-size:clamp(2rem,4vw,3.5rem);line-height:1}
.about-coming__grid>div>p:last-child{max-width:39rem;color:var(--violet-deep);font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.65rem);line-height:1.16}

@media (max-width:44rem){
  .about-intro__grid,.about-teaching__grid,.about-coming__grid{grid-template-columns:1fr}
  .about-intro__grid{gap:2rem}
  .about-intro__copy{max-width:none}
  .about-intro__grid .image-placeholder{width:min(100%,28rem)}
  .about-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.25rem}
  .about-timeline li:not(:last-child)::after{display:none}
  .about-stage__copy{width:100%;margin-top:2rem}
  .about-stage__photo{aspect-ratio:4/5}
  .about-stage__photo img{object-position:72% center}
  .about-teaching__image{order:-1}
  .about-hlc__symbol{right:-1rem}
  .about-hlc p{padding-right:2rem}
  .about-cards{grid-template-columns:1fr}
  .about-cards article{grid-template-columns:minmax(8rem,.7fr) 1fr;grid-template-rows:1fr}
  .about-cards article p{align-self:center}
}
