:root{--font-heading:'Playfair Display',Georgia,'Times New Roman',Times,serif;--font-body:'Source Sans 3',Arial,Helvetica,sans-serif;--max-content-width:1280px;--image-text:#fff;--image-text-muted:#d3d3d3;--image-text-highlight:#ccbf99;--image-btn-bg:#1f1f1f;--image-btn-text:#fff;--light-section:#f5f4f2;--light-text:#1f1f1f;--light-text-muted:#808080;--light-text-highlight:#a68150;--light-hr:#d3d3d3;--light-btn-bg:transparent;--light-btn-text:#1f1f1f;--light-map-btn-bg:#f5f4f2;--dark-section:#1f1f1f;--dark-text:#f5f4f2;--dark-text-muted:#b3b1af;--dark-text-highlight:#ccbf99;--dark-link-line:#595958;--dark-btn-bg:#ccbf99;--dark-btn-text:#1f1f1f;--lb-overlay:#1f1f1f;--lb-text:#a5a4a2;--lb-btn-bg:rgba(30,30,30,0.6);--lb-scrollbar:#6a6a6a}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}img{display:block;max-width:100%;height:auto}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}@font-face{font-family:'Playfair Display';src:url('../assets/playfair-display.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:'Playfair Display';src:url('../assets/playfair-display-italic.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:'Source Sans 3';src:url('../assets/source-sans-3.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}body{font-family:var(--font-body);color:var(--light-text);overflow-x:clip;background-color:var(--dark-section)}.hero{position:relative;width:100%;min-height:100vh;min-height:100dvh;color:var(--image-text);display:flex;flex-direction:column;padding:30px 60px;overflow:hidden}@media (max-width:768px){.hero{min-height:100svh;padding:20px 25px}}.hero-bg{position:absolute;top:-5%;left:0;width:100%;height:110%;object-fit:cover;object-position:center;z-index:0;transform:translateY(0)}@media (max-width:768px){.hero-bg{top:0;height:100%}}.hero-overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0.15) 25%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0.5) 75%,rgba(0,0,0,0.8) 100%)}.hero nav{position:relative;z-index:2}.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--max-content-width);margin:0 auto;height:100%;display:flex;flex-direction:column;flex:1}nav{display:flex;justify-content:space-between;align-items:center;gap:20px}.nav-item-mask{overflow:hidden}.js .nav-item--animated{transform:translateY(110%);opacity:0}.js .nav-item--animated.is-revealed{animation:heroNavReveal 700ms cubic-bezier(0.16,1,0.3,1) forwards}@keyframes heroNavReveal{to{transform:translateY(0);opacity:1}}.logo .desktop{font-size:20px;font-weight:700}.logo .mobile{font-size:20px;font-weight:700;display:none}@media (max-width:420px){.logo .desktop{display:none}.logo .mobile{display:block}}.btn-primary{background:var(--image-btn-bg);color:var(--image-btn-text);border-radius:100px;font-size:14px;font-weight:400;padding:11px 22px 10px 22px;display:flex;text-transform:uppercase}.btn-secondary{background:var(--dark-btn-bg);color:var(--dark-btn-text);border-radius:100px;font-size:18px;font-weight:400;padding:16px 35px 15px 35px;display:flex;text-transform:uppercase}@media (max-width:768px){.btn-secondary{font-size:16px}}.btn-tertiary{background:var(--light-btn-bg);color:var(--light-btn-text);border:1px solid var(--light-text-highlight);border-radius:100px;font-size:16px;font-weight:400;padding:13px 24px 12px 24px;display:inline-block;text-transform:uppercase}.btn-effect{overflow:hidden;display:block}.btn-effect-text{position:relative;display:block}.btn-primary.btn-rolled .btn-effect-text,.btn-secondary.btn-rolled .btn-effect-text,.btn-tertiary.btn-rolled .btn-effect-text{animation:btnRoll 0.5s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes btnRoll{to{transform:translateY(100%)}}.hero-content{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto 1fr;justify-items:center;z-index:2;pointer-events:none;padding-bottom:40px}@media(max-width:768px){.hero-content{padding-bottom:20px}}.hero-kicker{grid-row:1;align-self:end;font-size:14px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:14px;text-align:center}@media (max-width:768px){.hero-kicker{margin-bottom:7px}}.hero-kicker--animated{overflow:hidden}.js .hero-kicker--animated>span{display:block;transform:translateY(110%);opacity:0}.js .hero-kicker--animated.is-revealed>span{animation:heroKickerReveal 700ms cubic-bezier(0.16,1,0.3,1) forwards}@keyframes heroKickerReveal{to{transform:translateY(0);opacity:1}}.kicker-line{display:inline-block;vertical-align:middle;height:1px;background-color:currentColor;width:40px;margin:0 15px;opacity:0.5}@media (max-width:768px){.kicker-line{display:none}}.hero-title{font-family:var(--font-heading);font-size:120px;line-height:1.1;font-weight:600;letter-spacing:-0.02em;text-align:center}.hero-title-line{display:block}.hero-title-line:nth-child(2){font-style:italic;color:var(--image-text-highlight)}.js .hero-title-line>span{display:block;transform:translateY(50%);opacity:0}.js .hero-title.is-revealed .hero-title-line>span{animation:heroTitleReveal 900ms cubic-bezier(0.16,1,0.3,1) forwards}.js .hero-title.is-revealed .hero-title-line:nth-child(2)>span{animation-delay:200ms}.js .hero-title.is-revealed .hero-title-line:nth-child(3)>span{animation-delay:400ms}@keyframes heroTitleReveal{to{transform:translateY(0);opacity:1}}@media (max-width:992px){.hero-title{font-size:94px}}@media (max-width:768px){.hero-title{font-size:68px}}.hero-scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--image-text-muted);opacity:1}.hero-scroll-indicator-mask.hidden{opacity:0;pointer-events:none;transform:translateY(40px)}.hero-scroll-indicator span{font-size:11px;letter-spacing:0.18em;text-transform:uppercase}.hero-scroll-indicator .scroll-line{color:var(--image-text);position:relative;width:1px;height:50px;background:rgba(255,255,255,0.3);overflow:hidden}.hero-scroll-indicator .scroll-gauge{--gauge:25px;height:var(--gauge);position:absolute;left:0;top:0;width:100%;background:var(--image-text-muted);animation:scrollGaugeMove 2s cubic-bezier(0.83,0,0.17,1) infinite}@keyframes scrollGaugeMove{0%{transform:translateY(calc(var(--gauge) * -1))}100%{transform:translateY(calc(var(--gauge) * 2))}}@media(max-width:768px){.hero-scroll-indicator span{font-size:10px}.hero-scroll-indicator .scroll-line{height:25px}.hero-scroll-indicator .scroll-gauge{--gauge:12.5px}}.hero-scroll-indicator-mask{position:absolute;left:0;right:0;bottom:-10px;margin:0 auto;width:max-content;overflow:hidden;z-index:3;transition:opacity 1200ms cubic-bezier(0.25,0.46,0.45,0.94),transform 1200ms cubic-bezier(0.25,0.46,0.45,0.94)}.js .hero-scroll-indicator--animated{position:static;transform:translateY(-110%);opacity:0}.js .hero-scroll-indicator--animated.is-revealed{animation:heroScrollIndicatorReveal 700ms cubic-bezier(0.16,1,0.3,1) forwards}@keyframes heroScrollIndicatorReveal{to{transform:translateY(0);opacity:1}}.container{width:100%;margin:0 auto}.hero-transition{background:var(--light-section);padding:180px 0 190px 0}@media (max-width:992px){.hero-transition{padding:120px 0 130px 0}}@media(max-width:768px){.hero-transition{padding:60px 25px}}.hero-transition .container{padding:0 60px}@media(max-width:768px){.hero-transition .container{padding:0}}.hero-transition h2{font-family:var(--font-heading);font-size:80px;text-align:center;color:var(--light-text);font-weight:400}@media (max-width:992px){.hero-transition h2{font-size:58px}}@media(max-width:768px){.hero-transition h2{font-size:36px}}.hero-transition-title-line{display:block;overflow:hidden}.js .hero-transition-title-line>span{display:block;transform:translateY(110%);opacity:0}.hero-transition-title-highlight{color:var(--light-text-highlight);font-style:italic}.js .hero-transition-title.is-revealed .hero-transition-title-line>span{animation:heroTransitionTitleReveal 900ms cubic-bezier(0.16,1,0.3,1) forwards}.js .hero-transition-title.is-revealed .hero-transition-title-line:nth-child(2)>span{animation-delay:400ms}@keyframes heroTransitionTitleReveal{to{transform:translateY(0);opacity:1}}.gallery{background:var(--dark-section);padding:40px 0}@media(max-width:768px){.gallery{padding:20px 0}}.gallery .grid-container{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr;grid-template-areas:"photo-1 photo-1 photo-2 photo-2" "photo-1 photo-1 photo-3 photo-4";padding:0;height:min(60vw,800px);overflow-anchor:none;gap:40px}@media(max-width:768px){.gallery .grid-container{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;grid-template-areas:"photo-1 photo-1" "photo-2 photo-2" "photo-3 photo-4";height:80svh;gap:20px}}.photo-1{grid-area:photo-1}.photo-2{grid-area:photo-2}.photo-3{grid-area:photo-3}.photo-4{grid-area:photo-4}.photo-4 .more-photos{position:absolute;inset:0;display:grid;place-items:center;color:var(--image-text);font-family:var(--font-heading);font-size:45px;font-weight:600;z-index:4;opacity:0;padding-bottom:5px;transition:opacity 400ms ease 600ms}.photo-4 .more-photos.more-photos-visible{opacity:1}.more-photos span{display:block;z-index:2;font-variant-numeric:lining-nums}.photo-frame{color:inherit;font:inherit;text-align:inherit;position:relative;width:100%;height:100%;min-height:1px}.photo-clip{position:absolute;inset:0;display:block;overflow:hidden}.photo-4 img{filter:brightness(0.5)}.reveal-curtain{position:absolute;inset:0;width:100%;height:100%;background:var(--reveal-color,var(--dark-section));z-index:2;clip-path:inset(0 0 100% 0)}.photo-frame.revealed .reveal-curtain{animation:curtainSweep 1400ms cubic-bezier(0.65,0,0.35,1) forwards}@keyframes curtainSweep{0%{clip-path:inset(0 0 100% 0)}45%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(100% 0 0 0)}}.photo-frame .reveal-image{position:absolute;inset:0;width:100%;height:100%;z-index:1;object-fit:cover;display:block;opacity:1;transform:scale(1);transition:transform 400ms ease}@media (hover:hover) and (pointer:fine){.photo-frame:hover .reveal-image{transform:scale(1.05)}.description-map:hover img{transform:scale(1.05)}.animated-a:hover{background-size:100% 1px,100% 1px;background-position:0 100%,0 100%}.lightbox-thumbs button:hover img{opacity:0.8}}.info{background:var(--light-section);position:relative;z-index:1}.info .container{padding:0 60px;max-width:var(--max-content-width)}@media(max-width:768px){.info .container{padding:0 25px}}.info .grid-container{display:grid;grid-template-columns:1.75fr 1fr;padding:100px 0 110px 0;gap:120px;align-items:start}.js .info .grid-container{transform:translateX(5%);opacity:0}@media(max-width:992px){.info .grid-container{grid-template-columns:none;align-items:normal;padding:100px 0 60px 0;gap:50px}}@media(max-width:768px){.info .grid-container{grid-template-columns:none;align-items:normal;padding:50px 0 60px 0;gap:50px}}.js .info .grid-container.is-revealed{animation:infoGridReveal 900ms cubic-bezier(0.16,1,0.3,1) forwards}@keyframes infoGridReveal{to{transform:translateX(0);opacity:1}}.js .description-block1{--lines:35;--line-height:1.5;position:relative}.js .description-block1 .description-property{overflow:visible}.js .description-block1.is-collapsed .description-body{overflow:hidden;max-height:calc(var(--lines) * var(--line-height) * 1em);-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}@supports (max-height:1lh){.js .description-block1.is-collapsed .description-body{max-height:calc(var(--lines) * 1lh)}}.description-toggle{display:none}.js .description-toggle{position:static;height:auto;margin:14px 0 10px 0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center}@media(max-width:768px){.js .description-toggle{margin:10px 0}}.js .description-toggle[hidden]{display:none}.js .animated-btn::before,.js .animated-btn::after{content:"";height:1px;background:var(--light-hr)}.js .animated-btn::before{margin-right:20px}.js .animated-btn::after{margin-left:20px}.js .animated-btn{font-size:18px;font-weight:600;color:var(--light-text);text-decoration:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:0;background:none;border:none}@media(max-width:768px){.js .animated-btn{font-size:16px}}.js .animated-btn span{color:var(--light-text-muted);text-decoration:none;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--light-hr),var(--light-hr));background-position:100% 100%,0% 100%;background-repeat:no-repeat;background-size:0% 1px,100% 1px;transition:background-size 0.35s ease;cursor:pointer}.js .animated-btn:hover span{background-size:100% 1px,100% 1px;background-position:0% 100%,0% 100%}.description h3{font-family:var(--font-heading);color:var(--light-text-highlight);font-size:40px;font-weight:500}@media(max-width:768px){.description h3{font-size:28px}}.description-h3-edit{margin-top:60px}@media(max-width:768px){.description-h3-edit{margin-top:26px}}.description-intro{font-size:22px;margin:40px 0 30px 0;line-height:1.5;padding-left:20px;box-shadow:inset 3px 0 0 0 var(--light-text-highlight)}@media(max-width:768px){.description-intro{font-size:18px;margin:30px 0 20px 0}}.description-outro{font-size:22px;margin-top:44px;line-height:1.5;padding-left:20px;box-shadow:inset 3px 0 0 0 var(--light-text-highlight)}@media(max-width:768px){.description-outro{font-size:18px;margin:30px 0 10px 0}}.description h4{color:var(--light-text);font-size:26px;font-weight:700}@media(max-width:768px){.description h4{font-size:22px}}.description-h4{color:var(--light-text);font-size:22px;margin:20px 0 30px 0;line-height:1.5}@media(max-width:768px){.description-h4{font-size:18px;margin:10px 0 15px 0;line-height:1.5}}.description-h4-edit{color:var(--light-text);font-size:22px;margin:40px 0 30px 0;line-height:1.5}@media(max-width:768px){.description-h4-edit{font-size:18px;margin:20px 0 15px 0;line-height:1.5}}.description ul{font-size:22px;margin:0 0 30px 30px;line-height:1.5}@media(max-width:768px){.description ul{font-size:18px;margin:0 0 15px 25px}}.description-address{color:var(--light-text-muted);font-style:normal;margin:40px 0 16px 0;font-size:22px}@media(max-width:768px){.description-address{font-size:16px;margin:20px 0 8px 0}}.features{position:sticky;top:40px;align-self:start}@media (max-width:992px){.description{order:2;border-top:1px solid var(--light-hr);padding-top:35px}.features{order:1;position:static;align-self:auto}}@media (max-width:768px){.description{order:2;border-top:1px solid var(--light-hr);padding-top:35px}.features{order:1;position:static;align-self:auto}}.features-price{font-family:var(--font-heading);font-size:64px;font-weight:500;color:var(--light-text);margin-top:-17px;text-align:center;font-variant-numeric:lining-nums}@media(max-width:768px){.features-price{font-size:36px;margin-top:0}}.features-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 40px;margin:60px auto;width:fit-content}@media(max-width:992px){.features-meta{grid-template-columns:repeat(4,1fr);margin:30px auto}.features-meta>:nth-child(9){grid-column:2}.container>:nth-child(10){grid-column:3}}@media(max-width:768px){.features-meta{grid-template-columns:repeat(2,1fr);margin:30px auto}.features-meta>:nth-child(9){grid-column:1}.container>:nth-child(10){grid-column:2}}.field{display:flex;column-gap:18px;justify-content:flex-start;align-items:center;font-size:18px}@media(max-width:768px){.field:nth-child(n+5):nth-child(-n+8){display:none}}.field svg{color:var(--light-text-highlight)}.dpe,.ges{justify-content:center;border-top:1px solid var(--light-hr);padding-top:20px;color:var(--light-text-highlight);font-weight:500}.dpe .value,.ges .value{border-radius:4px;text-align:center;width:24px}.dpe .value{background-color:#b5d334}.ges .value{background-color:#f2e6f7}.label{color:var(--light-text-muted);display:block;font-size:14px}.value{color:var(--light-text);display:block;font-size:18px}.button-features{text-align:center}.description-map{overflow:hidden;aspect-ratio:100 / 35;position:relative;width:100%;border:0;border-radius:16px;cursor:pointer}.description-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease}.features-modal,.map-modal{overscroll-behavior:none;position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(30,30,30,0.8);opacity:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity 280ms cubic-bezier(0.16,1,0.3,1)}@media (max-width:768px){.features-modal,.map-modal{padding:16px}}.features-modal.open{display:flex}.features-modal.visible{opacity:1}.features-modal-content{position:relative;display:flex;flex-direction:column;overflow:hidden;width:min(100%,620px);max-height:min(82vh,720px);box-sizing:border-box;padding:38px 0;border-radius:16px;background:var(--light-section);box-shadow:0 24px 70px rgba(0,0,0,0.35);transform:translateY(16px) scale(0.98);transition:transform 280ms cubic-bezier(0.16,1,0.3,1)}@media (max-width:768px){.features-modal-content{max-height:86vh;padding:30px 0;border-radius:16px}}.features-modal.visible .features-modal-content{transform:translateY(0) scale(1)}.features-modal-header{display:flex;align-items:center;gap:24px;padding:0 40px 22px 40px;flex:0 0 auto;border-bottom:1px solid var(--light-hr)}.features-modal-body{overflow-y:auto;padding:0 40px 38px 40px}@media (max-width:768px){.features-modal-body{padding:0 25px 30px 25px}}.features-modal-close{top:8px;right:24px;width:44px;height:44px}@media (max-width:768px){.features-modal-close{top:5px}}.features-modal-list{display:grid;gap:18px;padding-top:24px}.features-modal-item{display:flex;align-items:center;gap:16px;font-size:20px}@media (max-width:768px){.features-modal-item{font-size:18px}}.features-modal-item svg{color:var(--light-text-highlight);flex:0 0 auto;width:24px;height:24px}.features-modal-section-title{font-family:var(--font-heading);color:var(--light-text-highlight);font-size:30px;font-weight:500;margin-top:36px;padding-top:30px;border-top:1px solid var(--light-hr)}@media (max-width:768px){.features-modal-section-title{font-size:24px}}.features-modal-section-title:first-of-type{padding-top:0;border-top:none}.map-modal.open{display:flex}.map-modal.visible{opacity:1}.map-modal-content{position:relative;width:min(100%,1000px);height:min(80vh,720px);box-shadow:0 24px 70px rgba(0,0,0,0.35);transform:translateY(12px) scale(0.98);transition:transform 280ms cubic-bezier(0.16,1,0.3,1)}@media (max-width:768px){.map-modal-content{height:75vh}}.map-modal.visible .map-modal-content{transform:translateY(0) scale(1)}.map-modal-close{top:10px;right:10px;width:44px;height:44px}.map-modal iframe{display:block;width:100%;height:100%;border:0;border-radius:16px}.js .contact{background:var(--dark-section);overflow:hidden;position:relative;opacity:0.25}.js .contact .container{transform:translate3d(0,-280px,0)}.contact-row{display:flex;flex-direction:column;align-items:center;padding:180px 0 190px 0}@media(max-width:768px){.contact-row{padding:90px 25px 130px 26px}}.js .contact-row h2,.js .contact-row p,.js .contact-row .mails{opacity:0}.contact-row h2{font-family:var(--font-heading);color:var(--dark-text-highlight);font-size:80px;text-align:center;margin-bottom:60px;font-weight:500}@media(max-width:768px){.contact-row h2{font-size:36px;margin-bottom:30px}}.contact-row p{color:var(--dark-text-muted);text-align:center;max-width:660px;font-size:24px;margin-bottom:100px}@media(max-width:768px){.contact-row p{font-size:20px;margin-bottom:50px}}.contact .mails{display:flex;align-items:center;gap:40px}@media(max-width:768px){.contact .mails{flex-direction:column;gap:30px}}.animated-a{font-size:22px;color:var(--dark-text-muted);text-decoration:none;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--dark-link-line),var(--dark-link-line));background-position:100% 100%,0% 100%;background-repeat:no-repeat;background-size:0% 1px,100% 1px;display:inline;transition:background-size 0.35s ease}@media(max-width:768px){.animated-a{font-size:18px}}.btn-primary .btn-label{display:inline-flex;gap:11px}.btn-secondary .btn-label,.btn-tertiary .btn-label{display:inline-flex;align-items:center;gap:16px}.btn-label-clone{position:absolute;bottom:100%;left:0;right:0}.credits{color:var(--dark-text-muted);font-size:16px;text-align:center;margin:40px 0 60px 0}@media(max-width:768px){.credits{font-size:14px;padding:0 25px;margin:0 0 40px 0}}.lightbox-overlay{overscroll-behavior:none;position:fixed;inset:0;z-index:1000;background:var(--lb-overlay);display:none;flex-direction:column;overflow:hidden;opacity:0;transition:opacity 280ms cubic-bezier(0.16,1,0.3,1)}.lightbox-overlay.open{display:flex}.lightbox-overlay.visible{opacity:1}.lightbox-stage{position:relative;flex:1;min-height:0}.lb-btn{color:var(--lb-text);background:var(--lb-btn-bg);position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;border-radius:12px}.map-modal .lb-btn,.features-modal .lb-btn{background:var(--light-map-btn-bg)}.lightbox-counter{color:var(--lb-text);position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;top:28px;left:22px;font-size:14px;font-weight:600;text-shadow:-1px 0 0 var(--dark-section),1px 0 0 var(--dark-section),0 -1px 0 var(--dark-section),0 1px 0 var(--dark-section),-1px -1px 0 var(--dark-section),1px -1px 0 var(--dark-section),-1px 1px 0 var(--dark-section),1px 1px 0 var(--dark-section)}.lightbox-close{top:16px;right:16px;width:44px;height:44px;font-size:14px;font-weight:600}.lightbox-arrow{top:50%;transform:translateY(-50%);width:44px;height:44px}.lightbox-arrow.prev{left:16px}.lightbox-arrow.next{right:16px}@media(max-width:768px){.lightbox-arrow{display:none}}.lightbox-img-wrap{width:100%;height:100%;overflow:hidden;background:transparent;user-select:none;touch-action:pan-y}.lightbox-img-wrap.dragging .lightbox-slide img{cursor:grabbing}.lightbox-rail{display:flex;height:100%;transition:transform 380ms cubic-bezier(0.25,0.46,0.45,0.94)}.lightbox-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox-slide img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;user-select:none;-webkit-user-drag:none;cursor:grab}.lightbox-thumbs-outer{flex-shrink:0;overflow-x:auto;margin-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--lb-scrollbar) transparent}.lightbox-thumbs-outer::-webkit-scrollbar{height:6px}.lightbox-thumbs-outer::-webkit-scrollbar-track{background:transparent}.lightbox-thumbs-outer::-webkit-scrollbar-thumb{background:var(--lb-scrollbar);border-radius:3px}.lightbox-thumbs-outer::-webkit-scrollbar-thumb:hover{background:var(--lb-text)}.lightbox-thumbs{display:flex;justify-content:center;gap:8px;padding:16px;min-width:max-content;margin:0 auto;overflow:visible}.lightbox-thumbs button{appearance:none;border:0;padding:0;background:transparent;display:block;cursor:pointer}.lightbox-thumbs img{height:50px;width:75px;min-width:75px;object-fit:cover;border-radius:6px;display:block;opacity:0.45;transition:opacity 220ms ease,transform 220ms ease,margin 220ms ease;transform-origin:center center}.lightbox-thumbs button.active img{opacity:1;transform:scale(1.15);margin:0 calc(75px * 0.15 / 2)}.icon-effect{position:relative;display:inline-block;width:18px;height:18px;overflow:hidden}.icon-effect svg{position:absolute;top:0;left:0}.icon-effect .icon-current{transform:translateY(0)}.icon-effect .icon-next{transform:translateY(-100%)}.lb-btn.lb-rolled .icon-effect .icon-current{animation:iconRollCurrent 0.5s cubic-bezier(0.16,1,0.3,1) forwards}.lb-btn.lb-rolled .icon-effect .icon-next{animation:iconRollNext 0.5s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes iconRollCurrent{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes iconRollNext{from{transform:translateY(-100%)}to{transform:translateY(0)}}.icon-effect-h{position:relative;display:inline-block;width:24px;height:24px;overflow:hidden}.icon-effect-h svg{position:absolute;top:0;left:0}.icon-effect-h .icon-current{transform:translateX(0)}.icon-effect-h.left .icon-next{transform:translateX(100%)}.icon-effect-h.right .icon-next{transform:translateX(-100%)}.lb-btn.lb-rolled .icon-effect-h.left .icon-current{animation:iconHLeftCurrent 0.5s cubic-bezier(0.16,1,0.3,1) forwards}.lb-btn.lb-rolled .icon-effect-h.left .icon-next{animation:iconHLeftNext 0.5s cubic-bezier(0.16,1,0.3,1) forwards}.lb-btn.lb-rolled .icon-effect-h.right .icon-current{animation:iconHRightCurrent 0.5s cubic-bezier(0.16,1,0.3,1) forwards}.lb-btn.lb-rolled .icon-effect-h.right .icon-next{animation:iconHRightNext 0.5s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes iconHLeftCurrent{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes iconHLeftNext{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes iconHRightCurrent{from{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes iconHRightNext{from{transform:translateX(-100%)}to{transform:translateX(0)}}.js .page-intro-curtain{position:fixed;inset:0;z-index:2000;background:var(--dark-section);transform:translateY(0);pointer-events:none}.js .page-intro-curtain.is-opening{animation:pageIntroCurtain 900ms cubic-bezier(0.65,0,0.15,1) forwards}@keyframes pageIntroCurtain{to{transform:translateY(100%);visibility:hidden}}.photo-frame:focus-visible,.lb-btn:focus-visible,.lightbox-thumbs button:focus-visible{outline:2px solid currentColor;outline-offset:4px}