@import url('motion.css');
:root{color-scheme:light;--ink:#26302a;--olive:#3d4b2c;--paper:#faf8f1;--line:#d9d4c7;--gold:#937249;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:var(--olive)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #236698;outline-offset:4px}button{min-height:44px;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:10px 15px}button:hover{background:#ecebdc}header{height:90px;padding:12px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.brand img{width:215px;height:68px;object-fit:contain}.header-controls{display:flex;align-items:center;gap:10px}.preview{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#626659;margin-right:14px}.skip{position:absolute;top:-100px;z-index:100;padding:15px;background:white}.skip:focus{top:5px}#quick-menu{position:absolute;right:4%;top:82px;z-index:30;width:300px;background:var(--paper);padding:18px;box-shadow:0 14px 40px #1c231d33;border:1px solid var(--line);border-radius:10px}#quick-menu a{display:block;padding:12px;border-top:1px solid var(--line);text-decoration:none}#quick-menu p{margin:0 0 12px;font-size:13px}.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 4% 22px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:#696b55}h1{font:400 clamp(24px,2.7vw,38px)/1.12 Georgia,serif;margin:8px 0 9px}.welcome p:last-child{font-size:14px;margin:0;color:#586057}.start{background:var(--olive);color:white;border-color:var(--olive);padding:14px 18px;white-space:nowrap}.start:hover{background:#303d23}.start span{margin-left:22px}.environment{position:relative;width:100%;aspect-ratio:1672/820;max-height:74vh;overflow:hidden;background:#cbc9b9;border-block:1px solid var(--line);isolation:isolate}.world{position:absolute;width:100%;height:100%;transform-origin:var(--origin-x,50%) var(--origin-y,50%);transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0) scale(var(--zoom,1.015));transition:transform var(--zoom-duration) cubic-bezier(.22,.7,.15,1),transform-origin var(--zoom-duration) ease;will-change:transform}#scene{width:100%;height:100%;object-fit:cover;display:block}.hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;background:#faf8f1f5;padding:8px 13px 8px 8px;border:1px solid #fff8;border-radius:100px;box-shadow:0 4px 18px #18201936;font-size:13px;font-weight:600;white-space:nowrap;transition:opacity .3s,background .2s}.hotspot:hover{background:white}.number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--olive);color:white;font:15px Georgia,serif}.scene-caption{position:absolute;bottom:16px;left:4%;font:italic 16px Georgia,serif;color:#fff;text-shadow:0 1px 8px #000;background:#253227b8;padding:9px 13px;border-radius:4px;pointer-events:none}.travel-status{position:absolute;bottom:16px;right:4%;color:white;background:#26302ae8;border-radius:6px;padding:10px 14px;font-size:14px;pointer-events:none}.travel-status:empty{display:none}body.travelling .hotspot,body.in-room .hotspot{opacity:0;pointer-events:none}#destinations{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.destination{display:flex;align-items:flex-start;gap:12px;text-align:left;border:0;border-radius:0;background:var(--paper);padding:20px 22px}.destination strong{display:block;font:18px Georgia,serif;margin:2px 0 6px}.destination small{display:block;font:12px/1.5 Arial,sans-serif;color:#596157}.destination .number{background:#e6e8da;color:var(--olive)}.review-note{font-size:12px;line-height:1.7;margin:18px 4%;color:#686c62}.review-note a{margin-left:12px}dialog{border:1px solid #ded7c4;border-radius:15px;box-shadow:0 20px 80px #14201855;background:var(--paper);color:var(--ink);width:min(880px,94vw);max-height:88dvh;padding:25px 30px;overflow:auto}dialog::backdrop{background:#17251d55;backdrop-filter:blur(3px)}.room-top{display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font:400 34px/1.1 Georgia,serif;margin:28px 0 12px}#room-description{line-height:1.65;color:#5a6055;max-width:65ch}.room-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.action{display:inline-block;background:var(--olive);color:white;border:0;padding:13px 18px;border-radius:6px;text-decoration:none;min-height:44px}.action:hover{background:#303d23}iframe{display:block;width:100%;height:60dvh;border:1px solid var(--line);border-radius:8px;background:white}#reader-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:25px}#reader-form label{display:grid;gap:8px;flex:1;min-width:200px;font-size:13px}input{width:100%;border:1px solid #9fa38f;border-radius:6px;background:white;padding:12px;color:var(--ink)}.passage{font:19px/1.8 Georgia,serif;white-space:pre-wrap;padding:15px 0}.reader-status{font-size:14px;line-height:1.6}#next-portion[hidden]{display:none}.help-list{padding-left:20px;line-height:1.8}.help-list strong{color:var(--olive)}.video-note{border-left:3px solid #b49b71;padding:12px 16px;background:#eeecdf;line-height:1.6}.attribution{font-size:11px;line-height:1.5;color:#666}.reduced-motion .world{transition:none!important}.reduced-motion *{scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){.world{transition:none!important}}@media(max-width:900px){#destinations{grid-template-columns:repeat(2,1fr)}.hotspot{font-size:11px;padding:5px 9px 5px 5px;gap:5px}.hotspot .number{width:26px;height:26px}.environment{aspect-ratio:1672/941;max-height:none}.preview{display:none}}@media(max-width:600px){header{height:72px;padding:8px 4%;gap:5px}.brand img{width:146px;height:50px}.header-controls{gap:6px}.header-controls button{font-size:11px;padding:7px 9px}.welcome{padding:22px 5%;display:block}.welcome .start{margin-top:18px;min-height:44px}.eyebrow{font-size:9px}.welcome p:last-child{font-size:13px;line-height:1.5}.hotspot{padding:2px;min-height:34px;min-width:34px}.hotspot .name{display:none}.hotspot .number{width:29px;height:29px;font-size:13px}.scene-caption{display:none}.travel-status{font-size:11px;padding:7px;bottom:8px}.destination{padding:15px 10px;gap:8px}.destination strong{font-size:16px}.destination small{font-size:11px}.destination .number{width:25px;height:25px;font-size:13px}dialog{padding:18px;max-height:92dvh}.room-top{align-items:flex-start}.room-top button{font-size:12px;padding:8px}h2{font-size:27px}#room-description{font-size:14px}.passage{font-size:18px}#quick-menu{top:68px;width:92%;right:4%}.review-note a{display:block;margin:8px 0}}

/* Signs are painted into the scene. Transparent semantic controls follow them. */
.environment{aspect-ratio:1672/941;max-height:none}
.hotspot,.hotspot:hover{width:14%;height:14%;min-height:44px;padding:0;background:transparent;border:0;border-radius:3px;box-shadow:none}
.hotspot .number,.hotspot .name{display:none}
.hotspot:hover{outline:2px solid #fffb;outline-offset:3px}
.hotspot:focus-visible{outline:3px solid #236698;outline-offset:3px;background:#fff2}
.mobile-guide{display:none}
@media(max-width:600px){
.environment{aspect-ratio:auto;height:420px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
.world{position:relative;width:746px;height:420px;max-width:none}
.hotspot{min-width:44px;min-height:44px}
.mobile-guide{display:block;margin:13px 5%;font-size:12px;line-height:1.5;color:#596157}
.travel-status{position:fixed;bottom:12px;right:12px;z-index:20}
}

/* Brief entrance panels lead to full pages. */
dialog{width:min(570px,92vw);padding:28px 32px;border:1px solid #b9a582;border-top:5px solid #786044;background:#faf8f1;border-radius:9px;box-shadow:0 24px 80px #261e1655}.doorway-enter{margin:12px 0 5px}.doorway-note{font-size:12px;line-height:1.6;color:#686c59}#room-title{font-size:32px}.room-top{align-items:center}#room-description{font-size:16px}#return{font-size:12px}@media(max-width:600px){dialog{padding:22px}#room-title{font-size:28px}}

/* ESV attribution occupies the eighth destination-grid position. */
.esv-credit{padding:20px 22px;background:var(--paper);min-width:0}
.esv-credit strong{display:block;font:18px Georgia,serif;margin:2px 0 6px}
.esv-credit p{font:14px/1.5 Arial,sans-serif;color:#596157;margin:0}
.esv-credit a{display:inline;font-size:14px;text-underline-offset:3px}
@media(max-width:600px){.esv-credit{padding:15px 10px}.esv-credit strong{font-size:16px}}

.journal-nav{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-size:14px}@media(max-width:600px){header{height:auto;min-height:72px;flex-wrap:wrap}.header-controls{flex-wrap:wrap}.journal-nav{padding:7px 9px;font-size:12px}}

.header-controls .journal-nav{background:var(--olive);border-color:var(--olive);color:#fffaf0;font-weight:600}.header-controls .journal-nav:hover{background:#303d23}

.header-controls .journal-nav,.header-controls button{font-size:14px;min-height:44px}

/* Separate horizontal website title; original logo assets remain available. */
body>header{height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 4% 18px}
.brand.website-title{position:relative;display:block;width:min(960px,100%);aspect-ratio:2172 / 350;overflow:hidden;flex:none}
.brand.website-title img{position:absolute;left:0;top:50%;transform:translateY(-50%);display:block;width:100%;height:auto;max-width:none;object-fit:contain}
body>header .header-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:100%}
@media(max-width:600px){body>header{padding:14px 12px;gap:14px}.brand.website-title{width:100%}body>header .header-controls{width:100%;gap:8px}body>header .header-controls button,body>header .header-controls a{font-size:14px;min-height:44px}body>header .header-controls .visitor-share{padding:9px 12px}}

/* Eight destinations; Scripture attribution remains a compact full-width footer. */
#esv-credit{grid-column:1 / -1;padding:14px 4%}#esv-credit strong{font-size:16px}#destinations .destination small{font-size:14px}
