body.prototype-page{background:var(--paper)}
.prototype-main{padding-top:80px}
.prototype-global-header .desktop-nav .is-current::after{right:0}

.prototype-page-hero{position:relative;overflow:hidden;padding:92px 0 82px;color:#fff;background:var(--navy-deep)}
.prototype-page-hero .shell{position:relative;z-index:2}
.prototype-page-hero h1{max-width:900px;margin:0;color:#fff;font:800 clamp(4.2rem,7.8vw,7.2rem)/.84 var(--font-display);letter-spacing:-.045em;text-transform:uppercase}
.prototype-page-hero .hero-lead{max-width:680px;margin:26px 0 0;color:rgba(255,255,255,.74);font-size:1.08rem;line-height:1.7}

.prototype-list-section{padding:92px 0 120px;background:var(--cream)}
.prototype-list-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);gap:50px;align-items:end;margin-bottom:42px}
.prototype-list-heading h2{margin:0;color:var(--navy);font:800 clamp(3rem,5vw,5.3rem)/.88 var(--font-display);letter-spacing:-.04em;text-transform:uppercase}
.prototype-list-heading>p{margin:0;color:var(--muted);line-height:1.65}
.prototype-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.prototype-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(4,29,51,.07);transition:transform .22s ease,box-shadow .22s ease}
.prototype-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.prototype-card-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.prototype-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.prototype-card:hover .prototype-card-media img{transform:scale(1.025)}
.prototype-card-placeholder{width:100%;height:100%;background:radial-gradient(circle at 20% 15%,rgba(255,214,67,.18),transparent 34%),linear-gradient(135deg,var(--blue),var(--navy-deep))}
.prototype-presence{position:absolute;top:18px;left:18px;max-width:calc(100% - 36px);padding:9px 13px;color:var(--navy-deep);background:var(--yellow);font-weight:800;font-size:.78rem;line-height:1.25;text-transform:uppercase}
.prototype-card-body{display:flex;flex:1;flex-direction:column;padding:24px}
.prototype-card-author{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.prototype-card-author img,.prototype-card-author-placeholder{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover}
.prototype-card-author img{border:3px solid var(--yellow)}
.prototype-card-author-placeholder{display:grid;place-items:center;color:#fff;background:var(--orange);font:800 1.5rem var(--font-display)}
.prototype-card-author small{display:block;color:var(--muted);font-size:.78rem}
.prototype-card-author strong{display:block;margin-top:2px;color:var(--ink);font-size:.95rem}
.prototype-card h3{margin:0 0 15px;color:var(--navy);font:800 clamp(2rem,3vw,2.7rem)/.96 var(--font-display);text-transform:uppercase}
.prototype-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}
.prototype-meta span{padding:8px 10px;color:var(--navy-deep);background:var(--cream);font-size:.8rem;font-weight:800}
.prototype-card-description{margin:0 0 22px;color:var(--muted);font-size:.94rem;line-height:1.62}
.prototype-card .button{width:100%;margin-top:auto}

.prototype-detail-hero{position:relative;min-height:720px;overflow:hidden;color:#fff;background:var(--navy-deep)}
.prototype-detail-image{position:absolute;inset:0;background-position:center;background-size:cover}
.prototype-detail-image.is-placeholder{background:linear-gradient(135deg,var(--blue),var(--navy-deep))}
.prototype-detail-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,43,.97) 0%,rgba(3,24,43,.82) 42%,rgba(3,24,43,.28) 76%,rgba(3,24,43,.55) 100%),linear-gradient(0deg,rgba(3,24,43,.88),transparent 40%)}
.prototype-detail-content{position:relative;z-index:2;min-height:720px;padding-top:120px;padding-bottom:60px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(48px,8vw,115px);align-items:end}
.prototype-back{display:inline-flex;gap:10px;align-items:center;margin-bottom:26px;color:rgba(255,255,255,.78);font-weight:700}
.prototype-detail h1{margin:0;max-width:850px;color:#fff;font:800 clamp(4rem,8vw,7.7rem)/.82 var(--font-display);letter-spacing:-.045em;text-transform:uppercase}
.prototype-detail-author{display:flex;align-items:center;gap:14px;margin-top:30px}
.prototype-detail-author img,.prototype-detail-author-placeholder{width:76px;height:76px;flex:0 0 76px;border:4px solid var(--yellow);object-fit:cover}
.prototype-detail-author-placeholder{display:grid;place-items:center;color:var(--yellow);background:var(--navy);font:800 2rem var(--font-display)}
.prototype-detail-author small{display:block;color:rgba(255,255,255,.62);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.prototype-detail-author strong{display:block;margin-top:4px;font-size:1.08rem}
.prototype-facts{border-top:4px solid var(--yellow);background:rgba(4,29,51,.88);box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.prototype-facts div{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.13)}
.prototype-facts div:last-child{border-bottom:0}
.prototype-facts span{color:rgba(255,255,255,.54);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.prototype-facts strong{font-size:.96rem}

.prototype-description-section{padding:95px 0;background:var(--cream)}
.prototype-description-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,120px);align-items:start}
.prototype-description-grid h2,.prototype-session-heading h2,.registration-heading h1{margin:0;color:var(--navy);font:800 clamp(3.2rem,5.5vw,5.7rem)/.88 var(--font-display);letter-spacing:-.04em;text-transform:uppercase}
.prototype-description-copy{padding-top:24px;border-top:1px solid var(--line);color:#475a69;font-size:1.08rem;line-height:1.78}

.prototype-sessions{padding:100px 0 120px;background:#fff}
.prototype-session-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:55px;align-items:end;margin-bottom:44px}
.prototype-session-heading>p{margin:0;color:var(--muted);line-height:1.65}
.prototype-session-list{border:1px solid var(--line)}
.prototype-session{display:grid;grid-template-columns:76px minmax(250px,1.3fr) minmax(230px,.75fr) auto;gap:26px;align-items:center;min-height:170px;padding:27px 28px;border-bottom:1px solid var(--line);background:#fff}
.prototype-session:last-child{border-bottom:0}
.prototype-session-number{align-self:start;color:rgba(8,42,72,.27);font:700 1.9rem var(--font-display)}
.prototype-session-date{color:var(--orange);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.prototype-session-time{margin-top:7px;color:var(--navy);font:800 clamp(2rem,3.4vw,3.2rem)/.92 var(--font-display)}
.prototype-session-time span{color:var(--yellow);padding:0 5px}
.prototype-session-note{margin:11px 0 0;color:var(--muted);font-size:.9rem}
.prototype-status{display:inline-block;margin-bottom:16px;padding:7px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.prototype-status.open{color:var(--navy-deep);background:var(--yellow)}
.prototype-status.low{color:#fff;background:var(--orange)}
.prototype-status.full{color:rgba(255,255,255,.82);background:var(--navy)}
.prototype-capacity-copy{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.76rem}
.prototype-capacity-copy strong{color:var(--navy)}
.prototype-capacity-bar{height:4px;margin-top:8px;background:var(--blue-soft);overflow:hidden}
.prototype-capacity-bar span{display:block;height:100%;background:var(--orange)}
.prototype-empty{padding:38px;border:1px solid var(--line);background:var(--cream)}

.registration-section{min-height:calc(100vh - 80px);padding:88px 0 110px;background:var(--cream)}
.registration-shell{width:min(820px,calc(100% - 48px));margin:auto}
.registration-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--navy);font-weight:800}
.registration-heading{margin-bottom:28px}
.registration-summary{margin-bottom:22px;padding:24px 26px;color:#fff;background:var(--navy);border-top:4px solid var(--yellow);box-shadow:var(--shadow)}
.registration-summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.registration-summary span{display:block;color:rgba(255,255,255,.58);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}
.registration-summary strong{display:block;margin-top:4px}
.registration-card{padding:30px;background:#fff;border:1px solid var(--line)}
.registration-card h2{margin:0 0 8px;color:var(--navy);font:800 2.3rem var(--font-display);text-transform:uppercase}
.registration-card .intro{margin:0 0 26px;color:var(--muted);line-height:1.65}
.registration-card label{display:block;margin-bottom:7px;color:var(--navy);font-weight:800}
.registration-card select,.registration-card input{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:inherit}
.registration-card select:focus,.registration-card input:focus{outline:2px solid rgba(255,214,67,.8);outline-offset:1px}
.registration-person{padding:18px 0;border-top:1px solid var(--line)}
.registration-person:first-child{border-top:0}
.registration-person-title{margin:0 0 10px;color:var(--orange);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.registration-error{margin-bottom:20px;padding:16px 18px;border-left:4px solid var(--orange);background:#fff2e8;color:#7d3510}
.registration-full{padding:26px;background:#fff;border:1px solid var(--line)}
.registration-card .button{margin-top:10px;width:100%;border:0;cursor:pointer}

.prototype-cta{padding:88px 0;color:#fff;background:var(--navy);text-align:center}
.prototype-cta h2{max-width:850px;margin:0 auto;color:#fff;font:800 clamp(3.2rem,6vw,6.2rem)/.86 var(--font-display);text-transform:uppercase;letter-spacing:-.04em}
.prototype-cta p:last-child{max-width:620px;margin:24px auto 0;color:rgba(255,255,255,.7);line-height:1.7}

@media(max-width:980px){
  .prototype-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prototype-detail-content{grid-template-columns:1fr;gap:30px}
  .prototype-facts{display:grid;grid-template-columns:repeat(3,1fr)}
  .prototype-facts div{display:block}.prototype-facts strong{display:block;margin-top:4px}
  .prototype-description-grid,.prototype-list-heading,.prototype-session-heading{grid-template-columns:1fr;gap:28px}
  .prototype-session{grid-template-columns:58px 1fr auto}
  .prototype-session-status{grid-column:2/3}.prototype-session-action{grid-column:3;grid-row:1/span 2}
}
@media(max-width:720px){
  .prototype-main{padding-top:78px}
  .prototype-page-hero{padding:62px 0 60px}
  .prototype-list-section{padding:62px 0 78px}.prototype-grid{grid-template-columns:1fr}
  .prototype-detail-hero,.prototype-detail-content{min-height:670px}
  .prototype-detail-content{padding-top:90px;padding-bottom:34px}
  .prototype-detail h1{font-size:clamp(3.5rem,17vw,5.8rem)}
  .prototype-facts{grid-template-columns:1fr}.prototype-facts div{display:grid;grid-template-columns:75px 1fr;padding:11px 14px}
  .prototype-description-section{padding:72px 0}.prototype-sessions{padding:72px 0 84px}
  .prototype-session-list{display:grid;gap:14px;border:0}.prototype-session{display:block;min-height:0;padding:23px;border:1px solid var(--line)}
  .prototype-session-number{margin-bottom:15px}.prototype-session-status{margin:20px 0}.prototype-session-action{margin-top:20px}.prototype-session .button{width:100%}
  .registration-section{padding:54px 0 76px}.registration-shell{width:min(100% - 28px,820px)}
  .registration-summary-grid{grid-template-columns:1fr}.registration-card{padding:23px}
}
