/* ==========================================================================
   EG FUNERAL CARE THEME, stylesheet
   Brand palette taken from the EverGrace logo:
     gold      #9D8C6E
     charcoal  #333537
   Mobile-first. Every layout collapses cleanly to a single column.
   ========================================================================== */

:root{
	--eg-gold:#9D8C6E;
	--eg-gold-soft:#C0AE8B;
	--eg-gold-pale:#EFE7D8;
	--eg-charcoal:#333537;
	--eg-ink:#0E0F10;
	--eg-ink-soft:#1A1C1D;
	--eg-cream:#FBF9F5;
	--eg-sand:#F2EDE3;
	--eg-line:#E2DACB;
	--eg-body:#4A4A47;
	--eg-white:#fff;
	--eg-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
	--eg-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--eg-wrap:1180px;
	--eg-radius:2px;
	--eg-shadow:0 18px 50px rgba(14,15,16,.10);
	--eg-shadow-sm:0 8px 24px rgba(14,15,16,.07);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}

body{
	margin:0;
	background:var(--eg-cream);
	color:var(--eg-body);
	font-family:var(--eg-sans);
	font-size:17px;
	font-weight:400;
	line-height:1.78;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
body.eg-no-scroll{overflow:hidden}

img{max-width:100%;height:auto;display:block}
iframe{max-width:100%;display:block}

h1,h2,h3,h4{
	font-family:var(--eg-serif);
	color:var(--eg-charcoal);
	font-weight:500;
	line-height:1.16;
	margin:0 0 .7em;
	letter-spacing:.005em;
}
h1{font-size:clamp(2.1rem,6vw,3.5rem)}
h2{font-size:clamp(1.75rem,4.4vw,2.6rem)}
h3{font-size:clamp(1.2rem,2.4vw,1.45rem)}
h4{font-size:1.08rem}

p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}

a{color:var(--eg-gold);text-decoration:none;transition:color .2s ease}
a:hover,a:focus{color:var(--eg-charcoal)}

ul,ol{margin:0 0 1.2em;padding-left:1.15em}
li{margin-bottom:.5em}

blockquote{margin:0}
hr{border:0;border-top:1px solid var(--eg-line);margin:2.5rem 0}

:focus-visible{outline:2px solid var(--eg-gold);outline-offset:3px}

/* ---------------------------------------------------------------- layout */
.eg-wrap{width:100%;max-width:var(--eg-wrap);margin:0 auto;padding:0 22px}
.eg-narrow{max-width:820px}
.eg-center{text-align:center}

