/* The supplied temple is displayed as one proportional architectural composition. */
/* An ornamental perimeter stays visible while the page scrolls. */
body { --roman-frame:24px; padding:var(--roman-frame); background:#4d1728; }
.roman-page-frame { position:fixed; inset:0; z-index:900; pointer-events:none; }
.roman-page-frame>span { position:absolute; display:block; background-color:#4d1728; box-shadow:inset 0 0 0 1px #d5b873; }
.roman-frame-top,.roman-frame-bottom { left:0; right:0; height:var(--roman-frame); background-image:url('/assets/roman-frame-horizontal.svg'); background-size:calc(var(--roman-frame) * 2) var(--roman-frame); background-repeat:repeat-x; }
.roman-frame-top { top:0; }
.roman-frame-bottom { bottom:0; }
.roman-frame-left,.roman-frame-right { top:0; bottom:0; width:var(--roman-frame); background-image:url('/assets/roman-frame-vertical.svg'); background-size:var(--roman-frame) calc(var(--roman-frame) * 2); background-repeat:repeat-y; }
.roman-frame-left { left:0; }
.roman-frame-right { right:0; }
.roman-page-frame>.roman-frame-corner { width:var(--roman-frame); height:var(--roman-frame); background-image:url('/assets/roman-frame-rosette.svg'); background-size:100% 100%; }
.roman-corner-tl { left:0; top:0; }.roman-corner-tr { right:0; top:0; }
.roman-corner-bl { left:0; bottom:0; }.roman-corner-br { right:0; bottom:0; }
@media(max-width:640px) { body { --roman-frame:12px; } }
@media print { body { padding:0; } .roman-page-frame { display:none; } }
.lviv-site .temple-relocated {
 width:min(900px,88%); margin:0 auto 42px; padding:24px;
 background:none;
 border:0;
}
.lviv-site .temple-relocated .temple-facade { width:100%; max-width:760px; margin:0 auto; }
.lviv-site .home-introduction>.wrap { width:min(1040px,88%); }
.lviv-site .home-simple .hero.photohero { padding:42px 0; }
@media(max-width:640px) {
 .lviv-site .temple-relocated { width:94%; padding:12px; margin-bottom:30px; }
 .lviv-site .home-simple .hero.photohero { padding:30px 0; }
}
.lviv-site .hero.temple-hero {
 padding:32px 0 38px; display:flex; flex-direction:column;
 align-items:center; gap:0;
}
.lviv-site .temple-facade {
 display:block; width:min(760px,90%); margin:0 auto 30px;
 flex:0 0 auto;
}
.lviv-site .temple-facade svg {
 display:block; width:100%; height:auto; aspect-ratio:707 / 495;
 overflow:visible; filter:drop-shadow(0 6px 5px #0003);
}
.lviv-site .hero>.wrap { width:min(1180px,84%); }
.lviv-site .photohero .hero-copy {
 max-width:900px; margin:auto; padding:28px 32px;
 background:linear-gradient(115deg,#27151bbf,#27151b55);
 border-left:2px solid #d3b479;
}
.lviv-site .photohero .home-title {
 font-size:clamp(38px,4.8vw,64px); max-width:100%;
}
.lviv-site .photohero p { max-width:690px; }
.lviv-site .photohero .hero-caption { margin-top:22px; }
.lviv-site .hero:not(.photohero) .temple-facade { max-width:460px; margin-bottom:24px; }
.lviv-site .hero:not(.photohero)>.wrap { width:min(1100px,84%); }
/* Meanders divide spaces and subject groups. The buttons keep simple frames. */
.lviv-site .topic-button::before,
.lviv-site .topic-button::after { display:none; }
.lviv-site .topic-button { padding:20px 19px; min-height:132px; }
.lviv-site .home-introduction::before {
 background:url('/assets/roman-greek-key.svg') left center / 48px 28px repeat-x;
 height:28px;
}
.lviv-site .home-introduction { padding-bottom:91px; }
.lviv-site .home-introduction::after {
 content:''; position:absolute; left:6%; right:6%; bottom:20px; height:28px;
 background:url('/assets/roman-greek-key.svg') left center / 48px 28px repeat-x;
 pointer-events:none;
}
@media(max-width:640px) {
 .lviv-site .hero.temple-hero { padding:22px 0 27px; }
 .lviv-site .temple-facade { width:94%; margin-bottom:20px; }
 .lviv-site .hero>.wrap,.lviv-site .photohero .wrap { width:88%; }
 .lviv-site .photohero .hero-copy { padding:22px 18px; }
 .lviv-site .photohero .home-title { font-size:clamp(33px,9vw,44px); }
 .lviv-site .topic-button { padding:20px 10px; min-height:178px; }
 .lviv-site .home-introduction { padding-bottom:75px; }
 .lviv-site .home-introduction::after { height:23px; background-size:40px 23px; }
}
