/* Royal College Street adaptation of the Far Thatch presentation template. */
#assembly-control{position:absolute;z-index:6;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;cursor:pointer;color:#60684e;pointer-events:auto}
#assembly-control[hidden]{display:none}
.assembly-icon{display:grid;place-items:center;width:39px;height:39px;border:1px solid #939b82;border-radius:50%;background:#f8f8efed;box-shadow:0 2px 9px #434b3320;transition:background .2s,transform .2s}
.assembly-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.05;stroke-linejoin:round;stroke-linecap:round}
.assembly-caption{font:9px/1.3 Arial,sans-serif;letter-spacing:.4px;background:#f8f8efeb;padding:3px 6px;border:1px solid #dedfd3}
#assembly-control:hover .assembly-icon{background:#e4e9d8;transform:scale(1.06)}
#assembly-control:focus-visible .assembly-icon{outline:2px solid #7f8e69;outline-offset:3px}
.tour-marker{position:absolute;z-index:6;display:grid;justify-items:center;gap:7px;transform:translate(-50%,-21px);padding:0;color:#505944}
.tour-marker[hidden],.tour-toolbar[hidden],.tour-hint[hidden]{display:none}
.tour-disc{display:grid;place-items:center;width:41px;height:41px;border:1px solid #879174;border-radius:50%;background:#f8f8ef;outline:1px solid #f8f8efaa;outline-offset:4px;box-shadow:0 2px 12px #343b2866;font-size:11px;transition:background .2s}
.tour-marker:hover .tour-disc,.tour-marker:focus-visible .tour-disc{background:#e3e9d7}
.tour-toolbar{position:absolute;z-index:8;top:24px;left:5%;right:5%;display:flex;gap:12px;align-items:center;justify-content:space-between;pointer-events:none}
.tour-toolbar button,.tour-heading,.tour-hint{border:1px solid var(--line);background:#f7f6eeeb;padding:11px 14px;font-size:11px;pointer-events:auto}
.tour-toolbar button:hover{background:#e8ecdf}
.tour-toolbar>div{display:flex;gap:4px}
.tour-heading{letter-spacing:.08em}
.tour-hint{position:absolute;z-index:8;bottom:24px;left:50%;transform:translateX(-50%);margin:0;max-width:94%;text-align:center;pointer-events:none}
.tour-hotspot{position:absolute;z-index:9;display:grid;place-items:center;transform:translate(-50%,-50%);width:42px;height:42px;border:2px solid #fffdf1;border-radius:50%;background:#59684ab8;color:#fffdf1;box-shadow:0 2px 12px #232c2180;cursor:pointer;touch-action:manipulation}
.tour-hotspot[hidden]{display:none}
.tour-hotspot span{width:10px;height:10px;border:2px solid currentColor;border-radius:50%}
.tour-hotspot::before{content:'';position:absolute;inset:-3px;border:1px solid #fffdf1;border-radius:50%;pointer-events:none;animation:tour-pulse 1.8s ease-out infinite}
.tour-hotspot::after{content:attr(data-label);position:absolute;top:calc(100% + 8px);padding:6px 8px;background:#f7f6ee;color:#34402b;font-size:10px;white-space:nowrap;pointer-events:none;opacity:0}
.tour-hotspot:hover::after,.tour-hotspot:focus-visible::after{opacity:1}
@keyframes tour-pulse{0%{opacity:.9;transform:scale(.9)}85%,100%{opacity:0;transform:scale(1.65)}}
@media(prefers-reduced-motion:reduce){.tour-hotspot::before{animation:none}}
#stage.tour-open #viewer{z-index:7;cursor:grab}
#stage.tour-open #viewer:active{cursor:grabbing}
#stage.tour-open>:not(#viewer,.tour-toolbar,.tour-hint,.tour-hotspot){visibility:hidden}
@media(max-width:700px){.tour-toolbar{flex-wrap:wrap;top:12px;gap:6px}.tour-heading{display:none}.tour-toolbar button,.tour-hint{padding:9px;font-size:10px}}
.intro{transition:opacity .6s ease,transform .7s ease}
.panel:not([hidden]){animation:floor-panel-in .5s ease both}
@keyframes floor-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.panel:not([hidden]){animation:none}.intro{transition:none}}
.courtyard-mode .intro{opacity:0;pointer-events:none}.courtyard-mode #stage:before{background:linear-gradient(0deg,#eeece5 0%,#eeece500 12%)}
:root{--ink:#393c35;--olive:#73755d}
.wordmark{font-size:19px;letter-spacing:1.35px}.wordmark small{font-size:8px;letter-spacing:2px;margin-top:8px}
#fullscreen{padding:8px;width:35px;height:35px}#fullscreen svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.2}
.intro{top:12%;max-width:430px}.intro .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:25px}h1{font-size:clamp(36px,3.6vw,62px)}.intro-copy{line-height:1.8}.intro-action{pointer-events:auto;margin-top:20px;padding:13px 0;border-bottom:1px solid #aaa997;font-size:10px;letter-spacing:1.3px}.intro-action span{padding-left:35px;font-size:17px}
.overview-plan{top:auto;bottom:88px;width:220px}.plan-image-button img{height:142px;padding:0}.plan-card{width:100%;text-align:left}.plan-heading{font-size:9px}#plan-caption{display:block;font-size:9px;color:var(--muted);margin-top:10px}.overview-plan .plan-heading{justify-content:space-between}
.panel{width:300px;top:50px;bottom:90px;background:#eeece5e8}.panel h2{font-size:37px}.panel .back{font-size:9px}.source-note,.panel .source-note{font-size:10px!important;line-height:1.7!important;color:var(--muted)}#selected-plan .plan-image-button img{height:155px}#section-toggle{font-size:10px}
.daylight{width:225px;top:65px}.view-controls{top:39%}.viewpoints{position:absolute;z-index:3;right:3.5%;bottom:85px;font-size:9px;letter-spacing:1px}
.viewpoints summary,.viewpoint-options{border:1px solid var(--line);background:#f6f5efed;backdrop-filter:blur(12px)}
.viewpoints summary{list-style:none;cursor:pointer;padding:12px 16px}
.viewpoints summary::-webkit-details-marker{display:none}
.viewpoints summary::after{content:"+";margin-left:16px}
.viewpoints[open] summary::after{content:"−"}
.viewpoint-options{position:absolute;right:0;bottom:calc(100% + 5px);display:flex;width:max-content}
.viewpoint-options button{font-size:inherit;letter-spacing:inherit;white-space:nowrap;padding:13px 17px}
.viewpoint-options button[aria-pressed=true]{background:#dcdfd3}
.viewpoints summary:hover,.viewpoint-options button:hover{background:#e3e5db}
.part-nav{gap:27px}.part-nav button{min-width:100px;font-size:11px}.part-nav button span{margin-right:12px}
.stage-bottom{left:5%;right:3.5%;bottom:27px}.stage-bottom .study-label{font-size:8px}.stage-bottom p{font-size:10px}.scale{font-size:9px}#stage:before{background:linear-gradient(90deg,#eeece5f5 0%,#eeece5e0 19%,#eeece500 40%),linear-gradient(0deg,#eeece5 0%,#eeece500 14%)}
#image-fallback{position:absolute;inset:0 0 0 23%;display:flex;flex-direction:column;align-items:center;justify-content:center}#image-fallback img{width:90%;height:80%;object-fit:contain;mix-blend-mode:multiply}#image-fallback p{font-size:11px;color:var(--muted);z-index:2;max-width:400px;text-align:center}.model-unavailable .view-controls>button:not(#plan-toggle),.model-unavailable .daylight,.model-unavailable .viewpoints,.model-unavailable #section-toggle{display:none}.model-unavailable .scale{display:none}
.gallery-feature figcaption{gap:25px}.gallery-feature figcaption>span:last-child{font-size:8px}.gallery-thumbs{flex-wrap:wrap}.gallery-thumbs button{width:140px}.gallery-thumbs img{height:82px}.gallery-image-wrap{height:calc(100svh - 350px);min-height:330px}.gallery-image-wrap img{height:100%;object-fit:contain;width:100%}
.load-brand{font-size:22px;letter-spacing:3px;text-align:center}.selected .intro-action{pointer-events:none}
@media(min-width:1500px){.overview-plan{width:260px;bottom:100px}.plan-image-button img{height:175px}.panel{width:330px}.panel h2{font-size:41px}}
@media(max-height:800px) and (min-width:701px){.intro{top:9%}.intro .eyebrow{margin-bottom:18px}.intro-copy{display:none}.intro-action{margin-top:18px}.overview-plan{top:auto;bottom:76px;width:190px}.plan-image-button img{height:105px}.panel{top:20px;bottom:70px}.panel h2{font-size:31px}.panel .back{margin-bottom:12px}#selected-plan .plan-image-button img{height:113px}.panel>p:not(.eyebrow){font-size:12px}.panel dl{margin:12px 0}.panel dl>div{padding:8px 0}}
@media(max-width:1100px){.wordmark{font-size:15px;letter-spacing:.7px}header nav{gap:22px}.part-nav{gap:18px}.part-nav button{min-width:80px}.intro{max-width:330px}.intro h1{font-size:40px}.stage-bottom .study-label{display:none}.stage-bottom{justify-content:center}}
@media(max-width:700px){header{margin:0 5%;height:86px;flex-wrap:wrap;align-content:center;gap:12px}.wordmark{font-size:13px;letter-spacing:.8px}.wordmark small{font-size:7px;margin-top:5px}header nav{gap:20px;order:3;width:100%;justify-content:center}header nav button{padding:2px 0 6px;font-size:8px}#fullscreen{width:24px;height:24px;margin-left:auto}#fullscreen svg{width:17px;height:17px}#stage{height:calc(100svh - 168px);min-height:650px}.intro{top:47px;left:6%;max-width:90%}.intro .eyebrow{font-size:8px;margin-bottom:16px}.intro h1{font-size:38px}.intro-action{margin-top:12px;font-size:8px;padding:10px 0}.intro-copy{display:none}.top-meta{top:20px;right:6%;font-size:7px}.overview-plan{bottom:113px;width:145px;left:6%;top:auto}.plan-image-button img{height:103px}.plan-heading{font-size:7px}.plan-heading span:last-child{display:none!important}#plan-caption{font-size:8px;margin-top:6px}.viewpoints{right:6%;bottom:58px;font-size:8px}.viewpoint-options{max-width:88vw}.viewpoint-options button{padding:12px 10px}.daylight{right:5%;top:210px;width:165px}.daylight summary{font-size:8px;padding:10px;gap:7px}.daylight summary>span{font-size:17px}.daylight-body{padding:4px 12px 12px}.view-controls{top:47%;right:5%}.stage-bottom{bottom:22px;left:5%;right:5%}.stage-bottom p{font-size:9px}.scale{display:none}.part-nav{gap:0;justify-content:space-between}.part-nav button{min-width:0;font-size:9px;padding:0 4px;letter-spacing:.3px}.part-nav button span{font-size:8px;margin-bottom:6px}.panel{top:auto;left:5%;right:5%;width:auto;bottom:110px;max-height:240px;padding:15px}.panel h2{font-size:28px;margin-bottom:12px}.panel .back{margin-bottom:12px}.panel .eyebrow{font-size:8px;margin-bottom:8px}#selected-plan .plan-card{float:right;width:40%;margin:0 0 10px 15px}#selected-plan .plan-image-button img{height:104px}.panel>p:not(.eyebrow){font-size:12px;line-height:1.6}.panel dl{clear:both;margin:12px 0}.panel dl>div{padding:7px 0}.selected .view-controls{top:15%}.selected .daylight{top:18px}.selected #stage:before{background:linear-gradient(0deg,#eeece5 0%,#eeece500 50%)}#stage:before{background:linear-gradient(180deg,#eeece5f2 0%,#eeece500 43%),linear-gradient(0deg,#eeece5 0%,#eeece500 26%)}#image-fallback{inset:130px -70px 190px -70px}#image-fallback img{width:100%;height:100%}#image-fallback p{position:absolute;bottom:-24px;font-size:8px}.gallery-image-wrap{height:48svh;min-height:220px}.gallery-head h1{font-size:30px}.gallery-feature figcaption{font-size:8px;flex-direction:column;gap:7px}.gallery-thumbs button{width:calc((100% - 24px)/3)}.load-brand{font-size:15px;letter-spacing:2px;padding:20px}.plan-dialog .expanded-plan-scroll img{min-width:0}.plan-dialog .expanded-plan-scroll{max-height:65svh;overflow:auto}}





#stage:not(.tour-open) #viewer canvas{filter:saturate(.8)}
.bridge-gallery-marker{position:absolute;z-index:6;display:grid;place-items:center;width:38px;height:42px;padding:3px;background:#3b4436a8;color:#faf8ef;border:1px solid #faf8ef9c;border-radius:50%;transform:translate(-50%,-82%);box-shadow:0 2px 8px #23282440}
.bridge-gallery-marker[hidden]{display:none}
.bridge-gallery-marker:hover,.bridge-gallery-marker:focus-visible{background:#48553d}
.bridge-gallery-marker svg{width:29px;height:34px;fill:currentColor}
.bridge-gallery-marker ellipse{fill:none;stroke:currentColor;stroke-width:1.1}
