/* Shared gallery pagination: one definition for inline images and fullscreen. */
.photo-dots{display:flex!important;justify-content:center;align-items:center;gap:2px;color:inherit}
.photo-dots button{position:relative!important;flex:0 0 30px!important;width:30px!important;height:32px!important;min-width:30px!important;min-height:32px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.photo-dots button:before{display:none!important}
.photo-dots button:after{content:'';position:absolute;width:8px;height:8px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:currentColor;opacity:.5}
.photo-dots button[aria-pressed=true]:after{background:var(--brand-primary);opacity:1;width:10px;height:10px}
.photo-dots button:focus-visible{outline:2px solid var(--brand-primary)!important}
#chatbot-panel .chatbot-footer:has([data-cb=copy][hidden]){display:none!important}
#chatbot-panel .chatbot-body{display:flex!important;flex-direction:column!important;min-height:0}
#chatbot-panel #chatbot-messages{flex:1;min-height:0;width:100%!important;max-height:none!important}
#chatbot-panel #chatbot-media:not([hidden]){display:flex!important;position:relative!important;flex-direction:column;flex:none!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;margin:14px 0!important;padding:12px!important;box-sizing:border-box;background:var(--brand-surface-dark)!important;color:var(--brand-white)!important;border-radius:calc(var(--brand-radius) * 0.6666666666666666)}
#chatbot-panel #chatbot-media img{position:static!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:48dvh!important;object-fit:contain;align-self:center;margin:8px auto}
#chatbot-panel #chatbot-media nav{position:static!important;flex:none}
#chatbot-panel #chatbot-media figcaption{padding-right:30px;font-size:15px}
#chatbot-panel #chatbot-media-page{font-size:13px;padding:7px 12px;align-self:flex-start}
#chat-launcher{display:none}
#contact-dialog #contact-form{filter:blur(7px);pointer-events:none;user-select:none;opacity:.35}
.contact-coming-soon{position:absolute;z-index:3;inset:50% 20px auto;transform:translateY(-50%);padding:24px;border-radius:20px;background:var(--brand-plum);color:var(--brand-white);box-shadow:0 12px 60px #0005;text-align:center}
.contact-coming-soon p{font-size:16px;line-height:1.5;margin:0 0 18px}
.contact-coming-soon a{display:block;color:inherit;overflow-wrap:anywhere;margin:12px 0}
.contact-coming-soon button{background:var(--brand-primary);color:var(--brand-plum);padding:12px 20px;border-radius:calc(var(--brand-radius-button) * 1.0);border:0;font:inherit}
.contact-close{z-index:5}
#arredi .mobile-carousel-hint{color:var(--brand-plum)}
@media(max-width:900px){
 :root,:is(#citta,#arredi,#palazzo-butera){--panel-bottom:64px!important;--panel-top:108px}
 :is(.urban-pin,.furniture-pin,.byat-pin,.journey-pin){height:100dvh!important}
 .urban-pin{--board-height:calc(100dvh - var(--panel-top) - 64px)!important}
 .site-header .timeline-label{display:flex;align-items:center;justify-content:center;min-height:30px!important;font-size:clamp(9px,2.5vw,12px);line-height:1.15!important;text-wrap:balance}
 .site-header .timeline-line i{display:block!important;background:var(--brand-primary);transform:scaleX(var(--mobile-progress,0))!important;transform-origin:left}
 #chatbot-dock[data-mode=compact]{display:none!important}
 #chat-launcher{display:grid;place-items:center;position:fixed;z-index:90;right:var(--page-margin);bottom:calc(var(--hud-inset,0px) + 66px);width:44px;height:44px;padding:10px;border:var(--brand-border-width) solid var(--brand-primary);border-radius:50%;background:var(--brand-plum);color:var(--brand-primary)}
 #chat-launcher svg{width:24px;height:24px}
 .mobile-menu-toggle,#skip-animation{position:fixed!important;bottom:calc(var(--hud-inset,0px) + 12px)!important;height:44px!important;min-height:44px!important}
 #skip-animation{right:auto!important;left:var(--page-margin)!important}
 #page-scroll-indicator:not([hidden]){display:flex!important;position:fixed!important;inset:auto!important;bottom:calc(var(--hud-inset,0px) + 10px)!important;left:50%!important;transform:translateX(-50%)!important;height:44px!important;z-index:45;pointer-events:auto}
 #page-scroll-indicator .hud-mouse,#page-scroll-indicator .hud-keys,#page-scroll-indicator .pan-icon{display:none!important}
 #page-scroll-indicator .hud-pan{display:block!important;height:38px}
 #page-scroll-indicator[data-axis=horizontal] .pan-vertical{display:block;animation:cue-alternate 4s infinite}
 #page-scroll-indicator[data-axis=horizontal] .pan-horizontal{animation:cue-alternate 4s 2s infinite}
 .mobile-carousel-hint{display:none!important}
 #hold-animation:not([hidden]){bottom:calc(var(--hud-inset,0px) + 64px)!important;max-width:calc(100vw - 120px);font-size:11px}
 html.chat-writing #chat-writing-layer{background:var(--brand-plum);pointer-events:auto}
 html.chat-writing :is(#chat-launcher,#page-scroll-indicator){visibility:hidden!important}
 html.chat-writing #chatbot-panel #chatbot-media:not([hidden]){display:flex!important}
 html.chat-writing #chatbot-panel .chatbot-body{overflow:hidden!important;flex:1!important;min-height:0!important}
 html.chat-writing #chatbot-panel #chatbot-messages{height:auto!important;flex:1!important}
 #chatbot-section-slot{height:100dvh!important;padding-bottom:64px!important}
 #chatbot-panel .chatbot-message{padding:12px!important;margin-bottom:12px!important;border-radius:16px}
 #chatbot-panel .chatbot-actions{gap:6px}
 #chatbot-panel .chatbot-actions button{min-height:36px;font-size:13px!important;padding:8px 10px}
 #palazzo-butera .butera-panel{display:flex!important;flex-direction:column;overflow-y:auto!important;overscroll-behavior:contain;gap:14px;padding:18px!important}
 #palazzo-butera .byat-copy{flex:none!important;overflow:visible!important;height:auto!important;padding:var(--ds-box-spacing-mobile-35)!important;}
 #palazzo-butera .byat-copy h3{font-size:var(--ds-heading-size-mobile-17);line-height:var(--ds-heading-line-mobile-4);}
 #palazzo-butera .byat-copy p{font-size:var(--ds-body-size-mobile-12)!important;line-height:var(--ds-body-line-mobile-10)!important;margin-top:12px}
 #palazzo-butera .photo-gallery{flex:none!important;min-height:200px;width:100%}
 #palazzo-butera .photo-stage{height:clamp(180px,30dvh,340px)!important;flex:none!important}
 .photo-stage{padding-left:0!important;padding-right:0!important;width:100%!important}
 .photo-arrow{position:absolute!important;z-index:5;top:50%!important;transform:translateY(-50%);width:40px!important;height:40px!important;background:var(--brand-glass-plum)!important;color:var(--brand-white)!important;backdrop-filter:blur(8px)}
 .photo-arrow:first-of-type{left:6px!important}.photo-arrow:last-of-type{right:6px!important}
 .contact-spoon-background{display:none!important}
 .contact .contact-pin{padding-bottom:66px!important;gap:12px!important;min-height:100dvh}
 .contact .contact-paths{gap:var(--ds-box-spacing-mobile-22)!important;}
 .contact .contact-path{position:relative;min-height:0!important;padding:var(--ds-box-spacing-mobile-23)!important;gap:var(--ds-box-spacing-mobile-24)!important;}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-18)!important;line-height:var(--ds-heading-line-mobile-5)!important;padding-right:38px}
 .contact .contact-path .eyebrow{font-size:var(--ds-caption-size-mobile-6)!important;}
 .contact .contact-path>p:not(.eyebrow){font-size:var(--ds-caption-size-mobile-7)!important;line-height:var(--ds-caption-line-mobile-2)!important;}
 .contact .contact-cta{position:absolute;right:12px;top:14px;gap:3px!important;min-height:0!important}
 .contact footer{margin-top:0!important;padding-top:12px!important;gap:6px!important;font-size:11px!important}
 .contact footer>a[href^=mailto]{min-height:26px!important;font-size:13px!important}
}
@keyframes cue-alternate{0%,40%{opacity:1}50%,90%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){#page-scroll-indicator *{animation:none!important}}
.photo-dots button{color:inherit!important}
.contact .contact-path .contact-cta{width:auto!important;left:auto!important;display:flex;justify-content:flex-end;gap:var(--ds-box-spacing-base-16)!important;}
.contact .contact-path .contact-cta>span{position:static!important;transform:none!important}
@media(max-width:900px){
 #palazzo-butera .photo-gallery{flex:1!important;display:flex;flex-direction:column}
 #palazzo-butera .photo-stage{flex:1!important;height:auto!important;min-height:200px!important}
 #arredi .furniture-intro,#arredi .gallery-intro{color:var(--brand-plum)!important;border-color:var(--brand-glass-edge-on-light)!important}
}
