:root{--green:#143d32;--deep:#092820;--cream:#f3e9e1;--sand:#d8c9b3;--rose:#c79aaa;--gold:#c7a776;--ink:#23382f}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--deep);color:var(--cream);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-size:14px;cursor:pointer;border:1px solid #bda78055;background:transparent;color:inherit;border-radius:3px;padding:11px 16px}button:hover{border-color:var(--gold);background:#ffffff0d}button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:5px}a{color:inherit}header{position:absolute;z-index:5;left:0;top:0;width:100%;padding:25px 4%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(var(--deep),transparent)}.brand{text-decoration:none;font-weight:600;letter-spacing:.04em;font-size:20px}.brand span{display:block;font-size:12px;letter-spacing:.16em;font-weight:400;color:var(--sand);margin-top:8px}.head-actions{display:flex;gap:12px}#presentation{height:100%;position:relative}.atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 35%,#59766755,transparent 65%)}#viewport{position:absolute;inset:0;overflow:hidden}#world{position:absolute;width:1200px;height:900px;transform-origin:0 0;transition:transform 1.3s cubic-bezier(.24,.72,.15,1);will-change:transform}.architecture{position:absolute;left:355px;top:0;width:680px;height:1020px;object-fit:cover;filter:saturate(.83)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--deep) 0%,#092820ed 23%,transparent 52%),linear-gradient(0deg,var(--deep),transparent 23%)}.guides{position:absolute;left:490px;top:155px;width:450px;height:630px;border:1px solid #c7a77628;border-radius:240px 240px 0 0;pointer-events:none}.hotspot{position:absolute;padding:0;border:0;display:flex;align-items:center;gap:10px;transform:translate(-20px,-20px);white-space:nowrap;filter:drop-shadow(0 3px 6px #0009);transition:opacity .4s;color:#fff}.hotspot b{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--gold);border-radius:50%;background:#0e302bea;font-size:14px;font-weight:400}.hotspot span{font-size:16px;background:#12352ee8;padding:7px 10px;border-radius:2px}.hotspot:hover{background:transparent}.hotspot:hover b{background:var(--gold);color:var(--deep)}.focused .hotspot{opacity:0;pointer-events:none}.focused .hotspot.selected{opacity:1}.focused .hotspot.selected b{background:var(--gold);color:var(--deep)}.focused .hotspot.selected span{display:none}#intro{position:absolute;top:24%;left:6%;width:38%;max-width:480px;transition:opacity .35s,transform .45s}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;color:var(--gold);text-transform:uppercase;margin:0 0 20px}h1{font-size:18px;letter-spacing:.19em;font-weight:400;text-transform:uppercase;margin:0}h1 span{display:block;text-transform:none;letter-spacing:-.035em;font:clamp(38px,4.4vw,68px)/1.07 Georgia,serif;margin-top:15px}.introquote{font:italic 20px/1.5 Georgia,serif;color:var(--sand);max-width:330px;margin:26px 0}.introtext{font-size:16px;line-height:1.65;color:#ddd6c8}.primary{display:block;background:var(--cream);color:var(--green);border:none;padding:15px 23px;font-size:16px;margin-top:24px}.primary:hover{background:var(--sand)}.pdf{display:inline-block;font-size:14px;text-underline-offset:5px;margin-top:22px;color:var(--sand)}.focused #intro{opacity:0;transform:translateX(-25px);pointer-events:none}#chapter{position:absolute;z-index:3;right:4%;top:110px;bottom:124px;width:min(48%,650px);background:var(--cream);color:var(--ink);box-shadow:0 20px 90px #0005;display:flex;flex-direction:column;border-top:3px solid var(--gold);animation:appear .65s ease both}#chapter[hidden]{display:none}.chapter-top{display:flex;align-items:center;justify-content:space-between;padding:16px 27px 0;color:#556457;font-size:12px;letter-spacing:.1em}.chapter-top button{font-size:13px;letter-spacing:0;padding:6px 12px;border-color:#69736450}#chapterScroll{overflow-y:auto;overscroll-behavior:contain;padding:22px 32px 15px;scrollbar-color:#acb8a7 var(--cream)}#chapter .eyebrow{color:#925a40;margin-bottom:13px}h2{font:clamp(29px,2.7vw,43px)/1.11 Georgia,serif;letter-spacing:-.025em;margin:0 0 16px}#chapterLead{font-size:17px;line-height:1.55;margin:0 0 23px;color:#596459}.tabs{display:flex;gap:6px;border-bottom:1px solid #c6bdad;margin-bottom:22px}.tabs button{border:0;border-radius:0;padding:12px 9px;color:#63705f;position:relative;font-size:14px}.tabs button[aria-selected=true]{color:var(--green);font-weight:600;border-bottom:2px solid var(--green)}#content{font-size:16px;line-height:1.65;animation:appear .35s ease}#content p{margin:0 0 17px}#content h3{font-size:16px;line-height:1.4;color:#985f43;margin:23px 0 8px}#content h3:first-child{margin-top:0}#content blockquote{margin:22px 0;padding:18px 20px;border-left:3px solid #ae7e8c;background:#e9dcd5;font:21px/1.4 Georgia,serif}#content ul{padding-left:22px}#content li{margin-bottom:12px}.formula{display:grid;gap:8px;background:var(--green);color:var(--cream);padding:22px;margin:22px 0}.formula span{display:block;font-size:17px}.formula em{font-style:normal;color:var(--gold);padding-right:9px}.prompt{background:#e4e5d9;padding:18px 21px;border-left:3px solid #8b9b7e}.prompt p:last-child{margin-bottom:0}#content .small{font-size:14px;color:#66705f}.chapter-nav{display:flex;align-items:center;justify-content:space-between;padding:15px 26px;border-top:1px solid #d2c9b9;margin-top:auto;gap:8px}.chapter-nav button{border-color:#aeb5a5;color:var(--green);font-size:14px}.chapter-nav button:disabled{opacity:.35;cursor:default}#next{background:var(--green);color:var(--cream);border-color:var(--green)}#stepLabel{font-size:13px;color:#727867}#location{position:absolute;left:5%;bottom:160px;opacity:0;transition:opacity .6s;pointer-events:none}#location span{font-size:12px;letter-spacing:.12em;color:var(--gold)}#location p{font:24px/1.3 Georgia,serif;max-width:260px}.focused #location{opacity:1}footer{position:absolute;bottom:0;z-index:4;width:100%;padding:13px 4% 18px;background:linear-gradient(transparent,var(--deep) 35%)}#chapterIndex{display:flex;justify-content:center;gap:5px;border-top:1px solid #c7a77655;padding-top:14px}#chapterIndex button{flex:1;max-width:160px;font-size:14px;padding:12px 4px;border:0;border-radius:0;color:#d7d9c9;white-space:nowrap}#chapterIndex button span{margin-right:7px;color:var(--gold);font-size:12px}#chapterIndex button.active{background:#c7a7761a;border-bottom:2px solid var(--gold);color:white}.footer-bottom{display:flex;justify-content:space-between;color:#bfcbbb;font-size:12px;margin-top:8px}.footer-bottom a{text-underline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){#chapter{right:7%;width:43%}#chapterScroll{padding:30px 40px}}@media(max-width:760px){header{padding:18px 20px}.brand{font-size:17px}.brand span{font-size:10px;letter-spacing:.09em}.head-actions{gap:6px}.head-actions button{font-size:12px;padding:9px}#screenButton{display:none}#intro{top:18%;left:7%;width:75%}h1 span{font-size:43px}.introquote{font-size:18px;margin:18px 0;max-width:270px}.introtext{font-size:15px;max-width:260px}.primary{font-size:15px;padding:13px 17px}.hotspot span{display:none}.hotspot b{width:48px;height:48px;flex-basis:48px;font-size:17px}.focused #chapter{top:27%;right:0;left:0;bottom:108px;width:100%;border-radius:13px 13px 0 0}.chapter-top{padding:11px 22px 0}#chapterScroll{padding:16px 23px}h2{font-size:31px}#chapterLead{font-size:16px;margin-bottom:13px}#content{font-size:16px}.chapter-nav{padding:12px 20px}.focused #location{display:none}#chapterIndex{overflow-x:auto;justify-content:flex-start;scrollbar-width:none;gap:0}#chapterIndex button{flex:0 0 auto;padding:10px 12px;font-size:14px}footer{padding:10px 16px 14px}#hint{max-width:70%}.tabs button{padding:10px 7px}.footer-bottom{font-size:12px}.pdf{margin-top:17px}.focused .hotspot.selected{opacity:0}}@media(max-height:650px) and (min-width:761px){#intro{top:20%}h1 span{font-size:39px}.introquote{margin:15px 0;font-size:18px}.introtext{font-size:14px}.primary{margin-top:14px}#chapter{top:85px;bottom:110px}header{padding-top:16px}.brand span{margin-top:4px}.chapter-top{padding-top:8px}#chapterScroll{padding-top:14px}h2{font-size:29px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
