.ecpd{
	--ecpd-ink:var(--epl-ink); --ecpd-ink-soft:var(--epl-ink-70); --ecpd-muted:var(--epl-ink-50);
	--ecpd-gold:var(--epl-accent); --ecpd-gold-dk:var(--epl-accent-dk); --ecpd-terracotta:var(--epl-accent-dk);
	--ecpd-sand:var(--epl-sand); --ecpd-sand-lt:var(--epl-cream);
	--ecpd-border:var(--epl-line); --ecpd-border-lt:var(--epl-line-lt);
	--ecpd-radius:14px; --ecpd-radius-sm:10px;
	--ecpd-shadow:0 10px 28px rgba(16,16,16,.08);
	color:var(--ecpd-ink); background:#fff; font-family:inherit; line-height:1.7;
}
.ecpd *,.ecpd *::before,.ecpd *::after{ box-sizing:border-box; }
.ecpd-wrap{ max-width:860px; margin:0 auto; padding:0 clamp(16px,4vw,32px); }

/* header band — compact, no big image: these are documents, not offers */
.ecpd-head{ background:var(--ecpd-ink); color:#fff; padding:clamp(44px,6vw,68px) 0 clamp(40px,5vw,56px); }
.ecpd-head .ecpd-kicker{ display:inline-block; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--epl-gold); font-weight:600; margin-bottom:10px; }
.ecpd-head h1{ color:#fff; font-size:clamp(28px,3.8vw,44px); line-height:1.15; letter-spacing:-.02em; margin:0; max-width:20ch; }
.ecpd-head p{ color:rgba(255,255,255,.82); font-size:17px; margin:14px 0 0; max-width:62ch; }

/* body */
.ecpd-body{ padding:clamp(44px,6vw,72px) 0 clamp(48px,7vw,80px); }
.ecpd-sec{ margin-bottom:clamp(30px,4vw,46px); }
.ecpd-sec:last-child{ margin-bottom:0; }
.ecpd-sec > h2{ font-size:clamp(22px,2.6vw,30px); line-height:1.25; letter-spacing:-.015em; color:var(--ecpd-ink);
	margin:0 0 6px; padding-bottom:10px; border-bottom:2px solid var(--ecpd-sand); }
.ecpd-sec-cap{ color:var(--ecpd-muted); font-size:15.5px; margin:0 0 16px; }

.ecpd-prose{ font-size:17px; color:var(--ecpd-ink-soft); }
.ecpd-prose > *:first-child{ margin-top:0; }
.ecpd-prose p{ margin:0 0 1.15em; }
.ecpd-prose a{ color:var(--ecpd-gold-dk); text-decoration:underline; text-underline-offset:2px; }
.ecpd-prose h2{ font-size:25px; color:var(--ecpd-ink); margin:1.7em 0 .5em; letter-spacing:-.015em; }
.ecpd-prose h3{ font-size:20px; color:var(--ecpd-ink); margin:1.6em 0 .45em; }
.ecpd-prose h4{ font-size:17.5px; color:var(--ecpd-ink); margin:1.5em 0 .4em; }
.ecpd-prose ul,.ecpd-prose ol{ margin:0 0 1.15em; padding-left:1.4em; }
.ecpd-prose li{ margin-bottom:.55em; }
.ecpd-prose img{ max-width:100%; height:auto; border-radius:var(--ecpd-radius); margin:.6em 0; }
.ecpd-prose blockquote{ margin:0 0 1.2em; padding:16px 20px; background:var(--ecpd-sand-lt);
	border-left:3px solid var(--ecpd-gold); border-radius:0 var(--ecpd-radius-sm) var(--ecpd-radius-sm) 0; }
.ecpd-prose table{ width:100%; border-collapse:collapse; margin:0 0 1.3em; font-size:15.5px; }
.ecpd-prose th{ background:var(--ecpd-sand-lt); font-weight:700; color:var(--ecpd-ink); }
.ecpd-prose td,.ecpd-prose th{ border:1px solid var(--ecpd-border); padding:10px 13px; text-align:left; }
.ecpd-prose hr{ border:0; border-top:1px solid var(--ecpd-border); margin:1.8em 0; }

.ecpd-img{ margin:26px 0; }
.ecpd-img img{ width:100%; height:auto; border-radius:var(--ecpd-radius); box-shadow:var(--ecpd-shadow); display:block; }

.ecpd-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin:26px 0; }
.ecpd-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--ecpd-radius-sm); display:block; }

.ecpd-btns{ display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.ecpd-btn{ display:inline-flex; align-items:center; gap:9px; padding:13px 24px; border-radius:999px;
	font-weight:600; font-size:15px; text-decoration:none; border:0; transition:transform .18s ease, background .18s ease; }
.ecpd-btn:hover{ transform:translateY(-2px); }
.ecpd-btn-primary{ background:var(--ecpd-gold); color:#101010 !important; box-shadow:0 8px 22px rgba(212,134,82,.32); }
.ecpd-btn-primary:hover{ background:var(--epl-gold); color:#101010 !important; }
.ecpd-btn-wa{ background:#25d366; color:#fff !important; }
.ecpd-btn-wa:hover{ background:#1eb457; color:#fff !important; }
.ecpd-btn svg{ width:16px; height:16px; fill:currentColor; flex:none; }

/* contact info cards + form */
.ecpd-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:26px 0; }
.ecpd-card{ background:var(--ecpd-sand-lt); border:1px solid var(--ecpd-border); border-radius:var(--ecpd-radius); padding:22px 20px; }
.ecpd-card-ic{ width:44px; height:44px; border-radius:12px; background:#fff; border:1px solid var(--ecpd-border);
	display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--ecpd-gold-dk); margin-bottom:14px; }
.ecpd-card h3{ font-size:17px; margin:0 0 6px; color:var(--ecpd-ink); }
.ecpd-card p{ font-size:14.5px; color:var(--ecpd-muted); margin:0; line-height:1.6; }
.ecpd-card a{ color:var(--ecpd-gold-dk); }
.ecpd-form{ margin:26px 0; background:#fff; border:1px solid var(--ecpd-border); border-radius:var(--ecpd-radius); padding:26px 24px; box-shadow:var(--ecpd-shadow); }
.ecpd-form input[type=text],.ecpd-form input[type=email],.ecpd-form input[type=tel],.ecpd-form textarea,.ecpd-form select{
	width:100%; padding:12px 14px; border:1px solid var(--ecpd-border); border-radius:var(--ecpd-radius-sm);
	font-family:inherit; font-size:15px; color:var(--ecpd-ink); background:#fff; margin-bottom:14px; }
.ecpd-form textarea{ min-height:130px; }
.ecpd-form input[type=submit]{ background:var(--ecpd-gold); color:#101010; border:0; border-radius:999px;
	padding:13px 30px; font-weight:700; font-size:15px; cursor:pointer; font-family:inherit; }
.ecpd-form input[type=submit]:hover{ background:var(--epl-gold); }
.ecpd-form label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; color:var(--ecpd-ink); }

/* closing help card */
.ecpd-help{ margin-top:clamp(40px,5vw,60px); background:var(--ecpd-sand-lt); border:1px solid var(--ecpd-border);
	border-radius:var(--ecpd-radius); padding:28px 30px; text-align:center; }
.ecpd-help h2{ font-size:22px; margin:0 0 8px; border:0; padding:0; }
.ecpd-help p{ color:var(--ecpd-muted); font-size:15.5px; margin:0 0 18px; }
.ecpd-help .ecpd-btns{ justify-content:center; margin:0; }

@media (max-width:640px){
	.ecpd-head h1{ max-width:none; }
}
