
/* FOUNTAIN+ growth layer. Protected Series and Puppet layouts remain intact. */

.growth-section[hidden]{display:none!important}
.growth-section{position:relative}
.growth-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(250px,340px);
  gap:15px;
  overflow-x:auto;
  padding:4px 2px 18px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.growth-rail::-webkit-scrollbar{display:none}

.resume-card{
  position:relative;
  min-width:0;
  scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  background:#0b0c0f;
  overflow:hidden;
  transition:transform .18s,border-color .18s;
}
.resume-card:hover{transform:translateY(-3px);border-color:rgba(255,184,79,.35)}
.resume-open{
  width:100%;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.resume-image{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  background-position:center;
  background-size:cover;
}
.resume-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78),transparent 65%);
}
.resume-play{
  position:absolute;
  z-index:2;
  left:16px;
  bottom:14px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(0,0,0,.64);
}
.resume-time{
  position:absolute;
  z-index:2;
  right:14px;
  bottom:16px;
  padding:5px 8px;
  border-radius:7px;
  background:rgba(0,0,0,.75);
  font-size:10px;
  font-weight:850;
}
.resume-copy{display:grid;gap:5px;padding:15px 16px 17px}
.resume-copy small,.recent-copy small{
  color:#ffb84f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.resume-copy strong,.recent-copy strong{font-size:15px;line-height:1.15}
.resume-progress{height:3px;margin-top:7px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.resume-progress i{display:block;height:100%;background:#ffb84f}
.resume-remove{
  position:absolute;
  z-index:4;
  top:9px;
  right:9px;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  color:#fff;
  background:rgba(0,0,0,.62);
  cursor:pointer;
}

.recent-card{
  min-width:0;
  scroll-snap-align:start;
  display:grid;
  grid-template-columns:125px minmax(0,1fr);
  border:1px solid rgba(255,255,255,.1);
  border-radius:17px;
  background:#0b0c0f;
  overflow:hidden;
  transition:transform .18s,border-color .18s;
}
.recent-card:hover{transform:translateY(-3px);border-color:rgba(255,184,79,.35)}
.recent-image{position:relative;min-height:185px;background:#050607}
.recent-image img{width:100%;height:100%;object-fit:cover}
.recent-card:not(.portrait) .recent-image img{object-position:center}
.recent-image b{
  position:absolute;
  top:10px;
  left:10px;
  padding:5px 8px;
  border-radius:999px;
  color:#130d05;
  background:#ffb84f;
  font-size:8px;
  letter-spacing:.12em;
}
.recent-copy{display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:18px}
.recent-copy em{
  display:-webkit-box;
  overflow:hidden;
  color:#9d9992;
  font-size:11px;
  font-style:normal;
  line-height:1.45;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

.episode-share-button{
  position:absolute;
  z-index:7;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:#fff;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.shared-episode-focus{
  outline:3px solid #ffb84f;
  outline-offset:4px;
  box-shadow:0 0 45px rgba(255,184,79,.24)!important;
}
.fplus-share-toast{
  position:fixed;
  z-index:2000;
  left:50%;
  bottom:92px;
  transform:translateX(-50%);
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#fff;
  background:#090a0d;
  box-shadow:0 15px 50px rgba(0,0,0,.48);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}

/* Work With Fountain */
.work-hero{
  min-height:76vh;
  display:flex;
  align-items:flex-end;
  padding:calc(var(--ui-header,72px) + 70px) 0 80px;
  background:
    linear-gradient(90deg,rgba(3,4,6,.98) 0%,rgba(3,4,6,.76) 52%,rgba(3,4,6,.28)),
    linear-gradient(to top,rgba(3,4,6,1),rgba(3,4,6,.1) 55%),
    url('/assets/puppet-range.webp') center/cover no-repeat;
}
.work-hero-copy{max-width:780px}
.work-hero h1{margin:.2em 0 .25em;font-size:clamp(55px,9vw,126px);line-height:.82;letter-spacing:-.07em}
.work-hero h1 em{color:#ffb84f;font-style:normal}
.work-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.work-service{
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:19px;
  background:linear-gradient(150deg,rgba(255,184,79,.08),rgba(255,255,255,.025));
}
.work-service span{color:#ffb84f;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.work-service h3{margin:12px 0 10px;font-size:25px}
.work-service p{color:#aaa69f;line-height:1.55}
.work-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.work-proof{
  min-height:220px;
  display:flex;
  align-items:flex-end;
  padding:22px;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  box-shadow:inset 0 -120px 85px rgba(0,0,0,.86);
}
.work-proof strong{font-size:18px}
.work-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
  padding:clamp(22px,4vw,48px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:#0a0b0e;
}
.work-form label{display:grid;gap:8px;color:#b9b5ae;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.work-form input,.work-form select,.work-form textarea{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  color:#fff;
  background:#050607;
  font:inherit;
}
.work-form textarea{min-height:150px;resize:vertical}
.work-form .full{grid-column:1/-1}
.work-form button{justify-self:start}

@media(max-width:760px){
  .growth-rail{grid-auto-columns:minmax(265px,82vw)}
  .recent-card{grid-template-columns:110px minmax(0,1fr)}
  .work-service-grid,.work-proof-grid{grid-template-columns:1fr}
  .work-form{grid-template-columns:1fr}
  .work-form .full{grid-column:auto}
}
