.sfc-home-gallery{--sfc-blue:#244bff;--sfc-ink:#101c2f;position:relative;min-width:0;margin:12px 0 42px}.sfc-home-gallery .sfc-gallery-track{display:flex;gap:24px;overflow-x:auto;padding:16px 4px;scroll-snap-type:x mandatory}.sfc-home-gallery .photobutton{flex:0 0 32%;min-width:0;height:auto;background:transparent;border:0;padding:0;cursor:pointer;scroll-snap-align:center}.sfc-home-gallery .photobutton img{display:block;width:100%;height:auto!important;aspect-ratio:4/3;object-fit:cover}.sfc-home-gallery .photobutton>span:not(.sfc-ai-label):not(:has(img)){position:static;display:block;inset:auto;background:transparent;color:var(--sfc-ink);font-size:13px;padding:12px 0;white-space:normal}.sfc-home-gallery.is-arc .sfc-gallery-track{display:block;position:relative;overflow:clip;height:390px;padding:0;touch-action:pan-y;isolation:isolate;scroll-snap-type:none;cursor:grab}.sfc-home-gallery.is-arc .sfc-gallery-track:active{cursor:grabbing}.sfc-home-gallery.is-arc .photobutton{position:absolute;left:50%;top:30px;width:360px;max-width:none;height:auto;overflow:hidden;border-radius:12px;transform:translateX(-50%);transform-origin:50% 100%;transition:transform .65s cubic-bezier(.22,.68,.25,1),opacity .45s,box-shadow .45s;will-change:transform;box-shadow:0 8px 20px rgba(16,28,47,.12);-webkit-tap-highlight-color:transparent}.sfc-home-gallery.is-arc .photobutton>span:not(.sfc-ai-label):not(:has(img)){display:none}.sfc-home-gallery.is-arc .photobutton.is-current{box-shadow:0 28px 54px -12px rgba(16,28,47,.30),0 10px 24px -8px rgba(16,28,47,.17),0 0 0 3px #244bff}.sfc-home-gallery.is-arc .photobutton img{pointer-events:none;user-select:none;transition:filter .5s}.sfc-home-gallery.is-arc .photobutton:not(.is-current) img{filter:saturate(.75) brightness(.87)}.sfc-home-gallery.is-arc .photobutton.is-current img{filter:none}.sfc-home-gallery.is-arc .sfc-gallery-track:before{content:"";position:absolute;left:8%;right:8%;height:150px;top:220px;border-bottom:1px solid #dce4f3;border-radius:0 0 50% 50%;z-index:-1}.sfc-gallery-active-caption{max-width:610px;margin:-14px auto 0;min-height:56px;text-align:center;color:var(--sfc-ink);font-size:15px;line-height:1.6}.sfc-gallery-active-caption small{display:block;font-size:11px;color:#657083}.sfc-gallery-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px}.sfc-gallery-controls button{border:1px solid #d7dfed;background:#fff;color:var(--sfc-ink);font:inherit;cursor:pointer;min-height:44px;min-width:44px;padding:9px 14px;transition:background .2s,color .2s}.sfc-gallery-controls [data-gallery-prev],.sfc-gallery-controls [data-gallery-next]{border-radius:50%;font-size:22px;padding:4px;background:var(--sfc-blue);border-color:var(--sfc-blue);color:white}.sfc-gallery-controls [data-gallery-rotation]{border:0;background:transparent;font-size:12px;color:#657083;min-width:144px}.sfc-gallery-controls [data-gallery-position]{color:var(--sfc-blue);font-size:12px;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums;min-width:62px;text-align:center}.sfc-home-gallery :focus-visible{outline:3px solid var(--sfc-blue);outline-offset:5px}.sfc-gallery-controls button:hover{background:#101c2f;color:white}.sfc-home-gallery [hidden]{display:none!important}.sfc-gallery-empty{text-align:center;color:#657083}@media(max-width:760px){.sfc-home-gallery.is-arc .sfc-gallery-track{height:320px}.sfc-home-gallery.is-arc .photobutton{width:290px}.sfc-home-gallery.is-arc .sfc-gallery-track:before{top:160px;height:130px}.sfc-gallery-active-caption{font-size:14px;max-width:440px}}@media(max-width:480px){.sfc-home-gallery.is-arc .sfc-gallery-track{height:265px;margin-left:-12px;margin-right:-12px}.sfc-home-gallery.is-arc .photobutton{width:min(230px,calc((100% - 56px)/1.08));top:25px;border-radius:9px}.sfc-home-gallery.is-arc .sfc-gallery-track:before{top:120px;height:115px;left:0;right:0}.sfc-gallery-active-caption{margin-top:-8px;min-height:66px;font-size:13px;padding:0 8px}.sfc-gallery-controls{gap:9px;flex-wrap:wrap;margin-top:10px}.sfc-gallery-controls [data-gallery-rotation]{order:5;flex-basis:100%;min-height:32px}.sfc-home-gallery{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){.sfc-home-gallery *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.sfc-home-gallery.is-dragging .photobutton{transition:none!important}.sfc-home-gallery.is-dragging .sfc-gallery-track{cursor:grabbing}

/* V2.1: quieter hierarchy, compact mobile spacing. */
.sfc-home-gallery.is-arc .photobutton{width:340px}
.sfc-home-gallery.is-arc .photobutton.is-current{box-shadow:0 16px 30px -12px rgba(16,28,47,.19),0 0 0 1px rgba(36,75,255,.45)}
.sfc-home-gallery.is-arc .sfc-gallery-track{height:330px}
.sfc-home-gallery.is-arc .sfc-gallery-track:before{top:180px;height:120px;border-color:#e7ebf3}
.sfc-gallery-active-caption{min-height:0;margin:0 auto}
.sfc-gallery-controls{margin-top:12px}
@media(max-width:760px){.sfc-home-gallery.is-arc .photobutton{width:290px}.sfc-home-gallery.is-arc .sfc-gallery-track{height:275px}.sfc-home-gallery.is-arc .sfc-gallery-track:before{top:145px;height:110px}}
@media(max-width:480px){.sfc-home-gallery.is-arc .photobutton{width:min(230px,calc((100% - 56px)/1.08));top:18px}.sfc-home-gallery.is-arc .sfc-gallery-track{height:225px}.sfc-home-gallery.is-arc .sfc-gallery-track:before{top:112px;height:90px}.sfc-gallery-active-caption{min-height:0;margin:0 auto;font-size:13px;line-height:1.5}.sfc-gallery-controls{margin-top:8px;gap:6px}.sfc-gallery-controls [data-gallery-rotation]{min-height:32px}.sfc-home-gallery{margin:4px 0 22px}}

/* Scoped dialog fix: the original absolute-positioned lightbox must not pull the document to its top. */
#lightbox.sfc-gallery-dialog{position:fixed!important;inset:0!important;margin:auto!important;box-sizing:border-box;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
#lightbox.sfc-gallery-dialog img{max-height:calc(100dvh - 150px);width:auto;max-width:100%;object-fit:contain}
#lightbox.sfc-gallery-dialog::backdrop{background:rgba(10,20,36,.88)}
@media(max-width:480px){#lightbox.sfc-gallery-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#lightbox.sfc-gallery-dialog img{max-height:calc(100dvh - 190px)}}
/* Reserve the scrollbar from the initial layout, including while a modal is open. */
html:has(.sfc-home-gallery){scrollbar-gutter:stable}
