.efif-feed{width:100%;--efif-gap:clamp(12px,1.7vw,28px);--efif-card-bg:#fff;--efif-line:rgba(37,37,37,.14)}
.efif-feed,.efif-feed *{box-sizing:border-box}
.efif-feed__header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 clamp(24px,3vw,46px)}
.efif-feed__heading{margin:0;font-family:var(--ef-font-heading,Marcellus,Georgia,serif);font-size:clamp(2rem,4vw,4.2rem);font-weight:400;line-height:1.02}
.efif-feed__grid{display:grid;grid-template-columns:repeat(var(--efif-columns),minmax(0,1fr));gap:var(--efif-gap);align-items:start}
.efif-post{min-width:0;margin:0;opacity:1!important;visibility:visible!important;transform:none!important}
.efif-post__media{position:relative;display:block;overflow:hidden;background:#e8e5df;color:inherit;text-decoration:none}
.efif-feed--portrait .efif-post__media{aspect-ratio:3/4}
.efif-feed--square .efif-post__media{aspect-ratio:1}
.efif-feed--landscape .efif-post__media{aspect-ratio:4/3}
.efif-post__image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;transform:none;transition:transform .45s ease}
.efif-feed--original .efif-post__media{aspect-ratio:auto}
.efif-feed--original .efif-post__image{height:auto!important;object-fit:contain!important}
.efif-post__media:hover .efif-post__image,.efif-post__media:focus-visible .efif-post__image{transform:scale(1.025)}
.efif-post__type{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:30px;height:30px;background:rgba(35,35,35,.62);color:#fff;font:600 13px/1 Arial,sans-serif}
.efif-post__content{padding:14px 0 0}
.efif-feed--cards .efif-post{background:var(--efif-card-bg)}
.efif-feed--cards .efif-post__content{padding:16px 18px 20px}
.efif-post__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--efif-line);font-size:10px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.efif-post__title{margin:0;font-family:var(--ef-font-heading,Marcellus,Georgia,serif);font-size:clamp(1.15rem,1.6vw,1.65rem);font-weight:400;line-height:1.08}
.efif-post__title a{color:inherit;text-decoration:none}
.efif-post__excerpt{margin:12px 0 0;font-size:.92rem;line-height:1.55}
.efif-post__link{display:inline-block;margin-top:16px;color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px;line-height:1.2}
.efif-post img.emoji,.efif-post .emoji{display:inline-block!important;width:1em!important;height:1em!important;max-width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;object-fit:contain!important}
.efif-feed__follow{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid currentColor;color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;line-height:1.2}
.efif-feed__footer{text-align:center;margin-top:30px}
.efif-notice{padding:16px;border:1px solid #dba617;background:#fff5d6;color:#664d03}
@media(max-width:1100px){.efif-feed__grid{grid-template-columns:repeat(min(3,var(--efif-columns)),minmax(0,1fr))}}
@media(max-width:760px){.efif-feed__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.efif-feed__header{display:block}.efif-feed__header .efif-feed__follow{margin-top:18px}}
@media(max-width:480px){.efif-feed__grid{grid-template-columns:1fr}.efif-post__excerpt{display:none}}

/* Editorial Framework gallery integration ---------------------------------- */
.ef-instagram-native-feed--gallery.efif-feed{
	--efif-gap:clamp(18px,2.2vw,34px);
	--efif-card-bg:#fffdfa;
	--efif-line:rgba(46,46,46,.18);
}

.ef-instagram-native-feed--gallery .efif-feed__grid{
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:var(--efif-gap);
	align-items:stretch;
}

.ef-instagram-native-feed--gallery .efif-post{
	position:relative;
	display:flex;
	min-width:0;
	height:100%;
	overflow:hidden;
	background:var(--efif-card-bg);
}

.ef-instagram-native-feed--gallery .efif-post__media{
	width:100%;
	aspect-ratio:3/4;
	background:#e9e4dc;
}

.ef-instagram-native-feed--gallery .efif-post__image{
	position:absolute;
	inset:0;
	width:100%!important;
	height:100%!important;
	object-fit:cover!important;
}

.ef-instagram-native-feed--gallery .efif-post__content{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	z-index:3;
	max-height:100%;
	overflow:auto;
	padding:clamp(20px,1.8vw,28px);
	background:rgba(255,253,250,.975);
	transform:translateY(101%);
	transition:transform .4s cubic-bezier(.22,1,.36,1);
}

.ef-instagram-native-feed--gallery .efif-post:hover .efif-post__content,
.ef-instagram-native-feed--gallery .efif-post:focus-within .efif-post__content{
	transform:translateY(0);
}

.ef-instagram-native-feed--gallery .efif-post__meta{
	gap:14px;
	margin:0 0 16px;
	padding:0 0 13px;
	font-family:var(--ef-font-body,"museo-sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
	font-size:clamp(.72rem,.72vw,.8rem);
	font-weight:500;
	letter-spacing:.12em;
	line-height:1.25;
	color:var(--ef-colour-muted,#625e58);
}

.ef-instagram-native-feed--gallery .efif-post__title{
	margin:0;
	font-family:var(--ef-font-heading,"Marcellus",Georgia,serif);
	font-size:clamp(.98rem,1.05vw,1.14rem);
	font-weight:400;
	line-height:1.25;
	letter-spacing:-.01em;
}

.ef-instagram-native-feed--gallery .efif-post__excerpt{
	margin:10px 0 0;
	font-family:var(--ef-font-body,"museo-sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
	font-size:clamp(1rem,1.02vw,1.1rem);
	line-height:1.48;
	color:var(--ef-colour-text,#2e2e2e);
}

.ef-instagram-native-feed--gallery .efif-post__link{
	margin-top:18px;
	font-size:.72rem;
	font-weight:500;
	letter-spacing:.12em;
}

.ef-instagram-native-feed--gallery .efif-post__type{
	right:12px;
	top:12px;
	width:32px;
	height:32px;
	background:rgba(35,35,35,.64);
}

@media (max-width:1100px){
	.ef-instagram-native-feed--gallery .efif-feed__grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:820px){
	.ef-instagram-native-feed--gallery .efif-feed__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.ef-instagram-native-feed--gallery .efif-post{
		display:block;
		overflow:visible;
		border:1px solid rgba(46,46,46,.09);
	}

	.ef-instagram-native-feed--gallery .efif-post__content{
		position:static;
		max-height:none;
		overflow:visible;
		transform:none;
		background:var(--efif-card-bg);
	}
}

@media (max-width:520px){
	.ef-instagram-native-feed--gallery .efif-feed__grid{
		grid-template-columns:1fr;
		gap:28px;
	}

	.ef-instagram-native-feed--gallery .efif-post__excerpt{
		display:block;
	}
}

@media (hover:none){
	.ef-instagram-native-feed--gallery .efif-post{
		display:block;
		overflow:visible;
		border:1px solid rgba(46,46,46,.09);
	}

	.ef-instagram-native-feed--gallery .efif-post__content{
		position:static;
		max-height:none;
		overflow:visible;
		transform:none;
		background:var(--efif-card-bg);
	}
}

/* v1.5 native Editorial Framework gallery ------------------------------- */
.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-feed__grid,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-feed__grid{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr))!important;
	gap:clamp(18px,2vw,32px)!important;
	align-items:start!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post{
	position:relative!important;
	display:block!important;
	margin-top:0!important;
	min-height:0!important;
	aspect-ratio:3/4!important;
	overflow:hidden!important;
	background:#e9e4dc!important;
	border:0!important;
	animation:efif-card-in .72s cubic-bezier(.22,1,.36,1) both!important;
	animation-delay:calc(min(var(--efif-index,0),7) * 90ms)!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__media,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__media{
	position:absolute!important;
	inset:0!important;
	width:100%!important;
	height:100%!important;
	aspect-ratio:auto!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__content,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__content{
	position:absolute!important;
	left:0!important;
	right:0!important;
	bottom:0!important;
	z-index:3!important;
	max-height:88%!important;
	overflow:auto!important;
	padding:clamp(18px,1.7vw,25px)!important;
	background:rgba(255,253,250,.975)!important;
	transform:translateY(101%)!important;
	transition:transform .45s cubic-bezier(.22,1,.36,1)!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post:hover .efif-post__content,
.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post:focus-within .efif-post__content,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post:hover .efif-post__content,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post:focus-within .efif-post__content{
	transform:translateY(0)!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__meta,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__meta{
	margin:0 0 14px!important;
	padding:0 0 11px!important;
	font-size:clamp(.75rem,.72vw,.84rem)!important;
	font-weight:600!important;
	line-height:1.3!important;
	letter-spacing:.105em!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__source::before,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__source::before{
	content:"◎"!important;
	margin-right:.48em!important;
	font-size:1.05em!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__title,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__title{
	margin:0!important;
	font-size:clamp(1.08rem,1.1vw,1.24rem)!important;
	line-height:1.22!important;
	letter-spacing:-.012em!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__excerpt,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__excerpt{
	margin:9px 0 0!important;
	font-size:clamp(.94rem,.9vw,1.02rem)!important;
	line-height:1.5!important;
}

.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__link,
.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__link{
	margin-top:15px!important;
	font-size:.74rem!important;
}

@keyframes efif-card-in{
	from{opacity:0;transform:translateY(22px)}
	to{opacity:1;transform:translateY(0)}
}

@media(max-width:1250px){
	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-feed__grid,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-feed__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:900px){
	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-feed__grid,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-feed__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post{aspect-ratio:auto!important;overflow:visible!important;background:rgba(255,255,255,.72)!important}

	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__media,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__media{position:relative!important;inset:auto!important;aspect-ratio:3/4!important;height:auto!important}

	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__content,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__content{position:static!important;max-height:none!important;overflow:visible!important;transform:none!important;background:rgba(255,255,255,.72)!important}
}

@media(max-width:580px){
	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-feed__grid,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-feed__grid{grid-template-columns:1fr!important;gap:30px!important}
}

@media(prefers-reduced-motion:reduce){
	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post{animation:none!important}
	.ef-instagram--gallery.ef-instagram--native .ef-instagram__feed .efif-post__content,
	.ef-instagram--gallery .ef-instagram__feed .ef-instagram-native-feed--gallery .efif-post__content{transition:none!important}
}
