/* ============================================================
   Elko Local Home — the front door
   ============================================================ */
.ehp-wrap {
	--ehp-navy: #1B2A4A; --ehp-navy-deep: #14213C; --ehp-navy-soft: #2A3D66;
	--ehp-orange: #E87722; --ehp-orange-deep: #C2600F;
	--ehp-brick: #9C2F1E; --ehp-cream: #F6EFE1; --ehp-cream-deep: #EDE2CB;
	--ehp-pine: #2C4A33; --ehp-gold: #D9A404;
	--ehp-ink: #232A3B; --ehp-ink-soft: #5A6274; --ehp-line: #E2DACA;
	--ehp-shadow-1: 0 1px 2px rgba(20,33,60,.06), 0 1px 6px rgba(20,33,60,.05);
	--ehp-shadow-2: 0 2px 4px rgba(20,33,60,.07), 0 8px 20px rgba(20,33,60,.10);
	--ehp-display: "Bitter", "Iowan Old Style", "Georgia", serif;
	--ehp-ease: cubic-bezier(.33,1,.68,1);
	color: var(--ehp-ink);
	max-width: 1120px; margin: 0 auto;
}
.ehp-wrap h1, .ehp-wrap h2 { font-family: var(--ehp-display); color: var(--ehp-navy); letter-spacing: -.015em; }
.ehp-reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s var(--ehp-ease), transform .6s var(--ehp-ease); }
.ehp-reveal.is-in { opacity: 1; transform: none; }