.eg-section{padding:64px 0}
.eg-section--tight{padding:40px 0 0}
.eg-section--sand{background:var(--eg-sand)}
.eg-section--dark{background:var(--eg-ink);color:#C9C6C0}
.eg-section--dark h1,.eg-section--dark h2,.eg-section--dark h3,.eg-section--dark h4{color:#F4F1EA}
.eg-section--dark .eg-sec-head__text{color:#ADA9A2}

.eg-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.eg-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	.eg-reveal{opacity:1;transform:none;transition:none}
	html{scroll-behavior:auto}
}

/* ------------------------------------------------------------ typography */
.eg-eyebrow{
	font-family:var(--eg-sans);
	font-size:.72rem;
	font-weight:600;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:var(--eg-gold);
	margin:0 0 .9rem;
}
.eg-eyebrow--light{color:var(--eg-gold-soft)}

.eg-lead{font-size:1.12rem;color:var(--eg-charcoal);line-height:1.72}
.eg-section--dark .eg-lead{color:#DAD6CE}

.eg-sec-head{max-width:720px;margin:0 auto 44px}
.eg-sec-head--center{text-align:center}
.eg-sec-head--left{margin-left:0;text-align:left}
.eg-sec-head__title{margin-bottom:.5em}
.eg-sec-head__title::after{
	content:"";display:block;width:54px;height:1px;background:var(--eg-gold);
	margin:.65em auto 0;
}
.eg-sec-head--left .eg-sec-head__title::after{margin-left:0}
.eg-sec-head__text{margin:0;color:var(--eg-body);font-size:1.05rem}

.eg-link{
	font-family:var(--eg-sans);
	font-size:.86rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
	color:var(--eg-gold);border-bottom:1px solid rgba(157,140,110,.4);padding-bottom:2px;
	display:inline-block;
}
.eg-link:hover{border-bottom-color:var(--eg-charcoal)}
.eg-section--dark .eg-link{color:var(--eg-gold-soft)}
.eg-section--dark .eg-link:hover{color:#fff;border-bottom-color:#fff}

.eg-note{
	margin-top:34px;padding:20px 22px;
	background:var(--eg-white);border-left:3px solid var(--eg-gold);
	font-size:.92rem;color:#5D5C58;box-shadow:var(--eg-shadow-sm);
}

/* --------------------------------------------------------------- buttons */
.eg-btn{
	display:inline-block;
	font-family:var(--eg-sans);font-size:.86rem;font-weight:600;
	letter-spacing:.11em;text-transform:uppercase;
	padding:16px 30px;border:1px solid transparent;border-radius:var(--eg-radius);
	transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease;
	cursor:pointer;text-align:center;line-height:1.25;
}
.eg-btn+.eg-btn{margin-left:10px}
.eg-btn--gold{background:var(--eg-gold);color:#fff;border-color:var(--eg-gold)}
.eg-btn--gold:hover{background:#8A7A5E;border-color:#8A7A5E;color:#fff;transform:translateY(-1px)}
.eg-btn--dark{background:var(--eg-charcoal);color:#fff;border-color:var(--eg-charcoal)}
.eg-btn--dark:hover{background:var(--eg-gold);border-color:var(--eg-gold);color:#fff}
.eg-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.eg-btn--ghost:hover{background:#fff;color:var(--eg-charcoal);border-color:#fff}
.eg-btn--sm{padding:12px 22px;font-size:.78rem}
.eg-btn--wide{width:100%}

/* Button rows.
   Buttons are deliberately NOT wrapped in <p> anywhere. Paragraph rhythm gives
   a bottom margin and no top margin, and p:last-child removes even that, so a
   button following a card grid ended up flush against the cards, and the gap
   changed from section to section depending on whether the paragraph happened
   to be the last child. This class owns that spacing explicitly instead. */
.eg-actions{
	display:flex;flex-wrap:wrap;gap:12px;
	margin:2.75rem 0 0;
}
.eg-actions--center{justify-content:center}
.eg-actions .eg-btn+.eg-btn{margin-left:0}
@media (max-width:600px){
	.eg-actions{margin-top:2.1rem}
	.eg-actions .eg-btn{width:100%}
}

/* ---------------------------------------------------------------- topbar */
.eg-topbar{background:var(--eg-ink);color:#9C978E;font-size:.8rem}
.eg-topbar__inner{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;justify-content:space-between;padding:9px 22px}
.eg-topbar p{margin:0}
.eg-topbar__note{letter-spacing:.03em}
.eg-topbar__call span{color:#7E7A73;margin-right:8px}
.eg-topbar__call a{color:var(--eg-gold-soft);font-weight:600;letter-spacing:.04em}
.eg-topbar__call a:hover{color:#fff}
@media (max-width:720px){.eg-topbar__note{display:none}.eg-topbar__inner{justify-content:center}}

/* ---------------------------------------------------------------- header */
.eg-header{
	position:sticky;top:0;z-index:60;
	background:rgba(251,249,245,.97);
	border-bottom:1px solid var(--eg-line);
	backdrop-filter:saturate(1.4) blur(6px);
	transition:box-shadow .3s ease,padding .3s ease;
}
.eg-header.is-stuck{box-shadow:0 6px 26px rgba(14,15,16,.09)}
.eg-header__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px}

.eg-brand__img,.eg-brand .custom-logo{max-height:74px;width:auto;transition:max-height .3s ease}
.eg-header.is-stuck .eg-brand__img,.eg-header.is-stuck .custom-logo{max-height:58px}

.eg-burger{
	display:none;width:46px;height:40px;background:transparent;border:1px solid var(--eg-line);
	border-radius:var(--eg-radius);position:relative;cursor:pointer;flex:0 0 auto;
}
.eg-burger span{
	position:absolute;left:11px;right:11px;height:2px;background:var(--eg-charcoal);
	transition:transform .25s ease,opacity .2s ease;
}
.eg-burger span:nth-child(1){top:12px}
.eg-burger span:nth-child(2){top:19px}
.eg-burger span:nth-child(3){top:26px}
.eg-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.eg-burger.is-open span:nth-child(2){opacity:0}
.eg-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.eg-nav{display:flex;align-items:center;gap:26px}
.eg-menu{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.eg-menu li{margin:0;position:relative}
.eg-menu a{
	font-family:var(--eg-sans);font-size:.83rem;font-weight:500;letter-spacing:.045em;
	color:var(--eg-charcoal);padding:6px 0;display:inline-block;position:relative;
}
.eg-menu a::after{
	content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--eg-gold);
	transition:right .25s ease;
}
.eg-menu a:hover::after,.eg-menu .current-menu-item>a::after,.eg-menu .current_page_item>a::after{right:0}
.eg-menu .current-menu-item>a,.eg-menu .current_page_item>a{color:var(--eg-gold)}

/* Dropdowns */
.eg-menu .sub-menu{
	position:absolute;top:100%;left:-14px;min-width:230px;list-style:none;margin:0;padding:8px 0;
	background:#fff;border:1px solid var(--eg-line);box-shadow:var(--eg-shadow);
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s ease;z-index:5;
}
.eg-menu li:hover>.sub-menu,.eg-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.eg-menu .sub-menu a{display:block;padding:9px 18px}
.eg-menu .sub-menu a::after{display:none}
.eg-menu .sub-menu a:hover{background:var(--eg-sand);color:var(--eg-gold)}

.eg-nav__cta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.eg-nav__note{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:#8E8B85}

@media (max-width:1080px){
	.eg-menu{gap:16px}
	.eg-menu a{font-size:.78rem}
}
@media (max-width:960px){
	.eg-burger{display:block}
	.eg-nav{
		position:fixed;inset:0 0 0 auto;width:min(360px,86vw);
		flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;
		background:var(--eg-cream);border-left:1px solid var(--eg-line);
		padding:88px 26px 40px;overflow-y:auto;
		transform:translateX(100%);visibility:hidden;
		transition:transform .3s ease,visibility .3s ease;
		box-shadow:-14px 0 40px rgba(14,15,16,.14);
	}
	.eg-nav.is-open{transform:none;visibility:visible}
	.eg-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
	.eg-menu li{border-bottom:1px solid var(--eg-line)}
	.eg-menu a{display:block;padding:15px 0;font-size:1rem;letter-spacing:.02em}
	.eg-menu a::after{display:none}
	.eg-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 8px 14px;min-width:0}
	.eg-nav__cta{align-items:stretch;width:100%;margin-top:24px;text-align:center}
	.eg-nav__note{text-align:center}
}

/* ------------------------------------------------------------------ hero */
.eg-hero{
	background-size:cover;background-position:center;
	color:#fff;text-align:center;
	padding:clamp(84px,15vw,168px) 0;
}
.eg-hero__inner{max-width:840px;margin:0 auto}
.eg-hero__title{color:#fff;margin-bottom:.5em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.eg-hero__text{font-size:clamp(1rem,2.2vw,1.2rem);color:#E7E3DB;max-width:660px;margin:0 auto 2em}
.eg-hero__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.eg-hero__actions .eg-btn+.eg-btn{margin-left:0}
.eg-hero__phone{margin-top:2.2em}
.eg-hero__phone a{
	font-family:var(--eg-serif);font-size:clamp(1.5rem,4vw,2rem);color:#fff;display:block;letter-spacing:.02em;
}
.eg-hero__phone a:hover{color:var(--eg-gold-soft)}
.eg-hero__phone span{
	display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--eg-gold-soft);margin-top:4px;
}

.eg-strip{background:var(--eg-charcoal);color:#DCD8D0;text-align:center;padding:16px 0;font-size:.92rem}
.eg-strip p{margin:0;letter-spacing:.03em}

/* ---------------------------------------------------------------- banner */
.eg-banner{
	background-size:cover;background-position:center;color:#fff;
	padding:clamp(70px,11vw,124px) 0;text-align:center;
}
.eg-banner__inner{max-width:820px;margin:0 auto}
.eg-banner__title{color:#fff;margin-bottom:.45em}
.eg-banner__text{color:#DFDBD3;font-size:1.05rem;margin:0 auto;max-width:640px}
.eg-crumb{margin-top:1.8em;font-size:.78rem;letter-spacing:.08em;color:#A8A49D}
.eg-crumb a{color:var(--eg-gold-soft)}
.eg-crumb span{margin:0 8px}
.eg-crumb span:last-child{color:#DFDBD3;margin-right:0}

/* ----------------------------------------------------------------- split */
.eg-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.eg-split__media img{
	width:100%;height:100%;max-height:520px;object-fit:cover;
	border-radius:var(--eg-radius);box-shadow:var(--eg-shadow);
}
.eg-split__body h2{margin-bottom:.6em}
@media (max-width:860px){
	.eg-split{grid-template-columns:1fr}
	.eg-split--reverse .eg-split__media{order:-1}
	.eg-split__media img{max-height:340px}
}

/* ------------------------------------------------------------------ grid */
.eg-grid{display:grid;gap:26px}
.eg-grid--2{grid-template-columns:repeat(2,1fr)}
.eg-grid--3{grid-template-columns:repeat(3,1fr)}
.eg-grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){
	.eg-grid--4{grid-template-columns:repeat(2,1fr)}
	.eg-grid--3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.eg-grid--2,.eg-grid--3,.eg-grid--4{grid-template-columns:1fr}
}

/* --------------------------------------------------------------- pillars */
.eg-pillar{background:#fff;padding:30px 26px;border-top:2px solid var(--eg-gold);box-shadow:var(--eg-shadow-sm)}
.eg-pillar__num{
	font-family:var(--eg-serif);font-size:1.6rem;color:var(--eg-gold);display:block;margin-bottom:.3em;
}
.eg-pillar h3{margin-bottom:.5em}
.eg-pillar p{font-size:.96rem;margin:0}

.eg-value{background:#fff;padding:28px 24px;box-shadow:var(--eg-shadow-sm);border-radius:var(--eg-radius)}
.eg-value h3{color:var(--eg-charcoal);margin-bottom:.5em}
.eg-value p{font-size:.96rem;margin:0}
.eg-section--dark .eg-value{background:var(--eg-ink-soft);border:1px solid rgba(157,140,110,.22)}
.eg-section--dark .eg-value p{color:#ACA8A1}

.eg-faith{background:#fff;padding:26px 22px;border-left:2px solid var(--eg-gold);box-shadow:var(--eg-shadow-sm)}
.eg-faith h3{font-size:1.16rem;margin-bottom:.45em}
.eg-faith p{font-size:.93rem;margin:0}

/* ----------------------------------------------------------------- cards */
.eg-card{background:#fff;box-shadow:var(--eg-shadow-sm);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--eg-radius)}
.eg-card__media{display:block;overflow:hidden}
.eg-card__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.eg-card:hover .eg-card__media img{transform:scale(1.05)}
.eg-card__body{padding:24px 22px 26px;display:flex;flex-direction:column;gap:.4rem;flex:1}
.eg-card__body h3{margin-bottom:.35em}
.eg-card__body p{font-size:.95rem;flex:1}
.eg-card__body .eg-link{align-self:flex-start;margin-top:.6rem}

/* --------------------------------------------------------------- pricing */
.eg-grid--pricing{gap:24px}
.eg-price{
	background:#fff;padding:32px 26px 28px;position:relative;
	border:1px solid var(--eg-line);border-top:3px solid var(--eg-gold);
	box-shadow:var(--eg-shadow-sm);display:flex;flex-direction:column;
}
.eg-price__tag{
	position:absolute;top:-1px;right:0;
	background:var(--eg-gold);color:#fff;font-size:.66rem;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;
}
.eg-price h3{margin-bottom:.25em}
.eg-price__amount{
	font-family:var(--eg-serif);font-size:2.3rem;color:var(--eg-gold);
	line-height:1;margin:.1em 0 .6em;
}
.eg-price__text{font-size:.95rem;margin-bottom:1.2em}
.eg-price__label{
	font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
	color:var(--eg-charcoal);margin-bottom:.7em;padding-top:1em;border-top:1px solid var(--eg-line);
}
.eg-price__cta{margin-top:auto;padding-top:1.4em}
.eg-price--light{background:var(--eg-ink-soft);border-color:rgba(157,140,110,.3);text-align:center}
.eg-price--light h3{color:#F4F1EA}
.eg-price--light .eg-price__text{color:#ABA7A0}
.eg-price--light .eg-price__tag{left:50%;right:auto;transform:translateX(-50%)}

/* ----------------------------------------------------------------- ticks */
.eg-ticks{list-style:none;padding:0;margin:0 0 1.5em}
.eg-ticks li{
	position:relative;padding-left:26px;margin-bottom:.6em;font-size:.96rem;
}
.eg-ticks li::before{
	content:"";position:absolute;left:2px;top:.62em;
	width:9px;height:9px;border-radius:50%;
	border:1px solid var(--eg-gold);background:rgba(157,140,110,.25);
}
.eg-ticks--sm li{font-size:.9rem;margin-bottom:.45em}
.eg-ticks--cols{columns:2;column-gap:38px}
.eg-ticks--light li{color:#C4C0B9}
@media (max-width:700px){.eg-ticks--cols{columns:1}}

/* ----------------------------------------------------------------- steps */
.eg-steps{list-style:none;counter-reset:eg;padding:0;margin:0;display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.eg-steps li{
	counter-increment:eg;background:#fff;padding:30px 24px 26px;position:relative;
	box-shadow:var(--eg-shadow-sm);margin:0;
}
.eg-steps li::before{
	content:counter(eg);
	font-family:var(--eg-serif);font-size:2.4rem;color:var(--eg-gold-soft);
	display:block;line-height:1;margin-bottom:.35em;
}
.eg-steps h3{font-size:1.1rem;margin-bottom:.5em}
.eg-steps p{font-size:.93rem;margin:0}
@media (max-width:1000px){.eg-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.eg-steps{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- people */
.eg-person{
	display:grid;grid-template-columns:400px 1fr;gap:clamp(28px,4vw,56px);
	align-items:center;padding:44px 0;border-bottom:1px solid var(--eg-line);
}
.eg-person:last-child{border-bottom:0;padding-bottom:0}
/* Reversed rows must also SWAP THE TRACK WIDTHS, not just the visual order.
   With order alone the photo moved into the 1fr track and rendered 680px wide
   next to 400px neighbours, which is why alternating portraits looked unequal.
   Keeping the fixed track on the side the photo sits makes every portrait
   identical no matter which way the row faces. */
.eg-person--reverse{grid-template-columns:1fr 400px}
.eg-person--reverse .eg-person__media{order:2}
/* Every portrait renders at an identical 4:5 box whatever the source file is.
   aspect-ratio fixes the frame and object-fit crops into it, so a photo that
   arrives at a different pixel size or shape cannot change the card size. */
.eg-person__media img{
	display:block;width:100%;height:auto;aspect-ratio:4/5;
	object-fit:cover;object-position:50% 22%;
	background:var(--eg-sand);
	box-shadow:var(--eg-shadow);border-radius:var(--eg-radius);
}
.eg-person__name{margin-bottom:.2em}
/* When a person has no credential line, the bio would otherwise butt straight up
   against the name, since the name's tight margin assumes the credential follows. */
.eg-person__name + p:not(.eg-person__cred){margin-top:.85em}
.eg-person__cred{
	font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
	color:var(--eg-gold);margin-bottom:1.4em;
}
.eg-person__body p{font-size:1rem}
.eg-person__links{margin-top:1.2em}
@media (max-width:880px){
	.eg-person{grid-template-columns:1fr;gap:24px;text-align:left}
	.eg-person--reverse .eg-person__media{order:0}
	.eg-person__media img{max-width:340px;margin:0 auto}
}

/* ------------------------------------------------- services catalogue tabs */
/* Panels are hidden ONLY once the script marks the wrapper as enhanced, so
   with JavaScript off every one of the thirty services is still readable. */
.eg-tabs{margin-top:2.4rem}
.eg-tabs__nav{
	display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
	margin-bottom:2.4rem;
}
.eg-tab{
	font-family:var(--eg-sans);font-size:.82rem;letter-spacing:.1em;
	text-transform:uppercase;cursor:pointer;
	padding:14px 24px;border:1px solid var(--eg-line);border-radius:999px;
	background:#fff;color:var(--eg-ink);
	display:inline-flex;align-items:center;gap:10px;
	transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.eg-tab:hover{border-color:var(--eg-gold);color:var(--eg-gold)}
.eg-tab.is-active{background:var(--eg-ink);border-color:var(--eg-ink);color:#fff}
.eg-tab__count{
	font-size:.7rem;letter-spacing:.06em;padding:2px 9px;border-radius:999px;
	background:rgba(157,140,110,.18);color:inherit;
}
.eg-tab.is-active .eg-tab__count{background:rgba(255,255,255,.18)}
.eg-tab:focus-visible{outline:2px solid var(--eg-gold);outline-offset:3px}
.eg-tabs__panel-title{
	text-align:center;font-size:1.3rem;margin-bottom:1.6rem;color:var(--eg-gold);
}
.eg-tabs.is-enhanced .eg-tabs__panel{display:none}
.eg-tabs.is-enhanced .eg-tabs__panel.is-active{display:block}
.eg-tabs.is-enhanced .eg-tabs__panel-title{display:none}
.eg-tabs:not(.is-enhanced) .eg-tabs__panel{margin-bottom:3rem}

.eg-catalog{
	display:grid;gap:22px;
	grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}
.eg-cat{
	background:#fff;border-radius:var(--eg-radius);overflow:hidden;
	box-shadow:var(--eg-shadow-sm);display:flex;flex-direction:column;
	transition:transform .2s ease,box-shadow .2s ease;
}
.eg-cat:hover{transform:translateY(-3px);box-shadow:var(--eg-shadow)}
.eg-cat__media{margin:0;background:var(--eg-sand)}
.eg-cat__media img{
	display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
}
.eg-cat__body{padding:20px 22px 24px}
.eg-cat__title{font-size:1.08rem;line-height:1.3;margin:0 0 .5em}
.eg-cat__text{font-size:.93rem;margin:0;color:var(--eg-ink-muted)}
.eg-catalog--addons{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
@media (max-width:600px){
	.eg-catalog{grid-template-columns:1fr}
	.eg-tabs__nav{gap:8px}
	.eg-tab{padding:12px 18px;font-size:.74rem}
}

/* ------------------------------------------------------- casket feature */
.eg-figure{margin:0}
.eg-figure__caption{
	font-size:.85rem;color:var(--eg-ink-muted);font-style:italic;
	margin-top:.9em;line-height:1.5;
}
.eg-split--casket .eg-split__media img{border-radius:var(--eg-radius)}

/* --------------------------------------------------- pricing key points */
.eg-points{list-style:none;margin:1.6em 0 0;padding:0;display:grid;gap:14px}
.eg-points li{
	position:relative;padding-left:34px;font-size:1.02rem;line-height:1.6;
}
.eg-points li::before{
	content:"";position:absolute;left:0;top:.55em;
	width:14px;height:2px;background:var(--eg-gold);
}

/* ------------------------------------------------- floating WhatsApp button */
/* Sits above the sticky call bar on phones so the two never overlap. */
.eg-whatsapp{
	position:fixed;right:18px;bottom:22px;z-index:60;
	display:inline-flex;align-items:center;gap:10px;
	padding:13px 18px 13px 15px;border-radius:999px;
	background:#25D366;color:#fff;text-decoration:none;
	font-family:var(--eg-sans);font-size:.85rem;font-weight:600;
	letter-spacing:.02em;
	box-shadow:0 10px 26px rgba(0,0,0,.26);
	transition:transform .2s ease,box-shadow .2s ease;
}
.eg-whatsapp:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.32);color:#fff}
.eg-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:2px}
.eg-whatsapp__icon{width:26px;height:26px;flex:0 0 26px}
@media (max-width:760px){
	/* The call bar owns the bottom edge on phones, so the bubble lifts above it
	   and drops its label to stay out of the way of the content. */
	.eg-whatsapp{bottom:96px;right:14px;padding:14px;border-radius:50%}
	.eg-whatsapp__label{
		position:absolute;width:1px;height:1px;overflow:hidden;
		clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
	}
}

/* ---------------------------------------------------------------- quotes */
.eg-quote{
	background:#fff;padding:32px 28px;border-left:2px solid var(--eg-gold);
	box-shadow:var(--eg-shadow-sm);
}
.eg-quote p{font-family:var(--eg-serif);font-size:1.16rem;font-style:italic;color:var(--eg-charcoal);line-height:1.6}
.eg-quote cite{
	display:block;margin-top:1.1em;font-style:normal;font-size:.78rem;
	letter-spacing:.14em;text-transform:uppercase;color:var(--eg-gold);
}

/* ------------------------------------------------------------------- cta */
.eg-cta{background-size:cover;background-position:center;color:#fff;padding:clamp(64px,10vw,104px) 0;text-align:center}
.eg-cta__inner{max-width:720px;margin:0 auto}
.eg-cta__title{color:#fff}
.eg-cta__text{color:#DEDAD2;margin-bottom:2em}
.eg-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.eg-cta__actions .eg-btn+.eg-btn{margin-left:0}

/* -------------------------------------------------------------- callouts */
.eg-callout{
	background:#fff;border:1px solid var(--eg-line);border-left:3px solid var(--eg-gold);
	padding:34px 30px;box-shadow:var(--eg-shadow-sm);
}
.eg-callout h2{font-size:clamp(1.5rem,3vw,1.95rem)}

.eg-urgent{
	display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;
	background:var(--eg-charcoal);color:#DAD6CE;padding:32px 30px;border-radius:var(--eg-radius);
}
.eg-urgent h2{color:#fff;font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:.3em}
.eg-urgent p{margin:0;font-size:.98rem}
.eg-urgent__call{text-align:center}
.eg-urgent__call span{display:block;margin-top:8px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--eg-gold-soft)}

/* ------------------------------------------------------------------- faq */
.eg-faq{margin-top:8px}
.eg-faq__item{
	background:#fff;border:1px solid var(--eg-line);margin-bottom:10px;
	box-shadow:var(--eg-shadow-sm);
}
.eg-faq__item summary{
	cursor:pointer;list-style:none;padding:20px 52px 20px 22px;position:relative;
	font-family:var(--eg-serif);font-size:1.14rem;color:var(--eg-charcoal);line-height:1.4;
}
.eg-faq__item summary::-webkit-details-marker{display:none}
.eg-faq__item summary::after{
	content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
	font-family:var(--eg-sans);font-size:1.4rem;color:var(--eg-gold);line-height:1;
}
.eg-faq__item[open] summary::after{content:"–"}
.eg-faq__item[open] summary{color:var(--eg-gold)}
.eg-faq__answer{padding:0 22px 22px;font-size:.98rem}

/* --------------------------------------------------------------- contact */
.eg-contact{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,52px);align-items:start}
@media (max-width:900px){.eg-contact{grid-template-columns:1fr}}

.eg-panel{background:#fff;padding:26px 24px;box-shadow:var(--eg-shadow-sm);margin-bottom:22px;border-top:2px solid var(--eg-gold)}
.eg-panel h3{font-size:1.18rem;margin-bottom:.7em}
.eg-panel--gold{background:var(--eg-gold-pale);border-top-color:var(--eg-charcoal)}
.eg-panel p{font-size:.95rem;margin:0}

.eg-details{list-style:none;padding:0;margin:0}
.eg-details li{
	margin:0;padding:12px 0;border-bottom:1px solid var(--eg-line);font-size:.98rem;color:var(--eg-charcoal);
}
.eg-details li:last-child{border-bottom:0;padding-bottom:0}
.eg-details span{
	display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
	color:#9A968F;margin-bottom:3px;
}

.eg-map{line-height:0;border-top:1px solid var(--eg-line)}
.eg-map iframe{filter:grayscale(.35) contrast(1.02)}

/* ------------------------------------------------------------------ form */
.eg-form-wrap{margin-top:26px}
.eg-form{background:#fff;padding:clamp(24px,3.4vw,36px);box-shadow:var(--eg-shadow);border-top:3px solid var(--eg-gold)}
.eg-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.eg-field{margin:0 0 18px}
.eg-field--full{grid-column:1/-1}
.eg-field label{
	display:block;font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
	color:var(--eg-charcoal);margin-bottom:7px;
}
.eg-field label span{color:var(--eg-gold)}
.eg-field input,.eg-field select,.eg-field textarea{
	width:100%;font-family:var(--eg-sans);font-size:1rem;color:var(--eg-charcoal);
	background:var(--eg-cream);border:1px solid var(--eg-line);border-radius:var(--eg-radius);
	padding:13px 14px;transition:border-color .2s ease,background .2s ease;
}
.eg-field textarea{resize:vertical;min-height:130px}
.eg-field input:focus,.eg-field select:focus,.eg-field textarea:focus{
	outline:none;border-color:var(--eg-gold);background:#fff;
}
.eg-field input::placeholder,.eg-field textarea::placeholder{color:#A8A49D}
.eg-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.eg-form__submit{margin:8px 0 0}
.eg-form__fine{margin:14px 0 0;font-size:.84rem;color:#7C7973}
@media (max-width:600px){.eg-form__grid{grid-template-columns:1fr}}

.eg-notice{padding:18px 20px;margin-bottom:22px;border-radius:var(--eg-radius);font-size:.98rem}
.eg-notice--ok{background:#EEF3EC;border-left:3px solid #6C8F5F;color:#37503B}
.eg-notice--warn{background:#FBF1E8;border-left:3px solid var(--eg-gold);color:#6B5636}

.eg-plugin-form{background:#fff;padding:clamp(24px,3.4vw,36px);box-shadow:var(--eg-shadow);border-top:3px solid var(--eg-gold)}
.eg-plugin-form input[type=text],.eg-plugin-form input[type=tel],.eg-plugin-form input[type=email],
.eg-plugin-form textarea,.eg-plugin-form select{
	width:100%;font-family:var(--eg-sans);font-size:1rem;background:var(--eg-cream);
	border:1px solid var(--eg-line);padding:13px 14px;border-radius:var(--eg-radius);
}
.eg-plugin-form input[type=submit],.eg-plugin-form button[type=submit],.eg-plugin-form .wpforms-submit{
	background:var(--eg-gold);color:#fff;border:0;padding:16px 30px;cursor:pointer;
	font-size:.86rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;border-radius:var(--eg-radius);
}

/* ---------------------------------------------------------------- footer */
.eg-footer{background:var(--eg-ink);color:#9E9A93;font-size:.95rem}
.eg-footer__top{
	display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:38px;
	padding:62px 22px 48px;
}
.eg-footer__logo{max-width:200px;margin-bottom:20px}
.eg-footer__about{font-size:.93rem;line-height:1.72}
.eg-footer__tagline{
	font-family:var(--eg-serif);font-size:1.24rem;color:var(--eg-gold-soft);margin-top:1em;font-style:italic;
}
.eg-footer__title{
	color:#F4F1EA;font-family:var(--eg-sans);font-size:.76rem;font-weight:600;
	letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.3em;
}
.eg-footer__list,.eg-footer__contact{list-style:none;padding:0;margin:0}
.eg-footer__list li{margin-bottom:.6em;font-size:.93rem}
.eg-footer__list a{color:#9E9A93}
.eg-footer__list a:hover{color:var(--eg-gold-soft)}
.eg-footer__contact li{margin-bottom:1.1em;font-size:.95rem;color:#BDB9B2}
.eg-footer__contact span{
	display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#75716B;margin-bottom:3px;
}
.eg-footer__contact a{color:var(--eg-gold-soft)}
.eg-footer__contact a:hover{color:#fff}
.eg-footer__social{margin-top:1.4em;display:flex;gap:16px}
.eg-footer__social a{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#9E9A93}
.eg-footer__social a:hover{color:var(--eg-gold-soft)}
.eg-footer__widgets{padding:0 22px 34px}
.eg-widget__title{color:#F4F1EA;font-size:.95rem}
.eg-footer__bar{border-top:1px solid rgba(255,255,255,.09)}
.eg-footer__bar-inner{
	display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
	padding:20px 22px;font-size:.82rem;color:#75716B;
}
.eg-footer__bar-inner p{margin:0}
@media (max-width:960px){.eg-footer__top{grid-template-columns:1fr 1fr}}
@media (max-width:620px){
	.eg-footer__top{grid-template-columns:1fr;gap:34px;padding-top:46px}
	.eg-footer__bar-inner{justify-content:center;text-align:center}
}

/* --------------------------------------------------- sticky mobile call */
.eg-sticky-call{
	display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
	background:var(--eg-gold);color:#fff;text-align:center;padding:11px 16px;
	box-shadow:0 -8px 26px rgba(14,15,16,.22);
}
.eg-sticky-call strong{
	display:block;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
	color:rgba(255,255,255,.82);
}
.eg-sticky-call span{font-family:var(--eg-serif);font-size:1.34rem;letter-spacing:.03em}
.eg-sticky-call:hover{background:#8A7A5E;color:#fff}
@media (max-width:760px){
	.eg-sticky-call{display:block}
	body{padding-bottom:66px}
	.eg-nav{padding-bottom:80px}
}

/* ---------------------------------------------------- prose / blog bits */
.eg-prose h2,.eg-prose h3{margin-top:1.8em}
.eg-prose img{margin:1.6em 0;box-shadow:var(--eg-shadow-sm)}
.eg-prose ul,.eg-prose ol{padding-left:1.3em}
.eg-posts{display:grid;gap:34px}
.eg-post-card{border-bottom:1px solid var(--eg-line);padding-bottom:28px}
.eg-post-card:last-child{border-bottom:0}
.eg-post-card h2{font-size:1.6rem;margin:.6em 0 .2em}
.eg-post__meta{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#9A968F}
.eg-post__media{margin-bottom:1.6em}
.eg-pagination{margin-top:2.5rem}
.eg-pagination .page-numbers{
	display:inline-block;padding:8px 14px;margin-right:6px;border:1px solid var(--eg-line);
	color:var(--eg-charcoal);font-size:.9rem;
}
.eg-pagination .page-numbers.current{background:var(--eg-gold);border-color:var(--eg-gold);color:#fff}
.eg-404-links{margin-top:2.5rem;text-align:left;display:inline-block}

/* ------------------------------------------------------------- printing */
@media print{
	.eg-topbar,.eg-header,.eg-sticky-call,.eg-cta,.eg-map,.eg-footer__top{display:none}
	body{background:#fff;color:#000;font-size:12pt}
	.eg-section{padding:12pt 0}
}
