/* Keep the original site's visual system; scope the imported doorway to contact. */
.hybrid-contact { padding-bottom: 65px; }
.exit-grid { display: grid; grid-template-columns: 1.3fr .8fr; gap: 70px; align-items: center; margin-top: 65px; }
.exit-copy { min-width: 0; }
.hybrid-contact h2 { font-size: clamp(44px, 5.7vw, 92px); margin: 24px 0 28px; }
.hybrid-contact h2 > a { white-space: nowrap; }
.hybrid-contact h2 a > span { font-size: .65em; margin-left: .18em; }
.exit-door { position: relative; isolation: isolate; display: flex; justify-content: center; min-height: 510px; align-items: center; perspective: 1000px; }
.door-frame { position: relative; width: 67%; height: 385px; background: #21231e; border: 8px solid #1b1a17; border-bottom: 0; box-shadow: -11px 0 0 #11110f, 0 0 60px #d9d7b611, inset 0 0 0 1px #f2ebc866; transform: rotateY(-9deg); transition: transform .7s, box-shadow .7s; overflow: hidden; }
.door-world { position: absolute; inset: 0; background-image: linear-gradient(0deg, #161a15aa, #eeeecc00 60%), url("assets/room-to-world-hero.png"); background-size: auto, auto 100%; background-position: center, 98% center; filter: brightness(1.4) saturate(.65); transform: scale(1.05); transition: transform .8s, filter .8s; }
.door-frame::after { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 34%; background: linear-gradient(90deg, #080908, #252822); border-right: 2px solid #efe6bf80; transform: perspective(700px) rotateY(-16deg); transform-origin: left; transition: transform .8s, width .8s; }
.door-frame > span { position: absolute; z-index: 3; left: 22px; bottom: 24px; right: 18px; font: 10px/1.8 var(--mono); letter-spacing: 1px; text-shadow: 0 1px 8px #000; }
.door-light { position: absolute; z-index: -1; width: 95%; height: 150px; top: 79%; left: 0; background: linear-gradient(180deg, #e7e0b320, transparent); clip-path: polygon(25% 0, 73% 0, 100% 100%, 0 100%); filter: blur(8px); opacity: .8; }
.door-footnote { position: absolute; bottom: 6px; left: 0; right: 0; text-align: center; color: #8e8375; font: 10px var(--mono); letter-spacing: 1.3px; }
.exit-door:is(:hover, :focus-visible) .door-frame { transform: rotateY(-3deg); box-shadow: -11px 0 0 #11110f, 0 0 75px #d9d7b622; }
.exit-door:is(:hover, :focus-visible) .door-frame::after { transform: perspective(700px) rotateY(-60deg); width: 23%; }
.exit-door:is(:hover, :focus-visible) .door-world { transform: scale(1.1); filter: brightness(1.6) saturate(.8); }
.hybrid-contact .contact-bottom { border-top: 1px solid #ffffff20; padding-top: 28px; margin-top: 42px; }
.edition-links { display: flex; gap: 20px; flex-wrap: wrap; }

@media (max-width: 1100px) {
  .exit-grid { gap: 35px; grid-template-columns: 1.2fr .8fr; }
  .door-frame { width: 77%; height: 350px; }
}
@media (max-width: 850px) {
  .exit-grid { gap: 20px; }
  .exit-door { min-height: 420px; }
  .door-frame { width: 90%; height: 300px; }
  .door-frame > span { left: 14px; font-size: 9px; }
}
@media (max-width: 600px) {
  .exit-grid { grid-template-columns: 1fr; margin-top: 43px; gap: 13px; }
  .hybrid-contact h2 { font-size: clamp(40px, 10.5vw, 62px); margin: 0; }
  .exit-door { min-height: 415px; max-width: 360px; width: 100%; margin: 10px auto; }
  .door-frame { width: 67%; height: 300px; }
  .door-light { top: 80%; height: 110px; }
  .door-footnote { bottom: 8px; }
  .hybrid-contact .contact-bottom { margin-top: 30px; padding-top: 25px; gap: 22px; }
  .edition-links { gap: 14px; }
}
