/* Kedral: a cinematic introduction, an ordered marketplace, distinct product studies. */
body.cinematic {
  --button-radius: 8px;
  background: radial-gradient(ellipse at 90% 72%, #71324955 0, transparent 48%),
    linear-gradient(145deg, #170b11 8%, #250712 55%, #442032 86%, #250712);
}
.cinematic :is(button, .button, .prototype-button) { border-radius: var(--button-radius) !important; }
.cinematic .brand { gap: 12px; letter-spacing: -1.5px; }
.cinematic .brand .brand-mark { width: 29px; height: 35px; object-fit: contain; }
.cinematic .brand span { font-weight: 600; }
.cinematic .button-small { border-radius: 8px; }
.cinematic .scene-link { padding: 12px 15px; border: 1px solid #e5d6df38; background: #efe4ec0d; border-radius: 8px; margin-top: 16px; }
.journey[data-chapter="3"] .scene-link { border-color: #59404e30; background: #ffffff65; }
.journey-bottom { justify-content: flex-start; }
.cinematic .journey-next { padding: 12px 16px; background: #f4eee908; border: 1px solid #e7d2df20; min-width: 0; gap: 13px; }
.journey[data-chapter="3"] .journey-next { background: #ffffff40; border-color: #80657325; }
.scroll-line { height: 18px; }
.cinematic .ecosystem { background: linear-gradient(110deg, #e8e2e5, #f6f3f0 65%, #eee6ea); }
.cinematic .workforce-section { position: relative; background: radial-gradient(ellipse at 100% 0, #f0d8e55c, transparent 53%), linear-gradient(160deg, #faf8f6, #f4f0f2 78%, #e8dce2); padding-block: 96px 88px; }
.cinematic .workforce-section > .wrap { max-width: 1280px; }
.cinematic .workforce-section .section-heading { margin-bottom: 38px; align-items: center; gap: 35px; }
.cinematic .workforce-section h2 { font-size: clamp(36px, 3.45vw, 52px); line-height: 1.12; letter-spacing: -.05em; }
.cinematic .workforce-section h2 span { color: #88747f; }
.cinematic .market-intro p { font-size: 17px; color: #76646e; line-height: 1.6; }
.cinematic .market-toolbar { margin: 0; gap: 24px; padding-top: 25px; border-top: 1px solid #5138491c; }
.cinematic .market-search { max-width: 480px; height: 50px; background: #ffffffa8; border-color: #dfd4da; }
.cinematic .market-sort { font-size: 14px; gap: 10px; }
.cinematic .market-sort select { padding: 12px 32px 12px 13px; border-radius: 8px; }
.cinematic .workforce-controls { margin: 22px 0; gap: 15px; }
.cinematic .filter-list { gap: 6px; }
.cinematic .filter-button { padding: 10px 17px; min-height: 42px; font-size: 14px; border-color: transparent; }
.cinematic .filter-button.active { background: #38212e; border-color: #38212e; }
.cinematic .directory-count { font-size: 14px; }
.cinematic .agent-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cinematic .agent-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); min-height: 188px; background: #fffdfde8; border: 1px solid #ded3da; border-radius: 12px; overflow: hidden; }
.cinematic .agent-card[hidden] { display: none; }
.cinematic .agent-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px #3b25330a; border-color: #b69da9; }
.agent-portrait-stage { position: relative; display: grid; place-items: center; min-width: 0; background: radial-gradient(ellipse at 35% 28%, #ffffffaa, transparent 64%), color-mix(in srgb, var(--agent-color) 18%, #ece8eb); border-right: 1px solid #6e536512; overflow: hidden; }
.cinematic .agent-emblem { width: 125px; height: 145px; background: none; border: 0; border-radius: 0; box-shadow: none; color: var(--agent-color); }
.cinematic .agent-emblem img { width: 100%; height: 100%; object-fit: contain; }
.cinematic .agent-emblem .agent-glyph { width: 69px; height: 69px; }
.portrait-index { position: absolute; left: 13px; bottom: 11px; font-size: 12px; color: #6d596775; font-variant-numeric: tabular-nums; }
.cinematic .market-card-body { display: flex; flex-direction: column; min-width: 0; padding: 24px 23px 18px; }
.cinematic .agent-identity { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 10px; }
.cinematic .agent-identity h3 { font-size: 25px; line-height: 1.15; letter-spacing: -.8px; color: #372730; }
.cinematic .agent-byline { margin: 0; font-size: 13px; color: #88757e; }
.cinematic .agent-description { font-size: 16px; letter-spacing: -.2px; line-height: 1.5; min-height: 0; max-width: none; margin: 15px 0 20px; color: #715b67; }
.cinematic .agent-card-bottom { display: flex; flex-direction: row; justify-content: space-between; margin-top: auto; padding: 0; gap: 12px; border: 0; }
.cinematic .agent-card-bottom .agent-sample { padding: 9px 0; width: auto; min-height: 40px; border: 0; background: none; color: #7b6571; font-size: 14px; font-weight: 400; gap: 8px; }
.cinematic .agent-card-bottom .agent-hire { padding: 9px 13px; min-height: 40px; background: #f3edf0; color: #422633; border: 1px solid #ded1d8; font-size: 14px; gap: 14px; }
.cinematic .agent-card-bottom .agent-hire:hover { background: #38212e; color: #fff7fa; border-color: #38212e; }
.cinematic .workforce-bottom { margin-top: 28px; color: #77616e; }
.cinematic .market-honesty { margin-top: 14px; color: #88727e; }
.cinematic #lower-page { background: radial-gradient(ellipse at 90% 36%, #74283f40, transparent 48%), radial-gradient(ellipse at 5% 83%, #96577630, transparent 37%), linear-gradient(160deg, #1e0e17, #250712 35%, #391423 69%, #30121e); }
.cinematic .builder-section { padding-top: 88px; }
.cinematic .builder-panel { min-height: 450px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: linear-gradient(118deg, #f6f1ee, #e4d6de); border: 0; border-radius: 16px; }
.cinematic .builder-copy { padding: 72px 0 70px 60px; position: relative; z-index: 1; }
.cinematic .builder-copy h2 { color: #3b2632; font-size: clamp(36px, 3.5vw, 53px); }
.cinematic .builder-copy h2 span { color: #9a7b8a; }
.cinematic .builder-copy p { color: #7b6370; font-size: 17px; max-width: 280px; margin-top: 22px; }
.cinematic .builder-copy .button { background: #38212e; color: #fff6fa; margin-top: 29px; }
.cinematic .showcase-surface { position: relative; isolation: isolate; filter: none; overflow: hidden; }
.showcase-surface canvas { display: block; width: 100%; height: 100%; position: absolute; inset: 0; opacity: 0; transition: opacity .5s; }
.showcase-surface.has-showcase canvas { opacity: 1; }
.showcase-fallback { position: absolute; width: 28%; height: 45%; object-fit: contain; left: 36%; top: 27%; opacity: .6; }
.showcase-surface.has-showcase .showcase-fallback { opacity: 0; }
.cinematic .builder-visual { height: 450px; min-height: 0; background: radial-gradient(ellipse at 50% 45%, #fff8 0%, transparent 65%); }
.assembly-legend { position: absolute; display: flex; justify-content: center; gap: 25px; left: 0; right: 0; bottom: 30px; color: #8d727f; font-size: 13px; }
.assembly-legend span + span::before { content: '/'; margin-right: 25px; color: #bba7b1; }
.cinematic .network-section { padding-block: 62px 65px; }
.cinematic .network-panel { grid-template-columns: 1fr 1fr; gap: 55px; }
.cinematic .network-visual { min-height: 0; height: 470px; background: radial-gradient(ellipse, #a1486726, transparent 67%); }
.cinematic .network-copy { padding-right: 35px; }
.cinematic .network-copy h2 { font-size: clamp(36px, 3.3vw, 51px); }
.cinematic .network-copy p { max-width: 335px; font-size: 17px; }
.cinematic .network-copy .text-link { padding: 13px 17px; border: 1px solid #b98a9e40; background: #f4eee907; font-size: 14px; }
.cinematic .network-disclaimer { color: #b296a4; }
.cinematic .faq-section { border-color: #bda3af25; padding-block: 58px 70px; }
.cinematic .faq-heading h2 { font-size: 44px; }
.cinematic .faq-list summary { font-size: 17px; }
.cinematic .closing-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; text-align: left; min-height: 570px; padding-block: 25px 95px; }
.cinematic .closing-copy { position: relative; z-index: 1; }
.cinematic .closing-section h2 { font-size: clamp(54px, 6vw, 86px); letter-spacing: -.055em; }
.cinematic .closing-visual { height: 430px; width: 100%; }
.cinematic .closing-word { bottom: -12px; font-size: clamp(100px, 20vw, 300px); line-height: .9; color: #ad76900d; opacity: 1; letter-spacing: -.08em; pointer-events: none; }
.cinematic .site-footer { background: transparent; }
.cinematic .footer-top > span, .cinematic .footer-bottom, .cinematic .footer-bottom .text-link { color: #bea4b1; }
.cinematic .picker-content, .cinematic .scenario-chip, .cinematic .market-sort select { border-radius: 8px; }
.cinematic .modal-close { border-radius: 8px; }
@media (max-width: 1100px) {
  .cinematic .agent-card { grid-template-columns: 104px minmax(0, 1fr); }
  .cinematic .agent-emblem { width: 105px; height: 135px; }
  .cinematic .market-card-body { padding: 22px 18px 17px; }
  .cinematic .agent-identity { flex-wrap: wrap; gap: 6px; }
  .cinematic .agent-byline { font-size: 12px; }
  .cinematic .agent-card-bottom { gap: 8px; }
  .cinematic .agent-card-bottom .agent-hire { gap: 8px; padding-inline: 10px; }
  .cinematic .builder-copy { padding-left: 38px; }
  .cinematic .network-panel { gap: 25px; }
}
@media (max-width: 800px) {
  .cinematic .agent-grid { grid-template-columns: 1fr; }
  .cinematic .agent-card { grid-template-columns: 128px minmax(0, 1fr); min-height: 170px; }
  .cinematic .agent-identity { flex-wrap: nowrap; }
  .cinematic .agent-byline { font-size: 13px; }
  .cinematic .agent-emblem { width: 125px; }
  .cinematic .builder-copy { padding-left: 30px; }
  .cinematic .network-copy { padding-right: 0; }
}
@media (max-width: 760px) {
  .cinematic .brand .brand-mark { width: 25px; height: 30px; }
  .cinematic .workforce-section { padding-block: 64px; }
  .cinematic .workforce-section .section-heading { display: block; margin-bottom: 28px; }
  .cinematic .market-intro { margin-top: 20px; }
  .cinematic .market-intro p { font-size: 16px; }
  .cinematic .market-intro p br { display: none; }
  .cinematic .market-toolbar { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
  .cinematic .market-search { width: 100%; max-width: none; }
  .cinematic .market-sort { margin-top: 0; justify-content: space-between; }
  .cinematic .workforce-controls { display: flex; align-items: center; flex-wrap: wrap; margin-block: 19px; }
  .cinematic .filter-list { gap: 3px; }
  .cinematic .filter-button { padding-inline: 11px; }
  .cinematic .directory-count { margin: 0; }
  .cinematic .builder-section { padding-top: 48px; }
  .cinematic .builder-panel { grid-template-columns: 1fr; }
  .cinematic .builder-copy { padding: 38px 30px 0; }
  .cinematic .builder-copy p { max-width: none; }
  .cinematic .builder-visual { height: 330px; }
  .assembly-legend { bottom: 21px; gap: 16px; }
  .assembly-legend span + span::before { margin-right: 16px; }
  .cinematic .network-section { padding-block: 24px 56px; }
  .cinematic .network-panel { grid-template-columns: 1fr; gap: 0; }
  .cinematic .network-visual { height: 340px; }
  .cinematic .network-copy { padding: 0 8px; }
  .cinematic .network-copy p { max-width: none; }
  .cinematic .faq-section { padding-block: 45px 54px; }
  .cinematic .closing-section { grid-template-columns: 1fr; min-height: 0; padding-top: 60px; padding-bottom: 50px; }
  .cinematic .closing-visual { height: 300px; margin-top: -20px; }
  .cinematic .closing-section .button { margin-top: 27px; }
  .cinematic .closing-word { bottom: 0; }
}
@media (max-width: 440px) {
  .cinematic .agent-card { grid-template-columns: 84px minmax(0, 1fr); }
  .cinematic .agent-emblem { width: 95px; height: 128px; }
  .cinematic .agent-emblem .agent-glyph { width: 55px; height: 55px; }
  .cinematic .market-card-body { padding: 21px 14px 16px; }
  .cinematic .agent-identity { flex-wrap: wrap; }
  .cinematic .agent-identity h3 { font-size: 23px; }
  .cinematic .agent-description { font-size: 15px; margin-block: 11px 16px; }
  .cinematic .agent-card-bottom :is(.agent-hire,.agent-sample) { font-size: 13px; }
  .cinematic .agent-card-bottom .agent-hire { padding-inline: 8px; gap: 7px; }
  .cinematic .filter-button { font-size: 13px; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .cinematic *, .cinematic *::before, .cinematic *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .cinematic .reveal { opacity: 1; transform: none; }
}