/* Buttons */
.ehp-btn {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .8rem 1.7rem; border-radius: 999px;
	font-weight: 700; font-size: 1rem; text-decoration: none; cursor: pointer;
	transition: transform .14s var(--ehp-ease), filter .14s, background .14s;
}
.ehp-btn-solid {
	color: #fff;
	background: linear-gradient(180deg, #F2853A 0%, var(--ehp-orange) 45%, var(--ehp-orange-deep) 100%);
	box-shadow: var(--ehp-shadow-1), inset 0 1px 0 rgba(255,255,255,.28);
}
.ehp-btn-ghost { color: #fff; border: 2px solid rgba(255,255,255,.55); }
.ehp-btn:hover { transform: translateY(-2px); filter: brightness(1.06); color: #fff; }
.ehp-btn-ghost:hover { background: rgba(255,255,255,.12); }

/* ---------- Hero ---------- */
.ehp-hero {
	position: relative; overflow: hidden;
	border-radius: 22px; margin-bottom: 1.6rem;
	color: #fff; text-align: center;
	background:
		radial-gradient(ellipse 70% 55% at 78% 8%, rgba(232,119,34,.3), transparent 65%),
		radial-gradient(ellipse 45% 40% at 12% 90%, rgba(217,164,4,.14), transparent 70%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120 L70 55 L130 88 L200 30 L270 78 L350 14 L430 82 L520 42 L600 74 L600 120 Z' fill='%2314213C' fill-opacity='.85'/%3E%3Cpath d='M0 120 L90 78 L160 100 L240 60 L330 96 L420 52 L500 92 L600 66 L600 120 Z' fill='%232A3D66' fill-opacity='.7'/%3E%3C/svg%3E") bottom center / 100% 110px no-repeat,
		linear-gradient(160deg, var(--ehp-navy-soft) 0%, var(--ehp-navy) 45%, var(--ehp-navy-deep) 100%);
	box-shadow: var(--ehp-shadow-2);
}
.ehp-hero.has-photo::before {
	content: ""; position: absolute; inset: 0;
	background: var(--ehp-hero-photo) center / cover no-repeat;
	opacity: .28; mix-blend-mode: luminosity;
}
.ehp-hero-inner { position: relative; padding: 3.6rem 2rem 4rem; }
.ehp-hero h1 {
	color: #fff; margin: 0 auto .8rem; max-width: 20ch;
	font-size: clamp(2rem, 5vw, 3.1rem); font-weight: 900; line-height: 1.12;
}
.ehp-hero h1::after {
	content: ""; display: block; width: 88px; height: 5px; border-radius: 3px;
	margin: .9rem auto 0;
	background: linear-gradient(90deg, var(--ehp-orange), var(--ehp-gold));
	box-shadow: 0 0 14px rgba(232,119,34,.6);
}
.ehp-hero p { color: #DFE4EF; max-width: 62ch; margin: 0 auto 1.5rem; font-size: 1.08rem; line-height: 1.65; }
.ehp-hero-ctas { display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; }
.ehp-hero-ticker {
	display: inline-block; margin-top: 1.4rem;
	padding: .5rem 1.2rem; border-radius: 999px;
	background: rgba(217,164,4,.18); border: 1px solid rgba(217,164,4,.5);
	color: #F2C14E; text-decoration: none; font-size: .93rem;
	transition: background .15s;
}
.ehp-hero-ticker:hover { background: rgba(217,164,4,.3); color: #F2C14E; }

/* ---------- Stats ---------- */
.ehp-stats { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin-bottom: 1.8rem; }
.ehp-stat {
	text-align: center; padding: 1.2rem .8rem 1rem; border-radius: 14px;
	background: #fff; border: 1px solid var(--ehp-line); box-shadow: var(--ehp-shadow-1);
	position: relative; overflow: hidden;
}
.ehp-stat::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, var(--ehp-navy) 0 62%, var(--ehp-orange) 62% 84%, var(--ehp-brick) 84% 100%); }
.ehp-stat-n {
	display: block; font-family: var(--ehp-display); font-weight: 800; font-size: 2.1rem; line-height: 1.05;
	background: linear-gradient(180deg, #F2853A, var(--ehp-orange-deep));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.ehp-stat-l { font-size: .8rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ehp-ink-soft); }

/* ---------- Tiles ---------- */
.ehp-tiles { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); margin-bottom: 2.4rem; }
.ehp-tile {
	position: relative; overflow: hidden; min-height: 150px;
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: 1.2rem 1.3rem; border-radius: 16px; text-decoration: none;
	background: linear-gradient(160deg, var(--ehp-navy-soft), var(--ehp-navy-deep));
	box-shadow: var(--ehp-shadow-1);
	transition: transform .22s var(--ehp-ease), box-shadow .22s var(--ehp-ease);
}
.ehp-tile:hover { transform: translateY(-4px); box-shadow: var(--ehp-shadow-2); }
.ehp-tile.has-img::before {
	content: ""; position: absolute; inset: 0;
	background: var(--ehp-tile-img) center / cover no-repeat;
	transition: transform .35s var(--ehp-ease);
}
.ehp-tile.has-img:hover::before { transform: scale(1.05); }
.ehp-tile::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(20,33,60,.12) 0%, rgba(20,33,60,.78) 78%);
}
.ehp-tile-directory:not(.has-img) { background: linear-gradient(160deg, #2A3D66, #14213C); }
.ehp-tile-ads:not(.has-img)       { background: linear-gradient(160deg, #C2600F, #8A4109); }
.ehp-tile-sales:not(.has-img)     { background: linear-gradient(160deg, #2C4A33, #1B3021); }
.ehp-tile-jobs:not(.has-img)      { background: linear-gradient(160deg, #9C2F1E, #6E2013); }
.ehp-tile-events:not(.has-img)    { background: linear-gradient(160deg, #B78903, #7E5E02); }
.ehp-tile-bestof:not(.has-img)    { background: linear-gradient(160deg, #4A3B7C, #2C2350); }
.ehp-tile > span { position: relative; z-index: 1; }
.ehp-tile-icon { font-size: 1.7rem; margin-bottom: .35rem; filter: drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.ehp-tile-title { font-family: var(--ehp-display); font-weight: 800; font-size: 1.3rem; color: #fff; }
.ehp-tile-text { color: rgba(255,255,255,.82); font-size: .89rem; margin-top: .15rem; }
.ehp-tile-go {
	position: absolute; top: 1rem; right: 1.1rem; z-index: 1;
	width: 34px; height: 34px; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(255,255,255,.16); color: #fff; font-weight: 800;
	transition: background .18s, transform .18s var(--ehp-ease);
}
.ehp-tile:hover .ehp-tile-go { background: var(--ehp-orange); transform: translateX(3px); }

/* ---------- Strips ---------- */
.ehp-strip { margin-bottom: 2.4rem; }
.ehp-strip-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.ehp-strip-head h2 { margin: 0; font-size: 1.45rem; position: relative; padding-bottom: .45rem; }
.ehp-strip-head h2::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 4px; border-radius: 2px;
	background: linear-gradient(90deg, var(--ehp-navy) 0 55%, var(--ehp-orange) 55% 80%, var(--ehp-brick) 80% 100%);
}
.ehp-strip-head a { color: var(--ehp-brick); font-weight: 700; text-decoration: none; font-size: .93rem; white-space: nowrap; }
.ehp-strip-head a:hover { color: var(--ehp-orange-deep); }

.ehp-cards { display: grid; gap: 1rem; }
.ehp-cards-4 { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.ehp-cards-3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.ehp-card {
	display: flex; flex-direction: column; text-decoration: none;
	background: #fff; border: 1px solid var(--ehp-line); border-radius: 14px; overflow: hidden;
	box-shadow: var(--ehp-shadow-1);
	transition: transform .2s var(--ehp-ease), box-shadow .2s var(--ehp-ease);
}
.ehp-card:hover { transform: translateY(-3px); box-shadow: var(--ehp-shadow-2); }
.ehp-card-media { position: relative; aspect-ratio: 4 / 3; background: linear-gradient(160deg, var(--ehp-cream), var(--ehp-cream-deep)); display: grid; place-items: center; overflow: hidden; }
.ehp-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s var(--ehp-ease); }
.ehp-card:hover .ehp-card-media img { transform: scale(1.04); }
.ehp-card-ph { font-family: var(--ehp-display); font-size: 2rem; font-weight: 800; color: var(--ehp-navy); opacity: .55; }
.ehp-price {
	position: absolute; left: .6rem; bottom: .6rem;
	padding: .25rem .7rem; border-radius: 999px;
	background: linear-gradient(180deg, #F2853A, var(--ehp-orange-deep));
	color: #fff; font-weight: 800; font-size: .85rem;
	box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.ehp-feat-badge {
	position: absolute; top: .6rem; right: .6rem;
	padding: .22rem .65rem; border-radius: 999px;
	background: linear-gradient(180deg, #F2C14E, var(--ehp-gold));
	color: #4A3800; font-weight: 800; font-size: .74rem; letter-spacing: .04em;
	box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.ehp-card-title { font-family: var(--ehp-display); font-weight: 700; color: var(--ehp-navy); padding: .75rem .9rem .2rem; font-size: 1.02rem; line-height: 1.3; }
.ehp-card-meta { color: var(--ehp-ink-soft); font-size: .84rem; padding: 0 .9rem .8rem; }
.ehp-card-title:last-child { padding-bottom: .8rem; }

/* Events */
.ehp-events { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.ehp-event {
	display: flex; gap: .9rem; align-items: center; text-decoration: none;
	background: #fff; border: 1px solid var(--ehp-line); border-radius: 12px;
	padding: .7rem .9rem; box-shadow: var(--ehp-shadow-1);
	transition: transform .18s var(--ehp-ease), box-shadow .18s var(--ehp-ease);
}
.ehp-event:hover { transform: translateY(-2px); box-shadow: var(--ehp-shadow-2); }
.ehp-date {
	flex: 0 0 52px; text-align: center; border-radius: 10px; overflow: hidden;
	border: 1px solid var(--ehp-line); box-shadow: var(--ehp-shadow-1);
}
.ehp-date-m { display: block; background: var(--ehp-brick); color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 2px 0; }
.ehp-date-d { display: block; font-family: var(--ehp-display); font-weight: 800; font-size: 1.4rem; color: var(--ehp-navy); padding: 2px 0 4px; background: #fff; }
.ehp-event-title { display: block; font-family: var(--ehp-display); font-weight: 700; color: var(--ehp-navy); line-height: 1.3; }
.ehp-event-meta { display: block; color: var(--ehp-ink-soft); font-size: .84rem; margin-top: 2px; }

/* Jobs */
.ehp-jobs { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.ehp-job {
	display: block; text-decoration: none;
	background: #fff; border: 1px solid var(--ehp-line); border-left: 5px solid var(--ehp-pine);
	border-radius: 12px; padding: .85rem 1rem;
	box-shadow: var(--ehp-shadow-1);
	transition: transform .18s var(--ehp-ease), box-shadow .18s var(--ehp-ease);
}
.ehp-job:hover { transform: translateY(-2px); box-shadow: var(--ehp-shadow-2); }
.ehp-job-title { display: block; font-family: var(--ehp-display); font-weight: 700; color: var(--ehp-navy); }
.ehp-job-meta { display: block; color: var(--ehp-ink-soft); font-size: .86rem; margin-top: 2px; }

/* Welcome + CTA */
.ehp-welcome {
	background: #fff; border: 1px solid var(--ehp-line); border-radius: 16px;
	padding: 1.7rem 2rem; margin-bottom: 1.6rem;
	box-shadow: var(--ehp-shadow-1); position: relative; overflow: hidden;
}
.ehp-welcome::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 5px;
	background: linear-gradient(180deg, var(--ehp-navy) 0 62%, var(--ehp-orange) 62% 84%, var(--ehp-brick) 84% 100%); }
.ehp-welcome h2 { margin-top: 0; }
.ehp-welcome p { line-height: 1.7; }
.ehp-welcome p:first-of-type::first-letter {
	font-family: var(--ehp-display); font-weight: 800; font-size: 2.9em;
	float: left; line-height: .85; margin: .04em .12em 0 0; color: var(--ehp-brick);
}
.ehp-cta {
	text-align: center; padding: 1.9rem 1.5rem; border-radius: 16px; margin-bottom: 1rem;
	background: linear-gradient(170deg, #FFF9EA, #FCEFC7);
	border: 1px solid #E9D48A; box-shadow: var(--ehp-shadow-1);
}
.ehp-cta p { font-family: var(--ehp-display); font-weight: 700; font-size: 1.2rem; color: var(--ehp-navy); margin: 0 0 1rem; }

.ehp-btn:focus-visible, .ehp-tile:focus-visible, .ehp-card:focus-visible, .ehp-event:focus-visible, .ehp-job:focus-visible {
	outline: 3px solid var(--ehp-orange); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	.ehp-wrap * { transition: none !important; animation: none !important; }
	.ehp-reveal { opacity: 1; transform: none; }
}

/* ---------- Masthead: the logo gets its own moment on the paper ---------- */
.ehp-masthead { margin: .5rem 0 1.4rem; }
.ehp-mast-inner { display: flex; flex-direction: column; gap: .45rem; }
.ehp-masthead.is-center .ehp-mast-inner { align-items: center; text-align: center; }
.ehp-masthead.is-left .ehp-mast-inner { align-items: flex-start; text-align: left; }
.ehp-mast-logo {
	display: block; width: auto; height: auto;
	max-height: 132px; max-width: min(560px, 90%);
	filter: drop-shadow(0 2px 6px rgba(20, 33, 60, .10));
}
.ehp-mast-tag {
	margin: 0; font-family: "Bitter", Georgia, serif; font-size: .95rem; color: #5A6274;
	font-style: italic; letter-spacing: .01em;
}
.ehp-mast-rule {
	display: flex; align-items: center; gap: .9rem; margin-top: 1rem;
	font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: #8A7F66; font-weight: 700;
}
.ehp-mast-rule i {
	flex: 1; height: 0; border-top: 1px solid #E2DACA; border-bottom: 1px solid rgba(255,255,255,.7);
}
.ehp-mast-rule span { white-space: nowrap; }
@media (max-width: 640px) {
	.ehp-mast-logo { max-height: 92px; max-width: 86%; }
	.ehp-mast-rule { font-size: .62rem; letter-spacing: .1em; gap: .55rem; }
	.ehp-mast-rule span:last-child { display: none; }
	.ehp-masthead { margin-bottom: 1rem; }
}
