main .guest-gallery { max-width: 1240px; margin: 90px auto 70px; padding: 60px 48px; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 68px; border-radius: 32px; background: linear-gradient(135deg,#f0f7fc,#fbfcfd 65%); }
.guest-eyebrow { color: #5284a4; font-size: 11px; letter-spacing: 2px; }
main .guest-gallery h2 { text-align: left; font-size: clamp(28px,3.4vw,44px); line-height: 1.4; margin: 18px 0; color: #123e63; }
main .guest-gallery p { text-align: left; color: #61798b; line-height: 1.9; font-size: 15px; }
.guest-controls { display: flex; align-items: center; gap: 24px; margin: 32px 0 20px; font-size: 14px; font-variant-numeric: tabular-nums; color: #275c80; }
.guest-controls button { width: 48px; height: 48px; border: 1px solid #c5dbe9; border-radius: 50%; background: white; color: #174c75; font-size: 22px; cursor: pointer; }
main .guest-gallery .guest-hint { font-size: 12px; }
.guest-stack { display: grid; gap: 12px; position: relative; }
.guest-slide { position: relative; display: block; border-radius: 22px; overflow: hidden; background: #e0eaf1; }
.guest-slide img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.guest-expand { position: absolute; right: 16px; bottom: 16px; border-radius: 50%; width: 40px; height: 40px; display: grid; place-items: center; background: #ffffffeb; color: #16486d; }
.guest-gallery.is-enhanced .guest-stack { isolation: isolate; display: block; aspect-ratio: 1; margin: 16px 12px 24px 0; }
.guest-gallery.is-enhanced .guest-stack::before,.guest-gallery.is-enhanced .guest-stack::after { content: ''; position: absolute; inset: 0; border-radius: 22px; background: #cddfe9; transform: rotate(5deg); z-index: -2; }
.guest-gallery.is-enhanced .guest-stack::after { transform: rotate(2.5deg); background: #e3ecf2; z-index: -1; }
.guest-gallery.is-enhanced .guest-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(12px) scale(.98); transition: opacity .45s ease, transform .45s ease, visibility .45s; }
.guest-gallery.is-enhanced .guest-slide.is-current { opacity: 1; visibility: visible; transform: none; box-shadow: 0 18px 40px #183d6320; }
.guest-thumbs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.guest-thumbs button { padding: 3px; border: 2px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; opacity: .6; }
.guest-thumbs button[aria-pressed=true] { border-color: #216b9c; opacity: 1; }
.guest-thumbs img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 7px; display: block; }
.guest-gallery [hidden] { display: none; }
.guest-gallery button:focus-visible,.guest-gallery a:focus-visible { outline: 3px solid #bc9459; outline-offset: 4px; }
.guest-lightbox { border: 0; padding: 0; background: #102435; border-radius: 16px; max-width: 92vw; max-height: 92vh; margin: auto; }
.guest-lightbox::backdrop { background: #081d30de; }
.guest-lightbox > img { display: block; width: auto; height: auto; max-width: 90vw; max-height: 88vh; object-fit: contain; }
.guest-close { position: absolute; right: 12px; top: 12px; width: 44px; height: 44px; background: white; border: 0; border-radius: 50%; cursor: pointer; color: #173f60; }
@media(max-width:800px) { main .guest-gallery { margin: 48px 16px; padding: 32px 22px; grid-template-columns: 1fr; gap: 24px; } .guest-controls { margin: 20px 0 12px; } .guest-gallery.is-enhanced .guest-stack { margin-right: 6px; touch-action: pan-y; } }
@media(prefers-reduced-motion:reduce) { .guest-gallery.is-enhanced .guest-slide { transition: none; transform: none; } }

.guest-gallery { scroll-margin-top: 100px; }
.guest-gallery.is-enhanced .guest-slide:not(.is-current) { transition: none; }
