/* An illustrated contemporary welcome, with the original portrait as a
   separate image. This is not presented as a photograph of the real building. */
#entry-screen{display:none;position:absolute;inset:0;overflow:hidden;background:#15232c}
body.flat-consultation:not(.visiting) #entry-screen[data-ready="true"]{display:block}
.entry-screen-stage{position:absolute;left:50%;top:50%;width:max(100vw,150dvh);aspect-ratio:3/2;transform:translate(-50%,-50%);transition:transform .45s ease,opacity .45s ease}
.entry-screen-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.entry-screen-sign{position:absolute;left:25.8%;top:18.2%;width:48.3%;height:9%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#edddbd;text-align:center;text-shadow:0 2px 3px #0009;pointer-events:none}
.entry-screen-sign strong{font:400 clamp(28px,3.6vw,62px)/1.07 Georgia,serif;letter-spacing:.02em}
.entry-screen-sign span{margin-top:.4em;font:600 clamp(10px,1.1vw,19px)/1.2 Arial,sans-serif;letter-spacing:.16em}
.entry-screen-portrait{position:absolute;left:13.4%;top:13%;width:8.4%;height:auto;max-height:19%;object-fit:contain;border:2px solid #b99558;box-shadow:0 3px 10px #0008}
.entry-screen-banner-copy{position:absolute;left:12.9%;top:31.2%;width:9.3%;height:19%;color:#f1e2bd;text-align:center;pointer-events:none}
.entry-screen-banner-copy strong{font:400 clamp(12px,1.6vw,28px)/1.16 Georgia,serif}
.entry-screen-banner-copy span{display:block;font-size:clamp(7px,.78vw,13px);line-height:1.45;letter-spacing:.07em;margin-top:1.2em}
#entry-visual-door{position:absolute;left:35.8%;top:37.2%;width:28.3%;height:35%;border:2px solid transparent;border-radius:2px;background:transparent;cursor:pointer}
#entry-visual-door:focus-visible{border-color:#ffe4a4;outline:3px solid #ffe4a4;outline-offset:-8px}
.entry-scenic-note{position:absolute;bottom:102px;left:18px;padding:5px 9px;background:#17242eae;color:#eee0c6;font-size:9px;letter-spacing:.04em;pointer-events:none}
body.entry-opening .entry-screen-stage{transform:translate(-50%,-50%) scale(1.12);opacity:.45}
body:not(.visiting) .welcome.compact{top:auto;bottom:125px;left:50%;right:auto;transform:translateX(-50%);width:min(580px,calc(100vw - 30px));max-width:none;padding:14px 20px 16px;overflow:visible;background:#112839ed;border:1px solid #d5b77980;box-shadow:0 10px 38px #0004;color:#f3e8cf}
body:not(.visiting) .welcome.compact h1{display:none}
body:not(.visiting) .welcome.compact .welcome-actions{margin:0;gap:12px;align-items:stretch}
body:not(.visiting) .welcome.compact .primary{flex:1.8;min-height:58px;background:#e0c28a;color:#142b3a;border-color:#f1dba9;padding:10px 16px}
body:not(.visiting) .welcome.compact .secondary{flex:1;min-height:58px;border-color:#b1bbbe70;color:#f4e8d2;font-size:13px}
#enter-button .entry-button-copy{font-size:17px;line-height:1.25}
#enter-button .entry-button-copy small{display:block;font-size:10px;line-height:1.4;font-weight:400;margin-top:4px}
body:not(.visiting) .welcome.compact #collapse-welcome{right:-8px;top:-13px;width:27px;height:27px}
body:not(.visiting) .welcome:not(.compact) #enter-button{min-height:65px}
@media(max-width:700px){
  .entry-screen-stage{top:80px;transform:translateX(-50%);width:145vw;max-width:none}
  #entry-screen{background:linear-gradient(#172a39,#32281e 56%,#15232c)}
  .entry-screen-sign strong{font-size:clamp(21px,5.1vw,37px)}
  .entry-screen-sign span{font-size:clamp(7px,1.65vw,12px);letter-spacing:.1em}
  .entry-screen-banner-copy strong{font-size:clamp(11px,2.5vw,18px)}
  .entry-screen-banner-copy span{font-size:clamp(6px,1.3vw,9px);margin-top:.7em}
  body:not(.visiting) .welcome.compact{bottom:115px;padding:14px;max-height:none}
  body:not(.visiting) .welcome.compact .welcome-actions{gap:8px}
  body:not(.visiting) .welcome.compact .secondary{font-size:11px;padding:9px 7px}
  #enter-button .entry-button-copy{font-size:15px}
  #enter-button .entry-button-copy small{font-size:9px}
  .entry-scenic-note{bottom:91px;left:14px;font-size:8px}
  body.entry-opening .entry-screen-stage{transform:translateX(-50%) scale(1.12)}
}
@media(prefers-reduced-motion:reduce){.entry-screen-stage{transition:none}body.entry-opening .entry-screen-stage{opacity:1}}
