.ig-inspiration { background: #f4f1e9; color: #102623; padding: 72px 0 4px; }
.ig-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 0 5vw 40px; }
.ig-eyebrow { font: 500 10px/1.6 'DM Sans', sans-serif; letter-spacing: .18em; margin: 0 0 18px; }
.ig-heading h2 { font: 400 clamp(32px, 3.4vw, 58px)/1.12 'Playfair Display', Georgia, serif; margin: 0; letter-spacing: -.025em; }
.ig-heading a { color: inherit; font: 500 13px/1.6 'DM Sans', sans-serif; text-underline-offset: 6px; white-space: nowrap; }
.ig-heading a span { margin-left: 16px; }
.ig-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; padding: 0 4px; }
.ig-card { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: #ddd9d0; color: #fff; }
.ig-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ig-card img[hidden] { display: none; }
.ig-badge { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #102623a6; font-size: 15px; }
.ig-card:focus-visible { outline: 3px solid #0a5e56; outline-offset: -3px; }
.ig-status { padding: 20px 5vw 40px; font: 400 14px/1.6 'DM Sans', sans-serif; }
@media (hover: hover) { .ig-card:hover img { transform: scale(1.035); } }
@media (max-width: 700px) { .ig-inspiration { padding-top: 48px; } .ig-heading { align-items: start; flex-direction: column; padding-bottom: 28px; } .ig-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; padding: 0 3px; } .ig-badge { width: 24px; height: 24px; right: 6px; bottom: 6px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .ig-card img { transition: none; } }
.ig-modal { padding: 0; border: 0; border-radius: 12px; width: min(860px, calc(100vw - 32px)); max-width: none; max-height: 90vh; max-height: 90dvh; overflow: auto; background: #f4f1e9; color: #102623; box-shadow: 0 24px 90px #0005; }
.ig-modal::backdrop { background: #071b18cc; backdrop-filter: blur(5px); }
.ig-modal-layout { display: grid; grid-template-columns: 1.15fr 1fr; }
.ig-modal-media { background: #102623; display: grid; align-items: center; min-width: 0; }
.ig-modal-media img { display: block; width: 100%; height: min(650px, 85vh); object-fit: contain; }
.ig-modal-copy { padding: 64px 30px 32px; min-width: 0; font: 400 14px/1.7 'DM Sans', sans-serif; }
.ig-modal-copy h2 { margin: 0 0 24px; font: 500 20px/1.3 'DM Sans', sans-serif; }
.ig-modal-caption { white-space: pre-wrap; overflow-wrap: anywhere; }
.ig-modal-note { color: #64716d; font-size: 12px; }
.ig-original { display: inline-block; color: #102623; margin-top: 16px; text-underline-offset: 5px; }
.ig-modal .ig-close { position: absolute; top: 10px; right: 10px; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #f4f1e9; color: #102623; font: 400 28px/1 sans-serif; cursor: pointer; }
.ig-modal :focus-visible { outline: 2px solid #0a5e56; outline-offset: 3px; }
@media (max-width: 600px) { .ig-modal-layout { grid-template-columns: 1fr; } .ig-modal-media img { height: 48vh; height: 48dvh; } .ig-modal-copy { padding: 24px; } }
.ig-modal-media { display: flex; flex-direction: column; justify-content: center; }
.ig-slide { width: 100%; min-width: 0; }
.ig-slide img, .ig-slide video { display: block; width: 100%; height: min(590px, 72vh); height: min(590px, 72dvh); object-fit: contain; background: #102623; }
.ig-navigation { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 12px; color: #fff; font: 14px/1.4 'DM Sans', sans-serif; }
.ig-navigation[hidden] { display: none; }
.ig-navigation button { width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff70; border-radius: 50%; background: transparent; color: #fff; font: 22px/1 sans-serif; cursor: pointer; }
@media (max-width: 600px) { .ig-slide img, .ig-slide video { height: 46vh; height: 46dvh; } }
