/* Objects are constructed from live elements. All lettering remains in normal flow. */
.arch-object{--ink:#493b2e;--accent:#ad8950;--paper:#f5ecda;position:relative;isolation:isolate;width:100%;max-width:820px;margin-inline:auto;color:var(--ink);box-sizing:border-box;font-family:Georgia,'Times New Roman',serif}
.arch-object *,.arch-object *::before,.arch-object *::after{box-sizing:border-box}
.arch-object [hidden]{display:none!important}
.arch-object .programme-lettering{position:relative;z-index:2;width:100%;min-width:0;color:inherit;text-align:center;overflow-wrap:anywhere;text-shadow:none;mix-blend-mode:normal}
.arch-object .programme-lettering .programme-number{display:block;font:500 14px/1.5 'DM Sans',Arial,sans-serif!important;letter-spacing:.16em!important;margin:0 0 22px!important;color:inherit}
.arch-object .programme-lettering time{display:block;font:500 clamp(23px,4cqi,32px)/1.3 'Cormorant Garamond',Georgia,serif!important;letter-spacing:.03em!important;margin:0 0 16px!important}
.arch-object .programme-lettering h4{font:500 clamp(30px,5cqi,47px)/1.12 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.02em!important;text-transform:none!important;margin:0 0 22px!important;overflow-wrap:anywhere}
.arch-object .programme-lettering p{font:400 17px/1.65 'DM Sans',Arial,sans-serif!important;letter-spacing:0!important;margin:0!important;white-space:pre-line;overflow-wrap:anywhere}
.arch-ornament{display:block;width:clamp(90px,24cqi,180px);height:auto;max-width:100%;margin:0 auto;color:var(--accent)}
.arch-controls.programme-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:26px auto 15px;padding:0;color:var(--ink)}
.arch-controls.programme-controls button{width:62px;min-height:46px;height:auto;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:3px;background:var(--paper);color:var(--ink);display:grid;place-items:center;padding:10px;box-shadow:0 2px 0 color-mix(in srgb,var(--accent) 25%,transparent);cursor:pointer}
.arch-controls.programme-controls button svg{width:32px;height:23px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.arch-controls.programme-controls button:disabled{opacity:.35;cursor:default;box-shadow:none}
.arch-controls.programme-controls p{font:400 15px/1.3 'DM Sans',Arial,sans-serif!important;letter-spacing:.1em;margin:0!important}
.arch-index.programme-time-index{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 10px;padding:0;max-width:100%}
.arch-index.programme-time-index button{font:400 14px/1.4 'DM Sans',Arial,sans-serif!important;letter-spacing:0!important;min-width:48px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink);cursor:pointer}
.arch-index.programme-time-index button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--paper) 80%,transparent)}
.arch-object button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.arch-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Castle Rooms: stone cornice, inset tablet, open carved walnut leaves. */
.crafted-rooms{--ink:#4f3a25;--accent:#a98248;--paper:#f7efd9;max-width:760px;padding:0 14px 12px}
.arch-room{--arch-door-angle:77deg;position:relative;padding:34px 15px 0;perspective:1200px}
.arch-room-cornice{position:relative;height:86px;margin:0 -5px;z-index:3;border:1px solid #beaa88;background:linear-gradient(#efe6ce 0 10%,#b7a27e 11% 15%,#eee4ce 17% 65%,#cbb994 67% 73%,#f3e9d4 75% 86%,#a78a5e 90%,#d8c9a9 92%);box-shadow:0 5px 5px #3a271927,0 1px 0 #fff9 inset}
.arch-room-pediment{position:absolute;inset:-31px 15% auto;height:52px;background:linear-gradient(150deg,#f1e9d7,#c6b08a);clip-path:polygon(50% 0,100% 62%,100% 77%,0 77%,0 62%);filter:drop-shadow(0 3px 2px #785532)}
.arch-room-crest{position:absolute;inset:13px 0 auto;display:grid;place-items:center}
.arch-room-crest .arch-ornament{width:160px;height:40px}
.arch-room-portal{position:relative;padding:0 35px;background:linear-gradient(90deg,#a28662,#eee1c6 6%,#dfd2b5 9%,#b49a73 13%,#634832 14%,#634832 86%,#b49a73 87%,#dfd2b5 91%,#eee1c6 94%,#a28662);border-inline:1px solid #9c7c54}
.arch-room-column{position:absolute;top:0;bottom:-9px;width:28px;background:repeating-linear-gradient(90deg,#c5ae87 0 3px,#f0e1c3 4px 7px,#bba17a 9px 10px);box-shadow:0 0 4px #5f412942;z-index:5}
.arch-room-column-left{left:1px}.arch-room-column-right{right:1px}
.arch-room-column::before,.arch-room-column::after{content:"";position:absolute;left:-5px;right:-5px;height:22px;background:linear-gradient(#e9dabc,#ae9369 28%,#eadbc0 35% 65%,#a88b61 68%,#d9c3a0);box-shadow:0 2px 3px #5b42233d}
.arch-room-column::before{top:0}.arch-room-column::after{bottom:0}
.arch-room-chamber{position:relative;isolation:isolate;perspective:1100px;min-height:430px;padding:28px clamp(32px,7.8cqi,65px) 30px;background:radial-gradient(ellipse at 50% 22%,#eddec0,#c6b18d 68%,#776043);box-shadow:0 12px 19px #22180f80 inset;border:7px solid #654c34;border-top-width:11px}
.arch-room-tablet{position:relative;min-height:355px;display:flex;flex-direction:column;justify-content:center;gap:23px;padding:28px clamp(17px,3.5cqi,34px);border:1px solid #aa885554;outline:1px solid #fdf7e599;outline-offset:5px;background:linear-gradient(115deg,#fff9e7,#ebdfc0);box-shadow:0 3px 9px #31201539,0 0 0 6px #dac8a599,1px 1px 1px #fff9 inset}
.arch-room-tablet::after{content:"";position:absolute;inset:10px;border:1px solid #a98a594d;pointer-events:none}
.arch-room-tablet>.arch-ornament{width:135px}
.arch-room-seal{font-size:25px;text-align:center;color:#a18046;line-height:1}
.arch-room .programme-lettering .programme-number{margin-bottom:16px!important}
.arch-room .programme-lettering h4{font-style:italic!important}
.arch-room-door{position:absolute;top:0;bottom:0;width:50.4%;z-index:4;pointer-events:none;backface-visibility:hidden;background:repeating-linear-gradient(91deg,#5b3823 0px,#715037 2px,#603d26 5px,#8b6540 7px,#69412b 12px);border:6px solid #704b2b;box-shadow:inset 0 0 0 2px #b18550,inset 0 0 20px #1f140c96,3px 0 6px #21120b80;transform-style:preserve-3d}
.arch-room-door-left{left:0;transform-origin:left center;transform:rotateY(calc(var(--arch-door-angle) * -1))}
.arch-room-door-right{right:0;transform-origin:right center;transform:rotateY(var(--arch-door-angle))}
.arch-door-panel{position:absolute;left:13%;right:13%;border:8px ridge #98704a;box-shadow:inset 0 1px 9px #160f0ac2,0 0 0 2px #4d321e,0 0 0 3px #a47c4d;background:repeating-linear-gradient(91deg,#4d301e,#735036 2px,#4d301e 7px,#68432d 13px)}
.arch-door-panel-top{top:8%;height:49%;border-radius:55% 55% 2px 2px}
.arch-door-panel-bottom{top:64%;bottom:7%;border-width:7px}
.arch-door-escutcheon{position:absolute;top:57%;width:15px;height:30px;border:1px solid #402a12;border-radius:45%;background:linear-gradient(90deg,#775522,#f8d993 48%,#815d2e);box-shadow:1px 2px 2px #211006}
.arch-door-escutcheon::after{content:"";position:absolute;top:8px;left:-5px;width:21px;height:5px;border-radius:5px;background:linear-gradient(#f2d89c,#86632c);box-shadow:0 2px 2px #211006}
.arch-room-door-left .arch-door-escutcheon{right:3%}.arch-room-door-right .arch-door-escutcheon{left:3%}
.arch-room-threshold{position:relative;height:31px;margin:0 -6px;background:linear-gradient(#c7b695,#f0e5cf 25%,#a88d65 28%,#d6c4a3 38%,#f0e4cc 60%,#a98b60 65%,#d9c7a7);box-shadow:0 9px 10px #3b261925;transform:perspective(700px) rotateX(12deg);z-index:6}
.arch-room-threshold i{position:absolute;top:0;bottom:0;width:1px;background:#a18a6766;left:33%}.arch-room-threshold i+i{left:67%}
.arch-room-name{text-align:center;font:italic 17px/1.5 Georgia,serif;overflow-wrap:anywhere;padding:19px 12px 0;color:#665139}

/* Italian Piazza: terracotta cornice, stucco wall and a glazed ceramic niche. */
.crafted-piazza{--ink:#244d65;--accent:#2e6482;--paper:#faf3df;max-width:800px;padding:15px 12px 0}
.arch-piazza{position:relative;padding-top:12px}
.arch-piazza-roof{position:relative;margin:0 5px;height:35px;border-bottom:7px ridge #ae5d3e;transform:perspective(800px) rotateX(18deg);transform-origin:bottom;background:repeating-linear-gradient(90deg,#844627 0 2px,#d08b59 4px,#e7a575 12px,#aa6541 22px,#673822 25px,#ba794d 28px);box-shadow:0 5px 5px #6c3b2d3d;z-index:5}
.arch-piazza-roof::before{content:"";position:absolute;inset:-7px 0 auto;height:9px;border-radius:3px;background:linear-gradient(#ecb582,#a66640);box-shadow:0 1px 1px #5c301d80}
.arch-piazza-facade{position:relative;isolation:isolate;margin-inline:16px;padding:27px 18% 40px;background:radial-gradient(ellipse at 3% 18%,#dbb88855,transparent 30%),radial-gradient(ellipse at 100% 78%,#e2b57666,transparent 30%),repeating-linear-gradient(0deg,#fff6dc10 0 2px,#bf9d7810 3px 4px),linear-gradient(110deg,#e3c699,#f5e3bb 45%,#e6cc9c);box-shadow:inset 4px 0 4px #8b6a4930,inset -7px 0 8px #a78a5b47,0 6px 11px #8e603329;border-inline:1px solid #c8a875}
.arch-piazza-address{position:relative;z-index:3;text-align:center;font:italic clamp(21px,4cqi,28px)/1.3 'Cormorant Garamond',Georgia,serif;padding:0 0 36px;overflow-wrap:anywhere;color:#6a4d34}
.arch-piazza-niche{position:relative;perspective:1100px;border:9px solid #d2b58a;border-top-width:16px;border-radius:95px 95px 3px 3px;background:#466360;box-shadow:0 0 0 1px #b6986e,0 -2px 0 4px #f5e9cddd,3px 7px 12px #68523340,inset 0 0 12px #122d30}
.arch-piazza-keystone{position:absolute;top:-38px;left:calc(50% - 24px);width:48px;height:34px;display:grid;place-items:center;font:500 15px/1 Georgia,serif;background:linear-gradient(110deg,#f4e6c9,#c5a97c);color:#876743;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%);z-index:5}
.arch-piazza-ceramic{position:relative;min-height:410px;padding:58px 32px 38px;border:5px solid #f8f1d9;border-radius:76px 76px 1px 1px;background:radial-gradient(ellipse at 20% 0,#fffef0cc,transparent 58%),repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#b19d7740 calc(25% - 1px) 25%),repeating-linear-gradient(0deg,transparent 0 109px,#b19d7733 110px 111px),#f5efd8;box-shadow:inset 0 0 0 3px #2d6580,inset 0 0 0 7px #f8f1d9,inset 0 0 0 8px #2d6580,inset 0 0 12px #9d8d6459,0 3px 4px #133a344f;transform-origin:top center}
.arch-piazza-ceramic::before{content:"";position:absolute;inset:13px;border:1px solid #678d9b;border-radius:65px 65px 0 0;pointer-events:none}
.arch-piazza-ceramic::after{content:"";position:absolute;inset:1px;background:linear-gradient(122deg,#fff8 0,transparent 13% 39%,#fff2 44%,transparent 48%);border-radius:70px 70px 0 0;pointer-events:none}
.arch-piazza .programme-lettering h4{font-style:italic!important}
.arch-piazza .programme-lettering p{font-family:Georgia,serif!important;font-size:18px!important}
.arch-tile-flower{position:absolute;width:29px;height:29px;color:#2e6482;z-index:1;pointer-events:none}.arch-tile-flower svg{width:100%;height:100%}
.arch-tile-flower-tl{top:26px;left:21px;transform:rotate(-12deg)}.arch-tile-flower-tr{top:26px;right:21px;transform:rotate(12deg)}.arch-tile-flower-bl{bottom:20px;left:20px}.arch-tile-flower-br{bottom:20px;right:20px}
.arch-tile-sun{display:block;text-align:center;font:36px/1 Georgia,serif;color:#be8a3b;margin-top:23px}
.arch-piazza-shutter{position:absolute;top:0;bottom:0;width:50.3%;border:6px solid #5c7b6d;border-radius:76px 0 0 1px;z-index:4;pointer-events:none;transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(90deg,#456354,#789784 50%,#486855);box-shadow:inset 0 0 0 2px #adc3a280,0 3px 9px #2d413888}
.arch-piazza-shutter-left{left:0;transform-origin:left center;transform:rotateY(-84deg)}
.arch-piazza-shutter-right{right:0;border-radius:0 76px 1px 0;transform-origin:right center;transform:rotateY(84deg)}
.arch-piazza-shutter i{position:absolute;inset:16% 9% 10%;background:repeating-linear-gradient(0deg,#537461 0 9px,#a7b99a 10px 12px,#395643 14px 17px);border:4px ridge #718d72;box-shadow:0 0 4px #244d3966 inset}
.arch-piazza-shutter b{position:absolute;top:58%;width:13px;height:6px;background:linear-gradient(#ad8550,#573f1f);border-radius:3px;right:2px}.arch-piazza-shutter-right b{left:2px;right:auto}
.arch-piazza-window{position:absolute;top:93px;width:10%;height:137px;border:6px solid #d5b889;border-radius:55% 55% 0 0;background:linear-gradient(90deg,transparent 47%,#f1dfb8 48% 52%,transparent 53%),linear-gradient(0deg,transparent 48%,#d6bf92 49% 52%,transparent 53%),linear-gradient(120deg,#405450,#729589);box-shadow:0 0 0 2px #ebd9b2,3px 5px 5px #7b613638,inset 1px 2px 9px #203c3370}
.arch-piazza-window-left{left:4%}.arch-piazza-window-right{right:4%}
.arch-piazza-planter{position:absolute;bottom:16px;width:62px;height:150px;z-index:6;pointer-events:none;color:#64744b}
.arch-piazza-planter-left{left:1.7%}.arch-piazza-planter-right{right:1.7%;transform:scaleX(-1)}
.arch-piazza-planter .arch-greenery{position:absolute;inset:0 0 38px;width:100%;height:114px;filter:drop-shadow(1px 2px 1px #40552425)}
.arch-piazza-planter i{position:absolute;left:9px;right:9px;bottom:0;height:49px;background:linear-gradient(90deg,#aa603c,#daa379 44%,#a8613b);clip-path:polygon(0 0,100% 0,86% 100%,14% 100%)}
.arch-piazza-planter i::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:linear-gradient(#c9885b,#e3b18a 40%,#a66343);box-shadow:0 2px 1px #813a2d}
.arch-piazza-paving{height:49px;margin:0 3px;background:repeating-linear-gradient(90deg,transparent 0 55px,#c6b08b 56px 58px),repeating-linear-gradient(0deg,#e0ceb0 0 21px,#b59d7833 22px 24px);border-top:6px ridge #d9c6a4;clip-path:polygon(2% 0,98% 0,100% 100%,0 100%);box-shadow:0 6px 9px #67503422}
.crafted-piazza .arch-index button[aria-pressed=true]{background:#f7f0dc;box-shadow:inset 0 0 0 2px #f7f0dc,inset 0 0 0 3px #648597}

/* Gallery Walk: picture rail, wired frames, gesso moulding and gilt slips. */
.crafted-gallery{--ink:#4c322b;--accent:#ac874c;--paper:#f2e7cc;max-width:1000px;background:radial-gradient(ellipse at 50% 0,#77534822,transparent 70%),linear-gradient(90deg,#341c2a,#502d3d 48%,#341c2a);border-inline:1px solid #6c4050;box-shadow:0 8px 20px #2a10281f}
.arch-gallery-rail{height:19px;background:linear-gradient(#855d53,#482731 22%,#9d7963 31%,#38222a 45% 70%,#89665a 74%,#402631);box-shadow:0 6px 6px #21121d70;position:relative;z-index:1}
.arch-gallery-wall{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:62px 38px;padding:85px 28px 74px;background:repeating-linear-gradient(90deg,transparent 0 98px,#e3baaa04 99px 100px)}
.arch-gallery-piece{position:relative;min-width:0;break-inside:avoid}
.arch-gallery-piece:nth-child(even){margin-top:70px}
.arch-gallery-hook{position:absolute;top:-48px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#f4dcb0,#927044 60%,#452f20);box-shadow:0 2px 2px #120d16;z-index:2}
.arch-gallery-wire{position:absolute;top:-40px;left:23%;right:23%;height:64px;border-left:1px solid #c6b492;border-top:1px solid #c6b492;transform:rotate(20deg) skewX(-49deg);transform-origin:50% 30%;opacity:.9}
.arch-gallery-frame{position:relative;padding:18px;border:2px solid #5a321d;background:repeating-linear-gradient(45deg,#aa7740 0 3px,#d7b672 3px 5px,#8e5b2d 5px 7px);box-shadow:0 0 0 1px #ddbd83,0 8px 5px -3px #1a0b0dd9,6px 14px 17px #150a17a8,inset 0 0 0 2px #e7c782,inset 0 0 0 5px #7b4826,inset 0 0 0 7px #cfa15c,inset 0 0 0 10px #d0a662,inset 0 0 0 12px #684021;transform-origin:top center}
.arch-gallery-gilt{padding:5px;border:1px solid #f7ddb0;background:linear-gradient(125deg,#6d482f,#e8ce95 15%,#9f793f 25%,#f2d49b 60%,#634326);box-shadow:0 1px 5px #25170c}
.arch-gallery-mat{position:relative;min-height:335px;display:flex;flex-direction:column;justify-content:center;padding:41px 26px 28px;background:repeating-linear-gradient(0deg,#b2966c08 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#b2966c08 0 1px,transparent 1px 3px),linear-gradient(120deg,#f8eed6,#e7d6b5);border:7px solid #e3d4b7;box-shadow:inset 0 0 0 1px #a79470,inset 0 2px 9px #6b512744;color:#4c322b}
.arch-gallery-mat>.arch-ornament{width:112px;margin-top:23px}
.arch-gallery-monogram{position:absolute;top:13px;left:0;right:0;text-align:center;font:italic 48px/1 'Cormorant Garamond',Georgia,serif;color:#9a774726;pointer-events:none}
.arch-gallery-piece .programme-lettering .programme-number{font-size:12px!important;letter-spacing:.2em!important;margin-bottom:22px!important}
.arch-gallery-piece .programme-lettering time{font-size:24px!important}
.arch-gallery-piece .programme-lettering h4{font-size:clamp(30px,4.2cqi,42px)!important}
.arch-gallery-piece .programme-lettering p{font-family:Georgia,serif!important;font-size:18px!important;line-height:1.6!important}
.arch-gallery-corner{position:absolute;width:62px;height:62px;color:#f2ce8a;z-index:3;filter:drop-shadow(1px 1px 0 #513217);pointer-events:none}
.arch-gallery-corner svg{width:100%;height:100%}.arch-gallery-corner-tl{top:-2px;left:-2px}.arch-gallery-corner-tr{top:-2px;right:-2px;transform:rotate(90deg)}.arch-gallery-corner-br{bottom:-2px;right:-2px;transform:rotate(180deg)}.arch-gallery-corner-bl{bottom:-2px;left:-2px;transform:rotate(270deg)}
.arch-gallery-style-1 .arch-gallery-frame{border-radius:80px 80px 4px 4px;padding-top:22px;background:linear-gradient(120deg,#583b2b,#ad7950 45%,#493125);box-shadow:0 0 0 1px #bfa071,0 8px 5px -3px #1a0b0dd9,6px 14px 17px #150a17a8,inset 0 0 0 3px #c3995f,inset 0 0 0 8px #65442c,inset 0 0 0 10px #d0a662}
.arch-gallery-style-1 .arch-gallery-gilt{border-radius:63px 63px 0 0}.arch-gallery-style-1 .arch-gallery-mat{border-radius:58px 58px 0 0;padding-top:50px}
.arch-gallery-style-1 .arch-gallery-corner-tl,.arch-gallery-style-1 .arch-gallery-corner-tr{display:none}
.arch-gallery-style-2 .arch-gallery-frame{background:linear-gradient(130deg,#d7b879,#856132 30%,#efdaaa 65%,#9c713c);padding:21px;box-shadow:0 0 0 1px #ddbd83,0 8px 5px -3px #1a0b0dd9,6px 14px 17px #150a17a8,inset 0 0 0 3px #7d562c,inset 0 0 0 6px #edcf93,inset 0 0 0 8px #ad8647,inset 0 0 0 11px #d8b474,inset 0 0 0 13px #795729}
.arch-gallery-style-2 .programme-lettering h4{font-style:italic!important}
.arch-gallery-label{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:86%;margin:19px auto 0;padding:8px 11px;background:linear-gradient(125deg,#d6bb85,#f0dbab 44%,#b7965b);border:1px solid #6c492e;color:#422b25;box-shadow:1px 2px 2px #180c14;font:400 11px/1.4 'DM Sans',Arial,sans-serif;text-align:center;overflow-wrap:anywhere}
.arch-gallery-label span{min-width:0}.arch-gallery-label b{font:500 12px/1 Georgia,serif;padding-left:8px;border-left:1px solid #997541}.arch-gallery-label i{width:3px;height:3px;flex:0 0 3px;border-radius:50%;background:#765530;box-shadow:0 1px 0 #fff7}
.arch-gallery-skirting{height:42px;background:linear-gradient(#764551 0 3px,#3a202f 4px 10px,#6f424c 11px 15px,#3f2532 16px 35px,#271a22 36px);box-shadow:0 -2px 4px #271420}

/* Glasshouse: roof glazing and brass mullions are part of the content surface. */
.crafted-glass{--ink:#28473e;--accent:#88744b;--paper:#edf2e5;max-width:840px;padding:25px 15px 8px}
.arch-glass-roof{position:relative;aspect-ratio:760/220;margin:0 5px -3px;z-index:3}
.arch-glass-roof>svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 2px #3953472b)}
.arch-roof-fill{fill:#dbe9dd;fill-opacity:.78;stroke:none}.arch-roof-highlight{fill:#fff;fill-opacity:.38;stroke:none}
.arch-roof-structure{fill:none;stroke:#b1b49d;stroke-width:7;stroke-linecap:square;stroke-linejoin:round}.arch-roof-top{fill:none;stroke:#75897b;stroke-width:4}
.arch-glass-finial{position:absolute;left:calc(50% - 3px);top:-13px;width:6px;height:27px;background:linear-gradient(90deg,#566e61,#d7d4b5,#778475);border-radius:50% 50% 0 0}
.arch-glass-finial::before{content:"";position:absolute;left:-3px;top:-3px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#eee2b9,#839481 65%,#586e60)}
.arch-glass-building{position:relative;margin:0 13px;padding:0 13px 13px;border:1px solid #8c9d89;background:linear-gradient(90deg,#bcc9b7,#e6eddb 10%,#d9e6d7 65%,#a9bfaa);box-shadow:0 2px 14px #42614725}
.arch-glass-title{position:relative;padding:23px 18px 24px;background:linear-gradient(125deg,#f6f8e8bb,#d0e3d58f);border-bottom:9px ridge #bcc3a8;text-align:center;color:#496452}
.arch-glass-title::before,.arch-glass-title::after{content:"";position:absolute;top:0;bottom:0;width:5px;background:linear-gradient(90deg,#718575,#e0e3c8,#889980)}
.arch-glass-title::before{left:20%}.arch-glass-title::after{right:20%}
.arch-glass-title span{position:relative;z-index:1;display:block;padding:5px 8px;font:italic clamp(22px,4cqi,29px)/1.4 'Cormorant Garamond',Georgia,serif;text-shadow:0 1px 1px #fff;overflow-wrap:anywhere;background:linear-gradient(90deg,transparent,#e8efe0 18% 82%,transparent)}
.arch-glass-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;background:linear-gradient(90deg,#a2b19b,#dce0c6 49%,#7d917b 50%,#dbe0c4 51%,#a2b19b);padding:0}
.arch-glass-pane{position:relative;min-width:0;min-height:333px;padding:60px 31px 46px;background:linear-gradient(125deg,#fff7,transparent 25%,#ffffff40 42%,transparent 46%),radial-gradient(ellipse at 100% 100%,#b7cfad90,transparent 45%),linear-gradient(160deg,#eff5e8df,#d3e5d6df);border:2px solid #8a9e88;box-shadow:inset 1px 2px 5px #3f684844,inset -1px -2px 1px #f7fbe3,0 1px 0 #dbe6cb;isolation:isolate}
.arch-glass-pane:nth-child(3n){grid-column:1/-1;padding-inline:clamp(30px,16%,150px);min-height:300px}
.arch-glass-pane:last-child:nth-child(3n+1){grid-column:1/-1}
.arch-glass-pane .programme-lettering{text-shadow:0 1px 0 #fffffff0}
.arch-glass-pane .programme-lettering .programme-number{font-size:12px!important;letter-spacing:.2em!important;color:#4d6c58;margin-bottom:20px!important}
.arch-glass-pane .programme-lettering h4{font-style:italic!important;font-size:clamp(31px,4.5cqi,43px)!important}
.arch-glass-pane .programme-lettering p{font-size:17px!important;line-height:1.65!important}
.arch-glass-bolt{position:absolute;width:10px;height:10px;border-radius:50%;z-index:3;background:linear-gradient(110deg,#6b785a,#f4e8b7 42%,#b1a571 65%,#617756);box-shadow:0 1px 2px #48694888}
.arch-glass-bolt::after{content:"";position:absolute;inset:4px 2px;background:#637354;height:1px;transform:rotate(-30deg)}
.arch-glass-bolt-tl{top:9px;left:9px}.arch-glass-bolt-tr{top:9px;right:9px}.arch-glass-bolt-bl{bottom:9px;left:9px}.arch-glass-bolt-br{bottom:9px;right:9px}
.arch-glass-vent{position:absolute;top:12px;left:calc(50% - 30px);width:60px;height:27px;border:2px solid #a0ae91;background:linear-gradient(125deg,#eff7e6b0,#9ebaaa70);box-shadow:0 3px 4px #385e3822;transform-origin:top center;transform:perspective(300px) rotateX(-24deg);display:flex;justify-content:space-evenly;pointer-events:none}
.arch-glass-vent i{display:block;height:100%;width:1px;background:#97a68b}
.arch-glass-botanical{position:absolute;bottom:5px;right:9px;width:57px;height:130px;z-index:0;color:#6c947d;opacity:.22;pointer-events:none;transform-origin:bottom center}
.arch-glass-botanical>.arch-greenery{height:100%;width:100%}
.arch-glass-pane:nth-child(even) .arch-glass-botanical{left:9px;right:auto;transform:scaleX(-1)}
.arch-glass-column{position:absolute;top:-2px;bottom:0;width:17px;z-index:4;background:linear-gradient(90deg,#80917a,#e2e2c3 28%,#a8b595 58%,#6b816d 72%,#c1c9a9);box-shadow:1px 1px 3px #425c3744}
.arch-glass-column-left{left:-5px}.arch-glass-column-right{right:-5px}
.arch-glass-column::before,.arch-glass-column::after{content:"";position:absolute;left:-4px;right:-4px;height:15px;background:linear-gradient(#cdd3b1,#8b9c7e 33%,#e1e1bb 39% 64%,#7d9274 70%,#d2d9b5);box-shadow:0 2px 2px #44623444}
.arch-glass-column::before{top:0}.arch-glass-column::after{bottom:0}
.arch-glass-foundation{position:relative;height:36px;margin:0 4px;background:linear-gradient(#a2ae95,#e1e4cc 12%,#829278 18% 23%,#c8d0b5 26% 56%,#9ba98d 65%,#d8dec5 72% 83%,#778a73 88%,#b9c5ab);box-shadow:0 9px 13px #39523a22}
.arch-glass-foundation i{position:absolute;width:1px;top:6px;bottom:3px;left:33%;background:#8e9c8355}.arch-glass-foundation i+i{left:67%}

/* Motion is tied to choosing or reaching a real event, never to a duplicate image. */
@media(prefers-reduced-motion:no-preference){
 .arch-room.moment-turning .arch-room-door-left{animation:arch-room-open-left 1.2s cubic-bezier(.22,.7,.15,1) both}
 .arch-room.moment-turning .arch-room-door-right{animation:arch-room-open-right 1.2s cubic-bezier(.22,.7,.15,1) both}
 .arch-room.moment-turning .arch-room-tablet{animation:arch-room-light 1.3s ease both}
 .arch-piazza.moment-turning .arch-piazza-ceramic{animation:arch-tile-settle 1s cubic-bezier(.2,.65,.3,1) both}
 .arch-piazza.moment-turning .arch-piazza-shutter-left{animation:arch-shutter-left .95s ease both}
 .arch-piazza.moment-turning .arch-piazza-shutter-right{animation:arch-shutter-right 1.15s ease both}
 .arch-gallery-piece.inscription-seen .arch-gallery-frame{animation:arch-frame-hang 1.1s cubic-bezier(.22,.7,.15,1) both}
 .arch-gallery-piece.inscription-seen .arch-gallery-mat::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 27%,#fff8 40%,#fff1 55%,transparent 68%);animation:arch-gallery-light 1.55s ease both}
 .arch-glass-pane.inscription-seen .arch-glass-vent{animation:arch-vent-open 1.7s cubic-bezier(.22,.7,.15,1) both}
 .arch-glass-pane.inscription-seen::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(112deg,transparent 24%,#fff8 42%,transparent 57%);animation:arch-glass-clear 1.5s ease both}
}
@keyframes arch-room-open-left{from{transform:rotateY(0deg)}to{transform:rotateY(calc(var(--arch-door-angle) * -1))}}
@keyframes arch-room-open-right{from{transform:rotateY(0deg)}to{transform:rotateY(var(--arch-door-angle))}}
@keyframes arch-room-light{from{filter:brightness(.65)}to{filter:brightness(1)}}
@keyframes arch-tile-settle{0%{transform:rotateX(7deg) translateY(-5px)}45%{transform:rotateX(-2deg) translateY(1px)}100%{transform:rotateX(0) translateY(0)}}
@keyframes arch-shutter-left{0%{transform:rotateY(-12deg)}70%{transform:rotateY(-90deg)}100%{transform:rotateY(-84deg)}}
@keyframes arch-shutter-right{0%{transform:rotateY(12deg)}70%{transform:rotateY(90deg)}100%{transform:rotateY(84deg)}}
@keyframes arch-frame-hang{0%{transform:rotate(-2deg)}50%{transform:rotate(.7deg)}100%{transform:rotate(0)}}
@keyframes arch-gallery-light{0%{opacity:0;transform:scaleX(.6);transform-origin:left center}30%{opacity:.7}100%{opacity:0;transform:scaleX(1);transform-origin:right center}}
@keyframes arch-vent-open{from{transform:perspective(300px) rotateX(0)}to{transform:perspective(300px) rotateX(-24deg)}}
@keyframes arch-glass-clear{0%{opacity:.9}100%{opacity:0}}

@container(max-width:600px){
 .arch-object .programme-lettering p{font-size:16px!important;line-height:1.65!important}
 .arch-object .programme-lettering h4{font-size:clamp(29px,7cqi,39px)!important;line-height:1.14!important}
 .arch-object .programme-lettering time{font-size:25px!important}
 .crafted-rooms{padding:0 5px 8px}
 .arch-room{--arch-door-angle:82deg;padding:28px 6px 0}
 .arch-room-cornice{height:65px;margin-inline:0}
 .arch-room-crest{top:6px}.arch-room-crest .arch-ornament{width:132px}
 .arch-room-pediment{inset:-26px 11% auto;height:43px}
 .arch-room-portal{padding-inline:19px}
 .arch-room-column{width:16px}.arch-room-column::before,.arch-room-column::after{left:-2px;right:-2px;height:17px}
 .arch-room-chamber{border-width:4px;min-height:380px;padding:23px 17px 26px}
 .arch-room-tablet{min-height:350px;padding:25px 16px;gap:19px;outline-offset:3px}
 .arch-room-tablet::after{inset:7px}.arch-room-tablet>.arch-ornament{width:104px}
 .arch-room-door{border-width:4px}.arch-door-panel{border-width:5px;left:12%;right:12%}.arch-door-panel-bottom{border-width:4px}
 .arch-room-threshold{height:25px;margin-inline:-3px}
 .arch-room-name{font-size:16px}
 .crafted-piazza{padding:8px 4px 0}
 .arch-piazza-facade{margin-inline:6px;padding:25px 23px 29px}
 .arch-piazza-roof{height:27px;margin-inline:0}
 .arch-piazza-address{padding-bottom:31px;font-size:25px}
 .arch-piazza-window{top:118px;width:14px;height:95px;border-width:3px}.arch-piazza-window-left{left:3px}.arch-piazza-window-right{right:3px}
 .arch-piazza-niche{border-width:6px;border-top-width:12px;border-radius:77px 77px 0 0}
 .arch-piazza-ceramic{min-height:375px;border-radius:67px 67px 0 0;padding:57px 24px 34px;border-width:4px}
 .arch-piazza-ceramic::before{inset:11px;border-radius:57px 57px 0 0}
 .arch-piazza .programme-lettering p{font-size:17px!important}
 .arch-piazza-shutter{border-width:4px}.arch-piazza-shutter i{border-width:2px;inset-inline:12%}
 .arch-tile-flower{width:22px;height:22px}.arch-tile-flower-tl{left:20px;top:27px}.arch-tile-flower-tr{right:20px;top:27px}.arch-tile-flower-bl{left:16px;bottom:18px}.arch-tile-flower-br{right:16px;bottom:18px}
 .arch-piazza-planter{width:31px;height:97px;bottom:8px}.arch-piazza-planter-left{left:-1px}.arch-piazza-planter-right{right:-1px}.arch-piazza-planter .arch-greenery{height:78px}.arch-piazza-planter i{left:2px;right:2px;height:32px}
 .arch-piazza-paving{height:33px;margin-inline:0}
 .arch-gallery-wall{grid-template-columns:minmax(0,1fr);gap:77px;padding:68px 24px 48px}
 .arch-gallery-piece:nth-child(even){margin-top:0}
 .arch-gallery-frame{padding:15px}.arch-gallery-style-2 .arch-gallery-frame{padding:18px}
 .arch-gallery-mat{min-height:330px;padding:38px 24px 28px;border-width:5px}
 .arch-gallery-piece .programme-lettering h4{font-size:clamp(30px,7.6cqi,40px)!important}
 .arch-gallery-piece .programme-lettering p{font-size:17px!important}
 .arch-gallery-label{font-size:11px;padding:8px;max-width:93%}
 .crafted-glass{padding:24px 5px 5px}
 .arch-glass-roof{margin-inline:2px}
 .arch-glass-building{margin-inline:6px;padding:0 7px 8px}
 .arch-glass-title{padding:14px 5px 15px;border-bottom-width:7px}.arch-glass-title span{font-size:25px}
 .arch-glass-panes{grid-template-columns:minmax(0,1fr);gap:8px}
 .arch-glass-pane,.arch-glass-pane:nth-child(3n){grid-column:auto;padding:62px 25px 42px;min-height:330px}
 .arch-glass-pane .programme-lettering h4{font-size:clamp(31px,8cqi,41px)!important}
 .arch-glass-column{width:12px}.arch-glass-column-left{left:-3px}.arch-glass-column-right{right:-3px}
 .arch-glass-foundation{height:29px;margin-inline:1px}
}
@container(max-width:360px){
 .arch-room-tablet{padding-inline:12px}.arch-room-chamber{padding-inline:14px}
 .arch-room .programme-lettering h4{font-size:29px!important}
 .arch-piazza-facade{padding-inline:17px}.arch-piazza-ceramic{padding-inline:19px}
 .arch-piazza .programme-lettering h4{font-size:29px!important}
 .arch-gallery-wall{padding-inline:16px}.arch-gallery-mat{padding-inline:19px}
 .arch-glass-pane,.arch-glass-pane:nth-child(3n){padding-inline:22px}
}
.motion-paused .arch-object *,.arch-object.motion-paused *,[data-motion=paused] .arch-object *,[data-site-motion=paused] .arch-object *{animation:none!important;transition:none!important}
.motion-paused .arch-object ::after,[data-motion=paused] .arch-object ::after,[data-site-motion=paused] .arch-object ::after{animation:none!important;transition:none!important}
.motion-paused .arch-gallery-mat::after,.motion-paused .arch-glass-pane::after,[data-motion=paused] .arch-gallery-mat::after,[data-motion=paused] .arch-glass-pane::after,[data-site-motion=paused] .arch-gallery-mat::after,[data-site-motion=paused] .arch-glass-pane::after{opacity:0!important}
@media(prefers-reduced-motion:reduce){.arch-object *,.arch-object *::before,.arch-object *::after{animation:none!important;transition:none!important}.arch-gallery-mat::after,.arch-glass-pane::after{opacity:0!important}}
