:root{--vg-blue:#024767;--vg-light:#719cb6;--vg-cream:#f7f5f2}
.visual-gallery{padding:94px 6%;margin:0 auto;max-width:1600px;color:#2b1e16}.vg-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:90px;margin-bottom:35px}.visual-gallery h2{font-family:Advercase,serif;font-weight:400;font-size:clamp(36px,4.2vw,62px);line-height:1.02;margin:18px 0 0;max-width:720px}.vg-intro{max-width:470px;justify-self:end}.vg-intro p{margin:0;font-size:16px;line-height:1.65}.vg-text-link{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid #719cb6;color:#024767;text-decoration:none;padding:15px 0 7px;font-size:15px}.vg-text-link span{transition:transform .25s}.vg-text-link:hover span{transform:translate(3px,-3px)}
.vg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.vg-tile{appearance:none;border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;min-width:0}.vg-frame{display:block;position:relative;overflow:hidden;border-radius:22px;isolation:isolate;background:#e9e5df;aspect-ratio:4/5}.vg-frame picture{display:block;width:100%;height:100%;overflow:hidden}.visual-gallery .vg-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--focus,50% 50%);transform:scale(var(--zoom,1));transition:transform .8s cubic-bezier(.2,.7,.3,1),filter .6s}.vg-tile:hover .vg-frame img{transform:scale(calc(var(--zoom,1) * 1.025))}.vg-tile:focus-visible{outline:2px solid #024767;outline-offset:7px;border-radius:22px}.vg-expand{position:absolute;bottom:17px;right:17px;border:1px solid #ffffff90;background:#024767ba;backdrop-filter:blur(3px);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#fff;transition:background .2s}.vg-expand svg{width:17px;height:17px}.vg-type{position:absolute;bottom:21px;left:16px;max-width:calc(100% - 78px);color:#fff;font-size:10px;letter-spacing:.03em;background:#024767d6;padding:6px 9px;border-radius:3px}.vg-tile-title{display:flex;justify-content:space-between;align-items:center;font:30px/1.1 Advercase,serif;color:#024767;padding:18px 1px 0}.vg-tile-title>span{font:24px 'DM Sans',sans-serif;color:#719cb6;transition:transform .3s}.vg-tile:hover .vg-tile-title>span{transform:translate(3px,-3px)}
.vg-featured{background:#f7f5f2;max-width:none;padding-left:max(6%,calc((100% - 1400px)/2));padding-right:max(6%,calc((100% - 1400px)/2))}.vg-featured .vg-tile:nth-child(2){padding-top:38px}.vg-featured .vg-tile:nth-child(2) .vg-frame{aspect-ratio:4/4.58}.vg-featured .vg-tile:nth-child(1) .vg-frame{--focus:65% 50%}.vg-featured .vg-tile:nth-child(3) .vg-frame{--focus:50% 42%}
.vg-duo .vg-grid{grid-template-columns:1fr 1fr}.vg-duo .vg-frame{aspect-ratio:5/4}.vg-interiors .vg-frame{aspect-ratio:4/3}.vg-detail .vg-frame{aspect-ratio:1}.vg-studio{background:#f7f5f2}.vg-studio .vg-grid{grid-template-columns:1.35fr .85fr 1fr;align-items:start}.vg-studio .vg-tile:nth-child(2){padding-top:70px}.vg-studio .vg-tile:nth-child(3){padding-top:140px}.vg-studio .vg-frame{aspect-ratio:4/5}.vg-studio .vg-tile-title{font-size:24px}.vg-filters{display:flex;gap:10px;margin:30px 0 5px;flex-wrap:wrap}.vg-filters button{border:1px solid #bac8cd;border-radius:30px;padding:12px 23px;background:transparent;color:#024767;font:14px 'DM Sans',sans-serif;cursor:pointer;min-height:44px}.vg-filters button[aria-pressed=true]{background:#024767;border-color:#024767;color:white}.vg-filter-status{font-size:12px;color:#746c63;min-height:20px;margin:10px 0 20px}.vg-catalogue .vg-grid{gap:32px 25px}.vg-catalogue .vg-tile-title{font-size:24px}.vg-catalogue .vg-frame{aspect-ratio:1}.vg-catalogue .vg-tile.vg-room .vg-frame,.vg-catalogue .vg-tile.vg-real .vg-frame{aspect-ratio:1}.vg-tile[hidden]{display:none}.vg-story-reference{background:#f7f5f2;max-width:none}
.vg-lightbox{padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;background:#f7f5f2;color:#024767;overflow:hidden}.vg-lightbox[open]{display:flex;flex-direction:column}.vg-lightbox::backdrop{background:#001d2cdb}.vg-lb-top{display:flex;align-items:center;justify-content:space-between;padding:16px 4%;border-bottom:1px solid #ddd8d1;flex:none;font-size:13px}.vg-close,.vg-prev,.vg-next{appearance:none;border:1px solid #bccbd1;background:transparent;color:#024767;border-radius:40px;min-width:44px;min-height:44px;padding:8px 15px;font:14px 'DM Sans',sans-serif;cursor:pointer}.vg-close{display:flex;align-items:center;gap:18px}.vg-close span{font-size:24px;font-weight:300}.vg-lb-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4% 10px}.vg-lb-stage img{min-width:0;width:calc(100% - 130px);height:100%;object-fit:contain}.vg-prev,.vg-next{flex:none;font-size:21px;width:44px;padding:0}.vg-lb-meta{display:flex;gap:20px;align-items:center;justify-content:center;padding:10px 5%;flex:none}.vg-lb-meta h2{font:28px Advercase,serif;margin:0}.vg-lb-meta p{font-size:12px;margin:0;color:#686459}.vg-lb-thumbs{display:flex;gap:8px;justify-content:center;padding:10px 5% 18px;flex:none;overflow:auto}.vg-lb-thumbs button{border:2px solid transparent;min-width:58px;width:58px;height:58px;background:none;border-radius:8px;padding:2px;cursor:pointer}.vg-lb-thumbs button[aria-current=true]{border-color:#024767}.vg-lb-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:4px}.vg-lightbox button:focus-visible{outline:2px solid #024767;outline-offset:3px}
@media(max-width:850px){.visual-gallery{padding:56px 5%}.vg-heading{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.vg-intro{justify-self:start;max-width:540px}.vg-intro p{font-size:15px}.visual-gallery h2{font-size:42px;margin-top:13px}.vg-grid{gap:14px}.vg-tile-title{font-size:24px}.vg-featured .vg-tile:nth-child(2){padding-top:0}.vg-featured .vg-tile:nth-child(2) .vg-frame{aspect-ratio:4/5}.vg-studio .vg-grid{grid-template-columns:1fr 1fr}.vg-studio .vg-tile:first-child{grid-column:1/-1}.vg-studio .vg-tile:first-child .vg-frame{aspect-ratio:4/3}.vg-studio .vg-tile:nth-child(2),.vg-studio .vg-tile:nth-child(3){padding-top:0}.vg-type{font-size:9px;padding:5px 6px;left:10px;bottom:16px}.vg-expand{width:34px;height:34px;bottom:12px;right:12px}.vg-lb-meta{flex-direction:column;gap:7px;text-align:center}.vg-lb-stage{padding:12px 12px 5px;gap:5px}.vg-lb-stage img{width:calc(100% - 98px)}}
@media(max-width:600px){.vg-grid,.vg-duo .vg-grid{grid-template-columns:1fr}.vg-featured .vg-grid{display:grid;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 1px 16px;gap:17px;scrollbar-width:thin}.vg-featured .vg-tile{scroll-snap-align:start}.vg-featured .vg-frame{aspect-ratio:4/4.4!important}.vg-catalogue .vg-grid{grid-template-columns:1fr 1fr;gap:22px 13px}.vg-catalogue .vg-tile-title{font-size:20px;padding-top:12px}.vg-catalogue .vg-type{font-size:8px;bottom:9px;left:7px;max-width:calc(100% - 50px);padding:4px}.vg-catalogue .vg-expand{width:28px;height:28px;right:7px;bottom:7px}.vg-frame{border-radius:17px}.vg-detail .vg-grid{grid-template-columns:1fr 1fr}.vg-detail .vg-tile:first-child{grid-column:1/-1}.vg-filters{flex-wrap:nowrap;overflow-x:auto;gap:7px}.vg-filters button{white-space:nowrap;font-size:12px;padding:11px 17px}.vg-lb-thumbs{justify-content:start}.vg-lb-meta h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.visual-gallery *{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:600px){.vg-lb-stage{position:relative;padding:12px}.vg-lb-stage img{width:100%}.vg-prev,.vg-next{position:absolute;z-index:1;top:50%;background:#f7f5f2e8}.vg-prev{left:8px}.vg-next{right:8px}}

/* Revision 2: complete collection previews, with a single title for each work. */

.ve-collection{color:#2b1e16;overflow:clip}
.ve-introduction{max-width:1600px;margin:auto;padding:88px 6% 60px;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,8vw,130px);align-items:end}
.ve-introduction h2,.ve-atelier h2{font:400 clamp(44px,4.7vw,72px)/1.03 Advercase,serif;letter-spacing:-.025em;margin:0}
.ve-introduction p{font-size:16px;line-height:1.7;margin:0 0 30px;max-width:510px}
.ve-index{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:15px}
.ve-index a{display:flex;align-items:center;gap:9px;border-bottom:1px solid #cdd8dc;padding:12px 0;text-decoration:none;min-height:44px;color:#024767;transition:border-color .2s}
.ve-index a>span:first-child{font-size:10px;color:#8d7345}.ve-index a>span:last-child{color:#719cb6;margin-left:8px;transition:transform .25s}.ve-index a:hover{border-color:#024767}.ve-index a:hover>span:last-child{transform:translate(2px,3px)}
.ve-work{position:relative;isolation:isolate;background:#f7f5f2;scroll-margin-top:10px}
.ve-work-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.8fr);align-items:center;gap:clamp(48px,7vw,110px);max-width:1600px;padding:94px 6% 104px;margin:auto}
.ve-composition{position:relative;height:640px;min-width:0}
.ve-photo{appearance:none;display:block;padding:0;border:0;background:#e7e4df;border-radius:22px;overflow:hidden;cursor:pointer;color:#fff;isolation:isolate;position:relative;text-align:left;font:inherit;transform:translate3d(0,var(--ve-shift,0px),0)}
.ve-photo picture{display:block;width:100%;height:100%;overflow:hidden}
.ve-photo img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--focus,50% 50%);transform:scale(var(--ve-zoom,1.06));transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.ve-photo:hover img{transform:scale(calc(var(--ve-zoom,1.06) * 1.025))}.ve-photo:focus-visible{outline:2px solid #024767;outline-offset:6px}
.ve-main,.ve-detail,.ve-context{position:absolute}.ve-main{left:0;top:0;width:100%;height:72%;z-index:1}
.ve-detail{left:4%;bottom:0;width:32%;height:42%;z-index:3;border:7px solid #f7f5f2;border-radius:19px;box-shadow:0 14px 30px #152a3214}
.ve-context{right:0;bottom:1%;width:47%;height:41%;z-index:2;border:7px solid #f7f5f2;border-radius:19px;box-shadow:0 14px 30px #152a3212}
.ve-expand{position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#024767ba;border:1px solid #ffffff70;transition:background .2s}.ve-expand svg{width:17px;height:17px}
.ve-room-note{position:absolute;bottom:17px;left:12px;max-width:calc(100% - 67px);padding:4px 6px;background:#024767d6;border-radius:3px;color:#fff;font-size:9px;line-height:1.4}
.ve-composition-line{position:absolute;width:37%;height:1px;background:#b08b4266;left:40%;bottom:14%;z-index:0;transform:rotate(-18deg)}
.ve-work-copy{position:relative;min-width:0;padding:20px 0}
.ve-chapter{display:flex;align-items:center;gap:15px;color:#024767;font-size:10px;letter-spacing:.13em;line-height:1.5}.ve-chapter>span{height:1px;width:42px;background:#b08b42;transform-origin:left;transition:transform .9s}
.ve-motif{display:block;width:85px;height:80px;margin:24px 0 5px;stroke:#b08b42;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;opacity:.72;transition:opacity .8s,transform .8s}
.ve-motif path{vector-effect:non-scaling-stroke;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.8s ease}
.ve-work.is-in-view .ve-motif path,.ve-atelier.is-in-view .ve-motif path{stroke-dashoffset:0}
.ve-work.is-in-view .ve-motif,.ve-atelier.is-in-view .ve-motif{opacity:1;transform:translateY(-3px)}
.ve-work h3{font:400 clamp(64px,6.3vw,98px)/1 Advercase,serif;letter-spacing:-.035em;margin:15px 0 20px;color:#024767}
.ve-statement{font:500 23px/1.45 'DM Sans',sans-serif;margin:0 0 20px;max-width:460px}
.ve-description{font:500 16px/1.8 'DM Sans',sans-serif;margin:0 0 23px;max-width:460px}
.ve-notes{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:0 0 18px;color:#547382;font-size:11px}.ve-notes li{position:relative;padding-left:10px}.ve-notes li:before{content:'';position:absolute;left:0;top:7px;width:3px;height:3px;border-radius:50%;background:#b08b42}
.ve-gallery-button{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:16px 0 13px;min-height:50px;border:0;border-bottom:1px solid #719cb6;background:none;color:#024767;font:500 16px 'DM Sans',sans-serif;text-align:left;cursor:pointer;transition:border-color .2s;max-width:100%}
.ve-gallery-button>span{font-size:25px;line-height:1;transition:transform .3s}.ve-gallery-button:hover{border-color:#024767}.ve-gallery-button:hover>span{transform:translate(3px,-3px)}
.ve-photo-count{display:block;margin-top:13px;font-size:11px;color:#6d746e}
.ve-marea{background:#fff}.ve-marea .ve-work-inner{grid-template-columns:minmax(310px,.8fr) minmax(0,1.3fr)}.ve-marea .ve-composition{grid-column:2;grid-row:1}.ve-marea .ve-work-copy{grid-column:1;grid-row:1}.ve-marea .ve-main{left:auto;right:0;width:83%;height:86%}.ve-marea .ve-detail{left:0;bottom:0;width:37%;height:39%;border-color:#fff}.ve-marea .ve-context{right:1%;bottom:-1%;width:40%;height:34%;border-color:#fff}.ve-marea .ve-composition-line{left:30%}
.ve-medusa{background:#08394d;color:#f7f5f2}.ve-medusa .ve-main{width:73%;height:96%}.ve-medusa .ve-context{right:0;top:0;bottom:auto;width:33%;height:39%;border-color:#08394d}.ve-medusa .ve-detail{left:auto;right:0;bottom:0;width:34%;height:43%;border-color:#08394d}.ve-medusa .ve-chapter,.ve-medusa h3,.ve-medusa .ve-gallery-button{color:#fff}.ve-medusa .ve-notes,.ve-medusa .ve-photo-count{color:#bed0d7}.ve-medusa .ve-gallery-button{border-bottom-color:#719cb6}.ve-medusa .ve-photo:focus-visible{outline-color:#fff}
.ve-atelier{padding:92px max(6%,calc((100% - 1400px)/2)) 115px;background:#f7f5f2;color:#2b1e16;overflow:clip}
.ve-atelier-heading{margin-bottom:42px}.ve-atelier-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);align-items:center;gap:clamp(50px,6vw,100px)}
.ve-atelier-images{position:relative;min-width:0;height:610px}.ve-atelier-main{position:absolute;inset:0 auto auto 0;width:100%;height:79%}.ve-atelier-detail{position:absolute;right:2%;bottom:0;width:32%;height:47%;border:7px solid #f7f5f2;border-radius:19px;box-shadow:0 14px 30px #152a3214}.ve-atelier-images>.ve-motif{position:absolute;width:110px;height:100px;left:5%;bottom:4%}
.ve-atelier-copy .ve-statement{font-size:23px;color:#024767}.ve-process-notes{margin-top:25px}.ve-process-notes>div{display:flex;gap:20px;padding:19px 0;border-bottom:1px solid #dcded8}.ve-process-notes>div>span{padding-top:4px;font-size:11px;color:#8d7345}.ve-process-notes h3{font:400 29px/1.2 Advercase,serif;color:#024767}.ve-process-notes p{margin:8px 0 0;font-size:14px;line-height:1.7;max-width:370px}.ve-atelier-copy .ve-gallery-button{margin-top:20px}
@media(min-width:1600px){.ve-composition{height:680px}}
@media(min-width:851px) and (max-width:1100px){.ve-work-inner{gap:35px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);padding-left:5%;padding-right:5%}.ve-marea .ve-work-inner{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}.ve-composition{height:560px}.ve-work h3{font-size:68px}.ve-statement{font-size:21px}.ve-atelier-layout{gap:35px}.ve-atelier-images{height:540px}}
@media(max-width:850px){.ve-introduction{grid-template-columns:1fr;gap:26px;padding:60px 5% 40px}.ve-introduction h2,.ve-atelier h2{font-size:49px}.ve-introduction p{max-width:600px}.ve-index{gap:22px}.ve-work-inner,.ve-marea .ve-work-inner{grid-template-columns:1fr;gap:28px;padding:55px 5% 65px}.ve-composition{height:560px;grid-column:1!important;grid-row:1!important}.ve-work-copy{grid-column:1!important;grid-row:2!important;padding:0}.ve-work h3{font-size:74px}.ve-statement,.ve-description{max-width:600px}.ve-motif{width:67px;height:65px;margin:20px 0 5px}.ve-work-copy .ve-motif{position:absolute;right:0;top:35px;opacity:.3;width:80px;height:80px}.ve-work h3{padding-right:70px}.ve-statement{font-size:22px}.ve-atelier{padding:60px 5% 75px}.ve-atelier-layout{grid-template-columns:1fr;gap:30px}.ve-atelier-images{height:560px}.ve-atelier-heading{margin-bottom:32px}.ve-atelier-copy .ve-statement{max-width:600px}.ve-process-notes p{max-width:540px}}
@media(max-width:600px){.ve-introduction h2,.ve-atelier h2{font-size:43px}.ve-introduction p{font-size:15px;margin-bottom:17px}.ve-index{justify-content:space-between;gap:10px;font-size:13px}.ve-index a{gap:6px}.ve-index a>span:last-child{margin-left:3px}.ve-introduction{padding-top:45px}.ve-work-inner,.ve-marea .ve-work-inner{padding-top:38px;padding-bottom:50px;gap:30px}.ve-composition{height:410px}.ve-main{height:72%;border-radius:17px}.ve-detail{left:0;width:33%;height:41%;border-width:5px;border-radius:14px}.ve-context{width:51%;height:40%;border-width:5px;border-radius:14px}.ve-expand{width:32px;height:32px;right:9px;bottom:9px}.ve-expand svg{width:15px;height:15px}.ve-context .ve-expand,.ve-detail .ve-expand,.ve-atelier-detail .ve-expand{width:29px;height:29px;right:6px;bottom:6px}.ve-room-note{left:6px;bottom:8px;max-width:calc(100% - 45px);font-size:8px;padding:3px 4px}.ve-work h3{font-size:61px;margin-top:18px;margin-bottom:18px;padding-right:50px}.ve-work-copy .ve-motif{width:60px;height:65px;top:28px}.ve-chapter{font-size:9px;gap:11px}.ve-chapter>span{width:30px}.ve-statement{font-size:21px;line-height:1.45}.ve-description{font-size:15px;line-height:1.75}.ve-notes{font-size:10px;gap:7px 14px}.ve-gallery-button{font-size:15px;gap:40px}.ve-photo-count{font-size:10px}.ve-marea .ve-main{height:85%;width:82%}.ve-marea .ve-detail{width:37%;height:38%}.ve-marea .ve-context{width:43%;height:35%}.ve-medusa .ve-main{width:75%;height:96%}.ve-medusa .ve-context{width:34%;height:37%}.ve-medusa .ve-detail{width:34%;height:43%}.ve-atelier-images{height:390px}.ve-atelier-main{height:79%;border-radius:17px}.ve-atelier-detail{width:34%;height:48%;border-width:5px;border-radius:14px}.ve-atelier-copy .ve-statement{font-size:21px}.ve-atelier-images>.ve-motif{width:85px;height:80px;bottom:0}.ve-process-notes{margin-top:15px}.ve-process-notes>div{padding:16px 0;gap:16px}.ve-process-notes h3{font-size:27px}}
@media(max-width:370px){.ve-composition{height:365px}.ve-work h3{font-size:55px}.ve-atelier-images{height:355px}}
@media(max-width:600px){
 .ve-work-inner,.ve-marea .ve-work-inner{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:18px}
 .ve-work-copy{display:contents}.ve-chapter{order:0}.ve-work h3{order:1;margin:0;padding-right:50px}.ve-work-copy>.ve-statement{order:2;margin:0 0 3px}.ve-composition{order:3;width:100%;height:375px;margin:4px 0 6px}.ve-description{order:4;margin:0}.ve-notes{order:5;margin:0}.ve-gallery-button{order:6;align-self:flex-start}.ve-photo-count{order:7;margin:0}.ve-work-copy>.ve-motif{top:55px;right:5%;margin:0}
}
@media(max-width:370px){.ve-composition{height:350px}}
@media(prefers-reduced-motion:reduce){.ve-photo,.ve-photo img,.ve-motif,.ve-gallery-button>span,.ve-index a>span{transition:none!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){.ve-motif path{stroke-dashoffset:0;transition:none}}

