/* Rendered cinematic academy doors — shared gold frame + hinged plaque-adapted leaves.
   Geometry from assets/doors/coords.json (source 864x1152). Frame stays still; leaf swings. */

body.lux .academy-corridor{
  overflow:visible !important;
  background:
    radial-gradient(ellipse 90% 55% at 50% 0%, rgba(216,181,106,.12), transparent 58%),
    linear-gradient(180deg, rgba(10,16,26,.55), rgba(16,27,43,.28) 46%, rgba(8,10,16,.2)) !important;
}

body.lux .academy-doors{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px 22px !important;
  max-width:1180px !important;
  margin:0 auto;
  perspective:1600px;
  overflow:visible !important;
  scroll-snap-type:none;
  padding-bottom:0;
}

@media (max-width:1099px){
  body.lux .academy-doors{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

@media (max-width:700px){
  body.lux .academy-doors{
    display:grid !important;
    grid-template-columns:1fr !important;
    overflow:visible !important;
    overflow-x:visible !important;
    max-width:400px !important;
    margin-inline:auto;
    gap:28px !important;
    scroll-snap-type:none;
  }
}

.academy-entry{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
  color:inherit;
  background:transparent;
  border:0;
}

.render-door-link{
  display:block;
  position:relative;
  text-decoration:none;
  color:inherit;
  border-radius:4px;
  outline:none;
}

.render-door-link:focus-visible{
  box-shadow:0 0 0 2px #101B2B, 0 0 0 4px #D8B56A;
}

.render-door{
  position:relative;
  width:100%;
  aspect-ratio:864 / 1152;
  perspective:1600px;
  filter:drop-shadow(0 20px 32px rgba(0,0,0,.48));
}

.render-door-reveal{
  position:absolute;
  left:calc(254 / 864 * 100%);
  top:calc(244 / 1152 * 100%);
  width:calc(356 / 864 * 100%);
  height:calc(762 / 1152 * 100%);
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 28% 38%, rgba(255,220,150,.95) 0%, rgba(216,160,72,.58) 42%, rgba(90,42,12,.22) 72%, transparent 88%);
  box-shadow:inset 0 0 40px rgba(255,200,110,.35);
  opacity:0;
  transition:opacity .55s ease;
}

.render-door-leaf{
  position:absolute;
  left:calc(252 / 864 * 100%);
  top:calc(242 / 1152 * 100%);
  width:calc(360 / 864 * 100%);
  height:calc(766 / 1152 * 100%);
  z-index:2;
  transform-origin:left center;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.render-door-leaf img,
.render-door-frame{
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
}

.render-door-frame{
  position:absolute;
  inset:0;
  z-index:3;
}

.academy-entry:hover .render-door-leaf,
.academy-entry:focus-within .render-door-leaf{
  transform:rotateY(-72deg);
}

.academy-entry:hover .render-door-reveal,
.academy-entry:focus-within .render-door-reveal{
  opacity:1;
}

.academy-entry-copy{
  margin-top:12px;
  text-align:center;
}

.academy-entry-copy h3{
  margin:0 0 6px;
  font-family:"Cinzel", "Cormorant Garamond", Georgia, serif;
  font-size:clamp(16px,1.6vw,20px);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#E8D49A;
}

.academy-entry-copy > p{
  margin:0 0 10px;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
  font-size:17px;
  line-height:1.35;
  color:#F6F0E5;
}

.academy-entry-list{
  list-style:none;
  margin:0 0 14px;
  padding:0;
  text-align:left;
  color:#F6F0E5;
  font-family:"Manrope", system-ui, sans-serif;
  font-size:13px;
  line-height:1.45;
}

.academy-entry-list li{
  position:relative;
  padding:3px 0 3px 14px;
}

.academy-entry-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:6px;
  height:1px;
  background:#D8B56A;
}

.academy-entry-list a{
  color:#F3D78A;
  text-decoration:underline;
  text-underline-offset:3px;
}

.academy-entry-list a:hover,
.academy-entry-list a:focus-visible{
  color:#fff4cf;
}

.academy-entry--marketing .academy-entry-list{
  columns:2;
  column-gap:16px;
}

.academy-entry-note{
  margin:-6px 0 12px;
  font-size:12.5px;
  line-height:1.45;
  color:#e1ddca;
  text-align:left;
}

.academy-entry-copy .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:2px;
}

@media (max-width:700px){
  .academy-entry--marketing .academy-entry-list{columns:1}
  .academy-entry-copy{padding:0 4px}
}

@media (prefers-reduced-motion:reduce){
  .render-door-leaf,
  .render-door-reveal{transition:none}
  .academy-entry:hover .render-door-leaf,
  .academy-entry:focus-within .render-door-leaf{
    transform:none;
  }
  .academy-entry:hover .render-door-reveal,
  .academy-entry:focus-within .render-door-reveal{
    opacity:.42;
  }
}

/* Keep /academies landings clear of the sticky masthead */
#academies,
#academies-title{
  scroll-margin-top: var(--header-offset, 102px);
}
