/* The Sophia Stage — narrativa editorial, escuta e bookings. */

body{background:#fdfcfc}
.sophia-page{width:min(1120px,calc(100% - 48px))}

.sophia-page .hero{
  position:relative;overflow:hidden;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  background:#201d1d;
}
.sophia-page .hero::after{
  content:"";position:absolute;right:-8%;bottom:-72px;width:46%;height:190px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 14px);
  transform:skewY(-8deg);pointer-events:none;
}
.sophia-page .hero>*,.sophia-page .manifest{position:relative;z-index:1}
.sophia-page .manifest-list li span{min-width:114px}
.sophia-page .button.ghost-dark{border-color:transparent;background:transparent;color:var(--on-dark-mute)}
.sophia-page .button.ghost-dark:hover{border-color:rgba(255,255,255,.28);background:transparent;color:var(--on-dark)}

.concept-card{
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(240px,.88fr);
  border:1px solid var(--hairline);background:var(--soft);
}
.concept-copy{padding:34px 36px}
.concept-copy p{max-width:58ch;margin:0;color:var(--body);font-size:15px;line-height:1.75}
.concept-copy p+p{margin-top:16px}
.concept-index{
  display:grid;align-content:space-between;gap:34px;padding:28px 30px;
  border-left:1px solid var(--hairline);background:var(--canvas);
}
.concept-index strong{max-width:14ch;font:700 clamp(1.35rem,3vw,2rem)/1.2 var(--mono);letter-spacing:-.04em}
.concept-index span{color:var(--mute);font:600 11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em}

.sonic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.sonic-grid .tile{min-height:218px}
.sonic-grid .tile p{font-size:13px}
.lineage{
  display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;
}
.lineage li{
  padding:7px 11px;border:1px solid var(--hairline);border-radius:999px;
  color:var(--body);font:600 11px/1 var(--mono);
}

.set-card{
  display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);
  border:1px solid rgba(255,255,255,.16);background:#151313;
}
.set-copy{display:flex;flex-direction:column;padding:32px}
.set-meta{margin:0 0 28px;color:var(--on-dark-mute);font:600 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.set-copy h3{max-width:13ch;margin:0 0 16px;color:var(--on-dark);font-size:clamp(1.5rem,3vw,2.25rem)}
.set-copy>p{margin:0 0 24px;color:var(--on-dark-mute);font-size:14px;line-height:1.7}
.set-copy .button{margin-top:auto;align-self:flex-start;border-color:rgba(255,255,255,.34);color:var(--on-dark)}
.set-copy .button:hover{background:var(--on-dark);color:var(--dark)}
.set-player{display:grid;align-items:center;min-width:0;padding:32px;border-left:1px solid rgba(255,255,255,.16)}
.set-player iframe{display:block;width:100%;height:166px;border:0;background:#0d0c0c}

.booking-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;
  padding:42px;border:1px solid var(--hairline);background:var(--soft);
}
.booking-card h2{max-width:23ch}
.booking-card p{max-width:62ch;margin:0;color:var(--body);font-size:15px;line-height:1.7}
.booking-card .actions{justify-content:flex-end;margin:0}

@media (max-width:900px){
  .sophia-page .hero,.concept-card,.set-card{grid-template-columns:1fr}
  .concept-index,.set-player{border-left:0;border-top:1px solid var(--hairline)}
  .set-player{border-top-color:rgba(255,255,255,.16)}
  .sonic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-card{grid-template-columns:1fr;align-items:start}
  .booking-card .actions{justify-content:flex-start}
}

@media (max-width:640px){
  .sophia-page{width:calc(100% - 32px)}
  .sophia-page .hero::after{width:75%}
  .concept-copy,.concept-index,.set-copy,.set-player,.booking-card{padding:24px 20px}
  .sonic-grid{grid-template-columns:1fr}
  .sonic-grid .tile{min-height:0}
  .set-player iframe{height:190px}
  .booking-card .actions{width:100%}
  .booking-card .button{width:100%;justify-content:center}
}
