/* The reference hall is the second main entrance into the site. */
.hall-portal{background:#dce6ee;padding:40px 5% 30px;border-top:1px solid #8b9ead;border-bottom:1px solid #8b9ead;overflow:hidden}
.portal-rule,.portal-credit{display:flex;justify-content:space-between;gap:20px;font:10px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.portal-content{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:5%;padding:60px 0 35px}.portal-heading h2{font:900 clamp(55px,7vw,115px)/.85 var(--display);letter-spacing:-.015em;margin:20px 0 25px}.portal-heading h2 em{font-style:normal;color:#003ed0}.portal-heading p{max-width:45ch;font-size:14px;line-height:1.9}.portal-enter{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#003ed0;color:white;padding:20px 24px;margin:28px 0 15px;text-decoration:none;font-weight:700}.portal-enter b{font-size:34px;font-weight:400}.portal-room{position:relative;display:block;aspect-ratio:1.4;background:linear-gradient(165deg,#e8eef3 10%,#a8c2d4 68%,#e2ebf1 100%);border:10px solid #9aafbf;outline:1px solid #647c8c;box-shadow:12px 22px 40px #243b5030,inset 0 0 0 2px #f5f9fc;perspective:800px;overflow:hidden;text-decoration:none;color:#003ed0}.portal-room:before{content:'';position:absolute;inset:25% 10% 19%;background:#e4ebef;border:10px solid #a8bccb;box-shadow:0 0 0 2px #788d9d,inset 0 0 20px #788d9d33}.portal-ceiling{position:absolute;inset:0 0 65%;background:repeating-linear-gradient(90deg,transparent 0 23%,#b8cbd8 24% 25%);transform:rotateX(-50deg);transform-origin:top}.portal-floor{position:absolute;inset:58% -20% -50%;background:repeating-linear-gradient(90deg,transparent 0 9.8%,#7c98ad55 10% 10.2%),repeating-linear-gradient(0deg,transparent 0 14.8%,#7c98ad55 15% 15.2%),#d4e0e7;transform:rotateX(60deg);transform-origin:top}.portal-room-sign{position:absolute;top:12%;left:20%;right:20%;text-align:center;font:900 40px/.9 var(--display);letter-spacing:.02em}.portal-room-sign small{font:10px/2 var(--mono);letter-spacing:.3em}.portal-photo{position:absolute;display:block;padding:7px 7px 0;background:#f0f3f5;border:3px solid #8ca3b5;box-shadow:5px 12px 16px #16334735;margin:0;width:27%;height:47%;top:34%}.portal-photo img{width:100%;height:85%;object-fit:contain!important;background:#e6ebed}.portal-photo figcaption{font:6px/1.3 var(--mono);padding:4px 0;white-space:nowrap;overflow:hidden}.portal-photo-0{left:8%;transform:rotateY(23deg)}.portal-photo-1{left:37%;top:32%;height:43%;width:25%}.portal-photo-2{right:8%;transform:rotateY(-23deg)}.portal-roundel{position:absolute;right:15px;bottom:15px;border:1px solid #003ed0;border-radius:50%;display:grid;place-items:center;width:65px;height:65px;background:#eef4f6e8;font:700 18px var(--mono)}
.reference-world{margin:0 3%;border:1px solid #859db1;background:#dae5ed}.world-topline,.world-bottomline{padding:14px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;font:10px/1.7 var(--mono)}.world-bottomline p{margin:0}.world-topline a{color:#003ed0}.world-stage{position:relative;height:min(72vw,760px);min-height:560px;background:radial-gradient(ellipse at 50% 20%,#f5f8fa,#c0d5e3);isolation:isolate;overflow:hidden}.world-stage>canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;outline-offset:-5px}.world-is-open .world-stage>canvas{touch-action:none;cursor:grab}.world-is-open .world-stage>canvas:active{cursor:grabbing}.world-start{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:30px}.world-start h2{font:900 clamp(48px,6vw,95px)/.95 var(--display);max-width:11ch;color:#003ed0;margin:0 0 18px}.world-start p{font:10px/1.8 var(--mono)}.world-grid{position:absolute;inset:60% -20% -40%;background:repeating-linear-gradient(90deg,transparent 0 9.9%,#7092ab33 10% 10.2%),repeating-linear-gradient(0deg,transparent 0 9.9%,#7092ab33 10% 10.2%);transform:perspective(300px) rotateX(55deg);transform-origin:top}.world-is-open .world-start,.world-is-open .world-grid{display:none}.world-tools{position:absolute;inset:0;pointer-events:none;z-index:3}.world-tools button,.world-tools label{pointer-events:auto}.world-tools button{border:1px solid #607d95;background:#f1f5f8ec;color:#13334b;min-height:44px;padding:9px 15px;font:11px/1.4 var(--mono);cursor:pointer}.world-tools button:hover{background:#003ed0;color:#fff}.world-tools button:disabled{opacity:.5;cursor:default}.world-zone-nav{position:absolute;inset:18px 18px auto;display:flex;flex-wrap:wrap;gap:7px}.world-zone-nav button:nth-last-child(2){margin-left:auto}.world-info{position:absolute;left:22px;bottom:82px;width:320px;background:#f0f5f8ed;border-left:3px solid #003ed0;padding:18px 20px;box-shadow:0 8px 25px #36526812}.world-info>span{font:10px var(--mono);color:#003ed0}.world-info h2{font:900 30px/.98 var(--display);margin:12px 0}.world-info p{font-size:11px;line-height:1.7;margin:0 0 13px}.world-info button{background:#003ed0;color:#fff;border:0}.world-guide{position:absolute;bottom:20px;left:22px;display:flex;align-items:center;gap:14px;background:#f0f5f8ed;border:1px solid #7894aa;padding:5px}.world-guide span{font:10px var(--mono)}.world-guide button{font-size:20px;border:0;background:transparent;width:48px}.world-walk{position:absolute;bottom:23px;right:22px;display:flex;align-items:center;gap:10px;background:#f1f5f8ed;padding:12px;font:11px var(--mono);min-height:44px}.world-walk input{accent-color:#003ed0;width:18px;height:18px}.world-touch{position:absolute;right:22px;bottom:86px;display:none;grid-template-columns:44px 44px 44px;gap:4px}.is-walking .world-touch{display:grid}.world-touch button:first-child{grid-column:2}.world-touch button:nth-child(2){grid-column:1}.world-help{padding:8px 24px 18px;margin:0;font:10px/1.8 var(--mono);max-width:100ch}.reference-gallery{scroll-margin-top:90px}.gallery-intro{max-width:72ch;line-height:1.9}.reference-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:end;margin:40px 0}.reference-filter label{font:11px/1.8 var(--mono)}.reference-filter input,.reference-filter select{display:block;background:#edf2f5;width:100%;border:1px solid #8da2b4;padding:13px;font:16px var(--body);min-width:0;color:#1b3348}.reference-filter output{font:12px var(--mono);padding:15px}.reference-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.reference-card{border-bottom:1px solid #8ba1b3;padding-bottom:28px;min-width:0}.reference-card[hidden]{display:none}.reference-cover{position:relative;background:#dce5eb;padding:15px;height:300px;display:grid;place-items:center}.reference-cover img{width:100%;height:100%;max-height:270px;object-fit:contain!important;clip-path:none!important;filter:none!important}.reference-cover>span{position:absolute;bottom:12px;right:12px;background:#eaf0f4e8;padding:5px 7px;font:9px var(--mono)}.reference-card-copy{padding:18px 0}.reference-card small{font:9px var(--mono);color:#003ed0;text-transform:uppercase}.reference-card h3{font:900 34px/.98 var(--display);margin:13px 0}.reference-card p{font-size:12px;line-height:1.85;min-height:5.6em}.reference-card button.text-link{font:11px var(--mono);padding:10px 0;background:none;border:0;cursor:pointer}.reference-card details{font-size:11px;margin-top:10px}.reference-card summary{cursor:pointer;padding:10px 0}.reference-extra{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.reference-extra button{padding:5px;background:#e0e8ee;border:0;cursor:zoom-in}.reference-extra img{width:100%;height:140px;object-fit:contain}.js-reference-view{display:none}.js .js-reference-view{display:inline-flex}.archive-link{padding-top:50px;padding-bottom:70px}.hall-makers{padding-top:45px;padding-bottom:45px;border-top:1px solid #8ba1b3;border-bottom:1px solid #8ba1b3;margin-bottom:70px}.hall-makers h2{font:900 clamp(34px,4vw,65px)/1 var(--display);color:#003ed0}.hall-makers p{font-size:14px}.hall-makers>div{display:flex;gap:30px;font:12px var(--mono)}.reference-dialog{width:min(1080px,96vw);height:min(850px,94dvh);max-height:94dvh;background:#edf2f6;color:#1b3348;border:1px solid #7b94a8;padding:24px}.reference-dialog::backdrop{background:#172735d9}.reference-dialog>button{float:right;border:1px solid #899eae;padding:12px;background:#edf2f6;cursor:pointer}.reference-dialog h2{font:900 32px/1.1 var(--display);margin:0 180px 15px 0}.reference-dialog>img{display:block;width:100%;height:calc(100% - 190px);min-height:170px;object-fit:contain!important;background:#d9e3ea}.photo-navigation{display:flex;justify-content:center;gap:25px;align-items:center;margin:10px}.photo-navigation button{font-size:22px;border:1px solid #9bafbe;min-width:48px;min-height:44px;background:#f2f5f7}.photo-navigation span{font:11px var(--mono)}.photo-thumbs{display:flex;gap:8px;overflow-x:auto;max-width:100%}.photo-thumbs button{background:#d8e4eb;border:2px solid transparent;padding:3px;cursor:pointer;flex:none}.photo-thumbs button[aria-pressed=true]{border-color:#003ed0}.photo-thumbs img{display:block;width:65px;height:55px;object-fit:contain!important}
@media(max-width:900px){.reference-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-content{gap:4%}.portal-heading h2{font-size:65px}.portal-heading p{font-size:12px}.portal-enter{font-size:12px;padding:15px}.portal-room-sign{font-size:30px}.portal-photo figcaption{display:none}.world-stage{height:78vw;min-height:600px}.world-zone-nav{gap:4px;inset:12px}.world-tools button{font-size:9px;padding:8px 11px}.world-info{width:260px}.portal-credit{font-size:8px}}
@media(max-width:620px){.hall-portal{padding:25px 22px}.portal-rule{font-size:8px;flex-wrap:wrap;gap:5px}.portal-content{display:flex;flex-direction:column;padding:30px 0;gap:35px}.portal-heading h2{font-size:64px}.portal-room{width:100%;border-width:6px}.portal-credit{font-size:8px;flex-wrap:wrap;gap:7px}.portal-credit>span:last-child{display:none}.reference-world{margin:0 10px}.world-stage{height:720px;min-height:0}.world-topline,.world-bottomline{padding:12px;flex-wrap:wrap;font-size:8px;gap:8px}.world-start h2{font-size:65px}.world-info{left:12px;right:12px;bottom:81px;width:auto;padding:12px 14px;pointer-events:auto}.world-info h2{font-size:27px;margin:7px 0}.world-info p{font-size:10px;margin-bottom:8px}.world-info button{min-height:38px}.world-zone-nav{inset:10px 10px auto}.world-zone-nav button{flex:1}.world-zone-nav button:nth-last-child(2){margin:0}.world-guide{bottom:13px;left:12px;gap:7px}.world-guide button{width:35px}.world-walk{bottom:16px;right:12px;font-size:9px;padding:8px;gap:6px}.world-walk input{width:16px}.world-touch{bottom:260px;right:12px}.world-help{font-size:9px;padding:12px}.reference-cards{grid-template-columns:1fr;gap:20px}.reference-cover{height:320px}.reference-filter{grid-template-columns:1fr;gap:15px;margin:25px 0}.reference-filter output{padding:0}.reference-card p{min-height:0}.reference-dialog{padding:15px}.reference-dialog h2{margin-right:0;padding-top:60px;font-size:26px}.reference-dialog>button{position:absolute;right:15px;top:15px}.reference-dialog>img{height:calc(100% - 225px)}.hall-makers>div{flex-wrap:wrap;gap:18px}.hall-makers p{font-size:12px}}
/* Homepage: an asymmetrical invitation, hall at left and type at right, both in the first screen. */
.hero.has-film .hero-stage{height:56.25vw;min-height:660px;max-height:1000px;padding:0}
.hero.has-film .hero-topic{inset:115px 5% auto;font-size:9px;color:#17344d}
.hero.has-film .hero-heading{position:absolute;inset:auto 5% 72px auto;width:43%;margin:0;z-index:6;animation:hero-type-arrive 1.8s .5s both}
.hero.has-film .hero-title,.hero.has-film.is-plan .hero-title{width:100%;margin:0;max-width:none}
.hero.has-film .hero-heading h1{margin:0;line-height:0}
.hero-entrance{position:absolute;left:5%;bottom:55px;width:40%;max-width:650px;z-index:7;text-decoration:none;color:#0d2f4b;display:block;filter:drop-shadow(0 12px 22px #1b34481a)}
.hero-entrance-frame{position:relative;padding:7px;background:linear-gradient(135deg,#f1f5f8,#8299ab 40%,#e8f0f4 65%,#9aafbd);border:1px solid #5c778d;box-shadow:inset 0 0 0 1px #edf5f9}
.hero-entrance img{display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:contain;background:#d6e3ed}
.hero-entrance .entrance-label{position:absolute;top:18px;left:18px;background:#f0f6f9ed;padding:9px 12px;font:10px var(--mono);color:#003ed0;border:1px solid #8ca5b8}
.hero-entrance-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#003ed0;color:#fff;padding:18px 20px;font:700 18px/1.2 var(--body)}
.hero-entrance-cta b{font-size:34px;font-weight:400}.hero-entrance-note{display:block;padding:10px 0;font:9px/1.5 var(--mono);letter-spacing:.035em}
.hero.has-film .film-wash{background:linear-gradient(0deg,#e6edf5f2 0%,#e6edf5dd 15%,#e6edf533 59%,#e6edf566 100%)}
.hero.has-film .sketch-blueprint{inset:14% 8% auto auto;width:50%;height:46%}.hero.has-film .sketch-process{right:5%;left:auto;bottom:40%;width:43%}.hero.has-film .film-caption{right:5%;bottom:20px}
@keyframes hero-type-arrive{from{opacity:0}to{opacity:1}}
@media(min-width:621px) and (max-height:780px){.hero.has-film .hero-stage{min-height:570px;height:calc(100svh - 20px)}.hero-entrance{width:36%;bottom:35px}.hero.has-film .hero-heading{bottom:65px;width:45%}.hero-entrance img{aspect-ratio:2.05}}
@media(max-width:900px){.hero.has-film .hero-heading{bottom:90px;width:43%}.hero-entrance{width:43%;left:4%;bottom:60px}.hero-entrance-cta{font-size:14px;padding:13px}.hero-entrance-note{font-size:8px}.hero.has-film .hero-topic{inset:110px 4% auto;font-size:8px}}
@media(max-width:620px){.hero.has-film .hero-stage{height:auto;max-height:none;min-height:0;padding:145px 22px 28px;display:flex;flex-direction:column;gap:20px}.hero.has-film .hero-film{height:100%;max-height:none}.hero.has-film .hero-film video{height:56.25vw;min-height:250px;object-fit:cover;object-position:center}.hero.has-film .hero-topic{position:relative;inset:auto;margin:0;font-size:7px;line-height:1.8}.hero.has-film .hero-topic>span{font-size:6.5px}.hero-entrance{position:relative;inset:auto;width:100%;max-width:none;order:1}.hero-entrance img{aspect-ratio:1.85}.hero-entrance-cta{font-size:15px;padding:14px 15px}.hero-entrance .entrance-label{font-size:8px;padding:7px;top:14px;left:14px}.hero-entrance-note{font-size:8px;padding-bottom:0}.hero.has-film .hero-heading{position:relative;inset:auto;width:100%;order:2;margin:4px 0 0;animation:none}.hero.has-film .hero-title,.hero.has-film.is-plan .hero-title{width:100%}.hero.has-film .film-wash{background:linear-gradient(0deg,#e4ecf4 0%,#e4ecf4fa 40%,#e4ecf455 78%,#e4ecf444)}.hero.has-film .sketch-blueprint{inset:0;opacity:.35;width:100%;height:250px}.hero.has-film .sketch-process{display:none}}
.world-stage{height:min(72vw,650px);min-height:520px}
@media(max-width:620px){.world-stage{height:700px;min-height:0}}
@media(prefers-reduced-motion:reduce){.hero.has-film .hero-heading{animation:none}.portal-room *{transition:none}}
.motion-off .hero.has-film .hero-heading{animation:none}
body:has(.world-is-open) .whatsapp-case{visibility:hidden;pointer-events:none}
.world-info{backdrop-filter:blur(12px)}
.hero.has-film .hero-film video{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.hero-entrance-frame{background:linear-gradient(135deg,#f4f8fc79,#a8bfce57 42%,#edf5fa69);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#829bab99;box-shadow:inset 0 0 0 1px #f5faff9c,0 8px 25px #13314c18}
.hero-entrance img{opacity:.82;background:#d6e3ed55;transition:opacity .35s}
.hero-entrance-cta{background:#003ab8d9}.hero-entrance:hover img,.hero-entrance:focus-visible img{opacity:1}
.reference-world{scroll-margin-top:-100px}
.portal-room{aspect-ratio:16/9;background:#dce7ee}.portal-room:before{display:none}.portal-preview{display:block;width:100%;height:auto;object-fit:contain!important}.portal-room .portal-roundel{background:#edf5fae8}
.whatsapp-case.intro-in-view{visibility:hidden;pointer-events:none}
@media(max-height:500px) and (orientation:landscape){.hero.has-film .hero-stage{height:100svh;min-height:0;max-height:none;padding:0;display:block}.hero.has-film .hero-topic{position:absolute;inset:100px 4% auto;font-size:7px}.hero.has-film .hero-topic>span{font-size:6px}.hero-entrance{position:absolute;inset:auto auto 14px 4%;width:39%;margin:0}.hero-entrance img{height:auto;aspect-ratio:2.5}.hero-entrance-cta{padding:9px 12px;font-size:12px}.hero-entrance-cta b{font-size:25px}.hero-entrance-note,.hero-entrance .entrance-label{display:none}.hero.has-film .hero-heading{position:absolute;inset:auto 4% 35px auto;width:48%;margin:0}.hero.has-film .film-caption{display:none}.hero.has-film .hero-film,.hero.has-film .hero-film video{height:100%;max-height:none}}
@media(max-width:620px){.world-stage{height:calc(100svh - 105px);min-height:540px;max-height:760px}.world-info p{display:none}.world-info h2{font-size:24px}.world-info{bottom:77px;padding:10px 13px}.world-info button{min-height:38px}.world-info>span{font-size:9px}}
@media print{.reference-world,.reference-filter,.js-reference-view{display:none}.reference-cards{display:block}.reference-card{break-inside:avoid}.reference-card details{display:block}.reference-card p{min-height:0}}
.reference-card button.text-link::after,.archive-link .text-link::after{content:none}

/* Additional original archive photographs retain their full composition. */
.archive-additions .gallery-grid{margin:35px 0}.archive-additions .gallery-item img{width:100%;height:290px;object-fit:contain!important;background:#e4eaf0}.archive-additions .gallery-item button{width:100%}.archive-additions .gallery-item figcaption{font-size:13px;line-height:1.5}.archive-additions>.button{margin-top:20px}@media(max-width:620px){.archive-additions .gallery-item img{height:270px}}

/* One shared reference list: every photograph is visible without a second archive link. */
.reference-photo{margin:0}.reference-photo-open{display:block;width:100%;border:0;padding:0;background:transparent;text-align:left;cursor:zoom-in}.reference-photo .reference-cover{display:block}.reference-photo .reference-card-copy{position:relative;padding:20px 22px 24px}.reference-photo h3{font-size:25px;line-height:1.08;margin:12px 0;min-height:2.2em}.reference-view-number{font:10px var(--mono);color:#4c6174}.reference-anchor{display:block;scroll-margin-top:110px}.reference-photo [hidden]{display:none}@media(max-width:620px){.reference-photo h3{font-size:25px;min-height:0}.reference-photo .reference-cover{height:270px}}
