:root {
	--ptc-ocean: #123e4a;
	--ptc-deep: #0a2932;
	--ptc-lagoon: #2a7b78;
	--ptc-sand: #f3e9d8;
	--ptc-shell: #fffdf8;
	--ptc-coral: #c96e5a;
	--ptc-gold: #c5a25d;
	--ptc-ink: #27373b;
}

.ptc-eyebrow {
	margin: 0 0 .65rem;
	color: var(--ptc-lagoon);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ptc-form,
.ptc-dashboard {
	max-width: 920px;
	margin: 2rem auto;
	color: var(--ptc-ink);
}

.ptc-form {
	padding: clamp(1.25rem, 4vw, 3rem);
	border: 1px solid rgba(18, 62, 74, .1);
	border-radius: 28px;
	background: var(--ptc-shell);
	box-shadow: 0 18px 55px rgba(10, 41, 50, .09);
}

.ptc-form h2,
.ptc-dashboard h2,
.ptc-memorial h1,
.ptc-memorial h2,
.ptc-memorial h3 {
	color: var(--ptc-ocean);
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
}

.ptc-form__header { max-width: 680px; margin-bottom: 2rem; }
.ptc-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.ptc-field { display: grid; gap: .4rem; font-weight: 650; }
.ptc-field--wide { grid-column: 1 / -1; }
.ptc-field input,
.ptc-field textarea,
.ptc-field select {
	width: 100%;
	box-sizing: border-box;
	padding: .85rem 1rem;
	border: 1px solid rgba(18, 62, 74, .24);
	border-radius: 12px;
	background: #fff;
	color: var(--ptc-ink);
	font: inherit;
}
.ptc-field input:focus,
.ptc-field textarea:focus,
.ptc-field select:focus { outline: 3px solid rgba(42, 123, 120, .18); border-color: var(--ptc-lagoon); }
.ptc-consent { display: flex; gap: .65rem; margin: 1.5rem 0; align-items: flex-start; }
.ptc-button {
	display: inline-block;
	padding: .85rem 1.45rem;
	border: 0;
	border-radius: 999px;
	background: var(--ptc-coral);
	color: #fff !important;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}
.ptc-button:hover { filter: brightness(.93); }
.ptc-notice, .ptc-empty { padding: 1.2rem; border-radius: 14px; background: var(--ptc-sand); }
.ptc-dashboard__heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ptc-tribute-list { display: grid; gap: 1rem; margin-top: 1.5rem; }
.ptc-tribute-card { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid rgba(18, 62, 74, .1); border-radius: 18px; background: #fff; }
.ptc-tribute-card h3 { margin: .1rem 0; font-family: Georgia, serif; font-size: 1.4rem; color: var(--ptc-ocean); }
.ptc-tribute-card__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

.ptc-memorial { background: var(--ptc-shell); color: var(--ptc-ink); }
.ptc-memorial__hero { padding: clamp(3rem, 8vw, 7rem) 1.25rem; background: linear-gradient(135deg, var(--ptc-deep), var(--ptc-lagoon)); color: #fff; }
.ptc-memorial__hero-inner { display: grid; grid-template-columns: minmax(220px, 380px) 1fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); max-width: 1180px; margin: auto; }
.ptc-memorial__portrait img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 24px; box-shadow: 16px 18px 0 rgba(197, 162, 93, .3); }
.ptc-memorial__identity h1 { margin: .2rem 0; color: #fff; font-size: clamp(2.8rem, 7vw, 5.8rem); line-height: 1.05; }
.ptc-memorial__dates { font-size: 1.25rem; }
.ptc-memorial__identity blockquote { margin: 2rem 0 0; padding-left: 1.5rem; border-left: 2px solid var(--ptc-gold); color: #ddebe7; font-family: Georgia, serif; font-size: 1.45rem; }
.ptc-memorial__content { max-width: 900px; margin: auto; padding: clamp(3rem, 7vw, 6rem) 1.25rem; }
.ptc-scripture { margin: 3rem 0; padding: 2rem; border: 0; border-radius: 20px; background: var(--ptc-sand); color: var(--ptc-ocean); font-family: Georgia, serif; font-size: 1.3rem; text-align: center; }
.ptc-events__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1.5rem; }

@media (max-width: 720px) {
	.ptc-form__grid, .ptc-events__grid, .ptc-memorial__hero-inner { grid-template-columns: 1fr; }
	.ptc-dashboard__heading, .ptc-tribute-card { align-items: flex-start; flex-direction: column; }
	.ptc-memorial__portrait { max-width: 320px; margin: auto; }
	.ptc-memorial__identity { text-align: center; }
}


