/* CCRC / FOR THE GRAM — one gallery, one set of responsive rules. */
.reels{background:#fff;color:var(--ink);padding:88px 0 78px}
.reels .wrap{width:min(1180px,calc(100% - 80px))}
.reels-heading{text-align:center;margin:0 auto 34px;max-width:720px}
.reels .kicker{color:#58614a;margin-bottom:14px}
.reels-heading h2{font:700 clamp(38px,5.2vw,67px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:0 0 14px}
.reels-heading .lede{font-size:14px;color:var(--muted);line-height:1.65;margin:0 auto}
.reels-heading .lede a{text-decoration:underline;font-weight:700;text-underline-offset:3px}
.reels-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:start}
.reels-preview-card,.reels-post{display:block;min-width:0;color:var(--ink)}
.reels-preview-image,.reels-video-shell{position:relative;display:block;width:100%;aspect-ratio:9/12.7;background:#e8ede9;border-radius:12px;overflow:hidden}
.reels-preview-image img,.reels-video-shell img,.reels-video-shell video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reels-preview-card:hover img{transform:scale(1.03)}
.reels-preview-image img{transition:transform .25s}
.reels-preview-caption,.reels-post-caption{display:block;margin-top:11px;font-size:14px;font-weight:800;line-height:1.35;text-decoration:underline;text-underline-offset:3px}
.reels-post-caption a{text-decoration:underline;text-underline-offset:3px}
.reels-post-source{display:block;margin-top:5px;font-size:12px;color:#626e65;line-height:1.5}
.reels-preview-more-image{background:#e4f4ee;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:19px;color:#182d27;text-align:center;padding:24px}
.reels-preview-more-image span{font-size:14px;font-weight:800;letter-spacing:.085em}
.reels-video-shell{border:0;padding:0;isolation:isolate}
.reels-video-shell:focus-within,.reels-post:focus-within{outline:2px solid #15967e;outline-offset:3px}
.reels-video-shell button{cursor:pointer}
.reels-video-shell .reels-poster{z-index:1}
.reels-video-shell video{z-index:2;opacity:0;pointer-events:none;transition:opacity .15s ease;background:#131713}
.reels-video-shell.is-previewing video,.reels-video-shell.is-open video{opacity:1;pointer-events:auto}
.reels-video-shell.is-open video{object-fit:contain}
.reels-video-shell .reels-media-action{position:absolute;inset:0;z-index:4;display:grid;place-items:center;border:0;background:transparent;color:inherit;width:100%;height:100%;text-align:center;padding:0}
.reels-video-shell .reels-media-action:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.reels-play-icon{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:rgba(20,30,25,.85);color:#fff;font-size:16px;transition:opacity .15s ease}
.reels-video-shell.is-previewing .reels-play-icon,.reels-video-shell.is-open .reels-media-action{opacity:0;pointer-events:none}
.reels-video-shell.is-open .reels-media-action{display:none}
.reels-video-shell .reels-static-link{display:grid;position:absolute;inset:0;z-index:2;place-items:center;padding:20px;text-align:center;background:#e6eee8;font-weight:800;text-decoration:underline}
.reels-video-shell .reels-ig-frame{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5;background:white}
.reels-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:17px;margin-top:30px;border-top:1px solid #e4e9e4;color:#65716a;font-size:13px}
.reels-gallery-footer a{font-size:14px;font-weight:800;color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(max-width:1050px){.reels-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.reels .wrap{width:min(820px,calc(100% - 60px))}}
@media(max-width:760px){.reels{padding:65px 0}.reels .wrap{width:calc(100% - 36px)}.reels-gallery{gap:22px 12px}.reels-preview-caption,.reels-post-caption{font-size:12px}.reels-gallery-footer{flex-direction:column;align-items:flex-start}.reels-gallery-footer a{white-space:normal}.reels-play-icon{width:34px;height:34px}}
@media(max-width:390px){.reels-gallery{gap:18px 10px}.reels-preview-more-image{padding:12px}.reels-preview-more-image span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.reels-video-shell video,.reels-play-icon,.reels-preview-image img{transition:none}}
