:root {
	--alp-ink: #243230;
	--alp-muted: #5f6b69;
	--alp-green: #315f57;
	--alp-green-dark: #244a43;
	--alp-gold: #b99155;
	--alp-cream: #f6f3ec;
	--alp-white: #fff;
	--alp-border: #d9dfdc;
	--alp-shadow: 0 18px 45px rgba(25, 48, 44, .13);
	--alp-radius: 14px;
}

html { scroll-behavior: smooth; }
body.audience-landing-page { margin: 0; color: var(--alp-ink); background: var(--alp-white); font-family: "Figtree", Arial, sans-serif; font-size: 18px; line-height: 1.6; }
.audience-landing-page *, .audience-landing-page *::before, .audience-landing-page *::after { box-sizing: border-box; }
.audience-landing-page img { display: block; max-width: 100%; height: auto; }
.audience-landing-page h1, .audience-landing-page h2, .audience-landing-page h3 { margin: 0 0 .65em; color: var(--alp-ink); font-family: "Marcellus", Georgia, serif; font-weight: 400; line-height: 1.15; }
.audience-landing-page h1 { font-size: clamp(2.25rem, 5.6vw, 4rem); }
.audience-landing-page h2 { font-size: clamp(1.9rem, 5vw, 3rem); }
.audience-landing-page h3 { font-size: 1.45rem; }
.audience-landing-page p:first-child { margin-top: 0; }
.audience-landing-page p:last-child { margin-bottom: 0; }
.alp-container { width: min(100% - 40px, 1120px); margin-inline: auto; }
.alp-container--narrow { max-width: 800px; }
.alp-container--form { max-width: 780px; }
.alp-center { text-align: center; }
.alp-skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 10px 14px; color: #fff; background: var(--alp-green-dark); transform: translateY(-150%); }
.alp-skip-link:focus { transform: translateY(0); }

.alp-header { padding: 12px 0; border-bottom: 1px solid var(--alp-border); background: #fff; }
.alp-header__inner { display: flex; align-items: center; min-height: 42px; }
.alp-header__brand { color: var(--alp-ink); text-decoration: none; }
.alp-header__logo { width: auto; max-width: 220px; max-height: 54px; }
.alp-header__name { font-family: "Marcellus", Georgia, serif; font-size: 1.35rem; }

.alp-hero { padding: 54px 0 64px; background: linear-gradient(135deg, #f8f6f0 0%, #eef4f1 100%); }
.alp-hero__grid { display: grid; gap: 38px; }
.alp-eyebrow, .alp-conversion__eyebrow, .alp-resource__eyebrow, .alp-closing__eyebrow { margin: 0 0 14px; color: var(--alp-green); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.alp-hero__intro { max-width: 680px; color: var(--alp-muted); font-size: 1.15rem; }
.alp-hero__image { margin-top: 28px; border-radius: var(--alp-radius); }
.alp-event-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 25px 0 0; padding: 0; list-style: none; font-weight: 700; }
.alp-event-meta li { position: relative; }
.alp-event-meta li:not(:last-child)::after { position: absolute; right: -13px; color: var(--alp-gold); content: "•"; }

.alp-conversion { align-self: start; padding: 30px 24px; border-top: 5px solid var(--alp-gold); border-radius: var(--alp-radius); background: var(--alp-white); box-shadow: var(--alp-shadow); }
.alp-conversion h2 { font-size: 1.9rem; }
.alp-conversion__eyebrow { margin-bottom: 8px; color: var(--alp-muted); font-size: .73rem; }
.alp-conversion__note { margin-bottom: 18px; color: var(--alp-muted); }

/* Gravity Forms styling is limited to this template. */
.alp-conversion .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.alp-conversion .gform_wrapper select,
.alp-conversion .gform_wrapper textarea,
.alp-form-panel .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.alp-form-panel .gform_wrapper select,
.alp-form-panel .gform_wrapper textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #aeb9b6; border-radius: 5px; background: #fff; font: inherit; color: var(--alp-ink) !important; -webkit-text-fill-color: var(--alp-ink); font-size: 1.125rem !important; }
.alp-conversion .gform_wrapper label, .alp-form-panel .gform_wrapper label,
.alp-conversion .gform_wrapper legend, .alp-form-panel .gform_wrapper legend { color: var(--alp-ink); font-size: 1rem; font-weight: 700; }
.alp-conversion .gform_wrapper .gfield_label, .alp-form-panel .gform_wrapper .gfield_label,
.alp-conversion .gform_wrapper .ginput_complex label, .alp-form-panel .gform_wrapper .ginput_complex label,
.alp-conversion .gform_wrapper .gchoice label, .alp-form-panel .gform_wrapper .gchoice label { font-size: 1rem; }
.alp-conversion .gform_wrapper .gfield, .alp-form-panel .gform_wrapper .gfield { margin-bottom: 16px; }
.alp-conversion .gform_wrapper input[type="submit"], .alp-form-panel .gform_wrapper input[type="submit"], .alp-button { display: inline-block; width: 100%; min-height: 52px; padding: 13px 24px; border: 0; border-radius: 5px; color: #fff; background: var(--alp-green); font: inherit; font-weight: 800; text-align: center; text-decoration: none; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.alp-conversion .gform_wrapper input[type="submit"]:hover, .alp-form-panel .gform_wrapper input[type="submit"]:hover, .alp-button:hover { color: #fff; background: var(--alp-green-dark); transform: translateY(-1px); }
.alp-conversion .gform_wrapper input:focus, .alp-conversion .gform_wrapper select:focus, .alp-conversion .gform_wrapper textarea:focus, .alp-form-panel .gform_wrapper input:focus, .alp-form-panel .gform_wrapper select:focus, .alp-form-panel .gform_wrapper textarea:focus, .alp-button:focus { outline: 3px solid rgba(185, 145, 85, .4); outline-offset: 2px; }
.alp-form-panel .gform_confirmation_wrapper { margin: 0; }
.alp-confirmation { padding: 32px; border: 1px solid #cbd9d2; border-left: 5px solid var(--alp-green); border-radius: 6px; background: #f2f7f4; color: var(--alp-ink); }
.alp-confirmation__check { display: grid; width: 34px; height: 34px; margin: 0 0 18px; place-items: center; border-radius: 50%; color: #fff; background: var(--alp-green); font-size: 1.25rem; font-weight: 800; }
.alp-confirmation h3 { margin: 0 0 10px; color: var(--alp-ink); font-size: clamp(1.75rem, 3vw, 2.25rem); }
.alp-confirmation p { max-width: 640px; margin: 0 0 12px; font-size: 1.05rem; }
.alp-confirmation p:last-child { margin-bottom: 0; }
.alp-confirmation__note { color: var(--alp-muted); font-size: .95rem !important; }

.alp-registration { padding: 68px 0; background: #fff; }
.alp-form-panel { padding: 38px; border-top: 5px solid var(--alp-gold); border-radius: var(--alp-radius); background: var(--alp-white); box-shadow: var(--alp-shadow); }
.alp-form-panel h2 { font-size: clamp(2rem, 4vw, 2.6rem); }

@media (max-width: 540px) {
	.alp-registration { padding: 48px 0; }
	.alp-form-panel { padding: 26px 20px; }
	.alp-confirmation { padding: 26px 22px; }
}

.alp-section { padding: 68px 0; }
.alp-section--cream { background: var(--alp-cream); }
.alp-section__intro { color: var(--alp-muted); font-size: 1.08rem; }
.alp-key-points, .alp-situation-list { display: grid; gap: 16px; margin: 30px 0 0; padding: 0; list-style: none; }
.alp-key-points li, .alp-situation-list li { position: relative; padding: 18px 20px 18px 54px; border: 1px solid var(--alp-border); border-radius: 9px; background: #fff; }
.alp-key-points li::before { position: absolute; top: 17px; left: 20px; color: var(--alp-green); font-size: 1.2rem; font-weight: 900; content: "✓"; }
.alp-situation-list li::before { position: absolute; top: 20px; left: 23px; width: 10px; height: 10px; border-radius: 50%; background: var(--alp-gold); content: ""; }

.alp-audience { background: #fff; }
.alp-audience__grid { display: grid; gap: 30px; align-items: center; }
.alp-audience__image { width: 100%; border-radius: var(--alp-radius); }
.alp-audience__description { color: var(--alp-muted); font-size: 1.08rem; }

.alp-resource { padding: 54px 0; color: #e7efea; background: var(--alp-green); }
.alp-resource h2 { color: #fff; }
.alp-resource__eyebrow { color: #d7e5dc; }
.alp-resource__grid { display: grid; gap: 28px; align-items: center; }
.alp-resource__card { display: block; padding: 22px; border: 1px solid rgba(255, 255, 255, .65); color: #fff; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.alp-resource__card:hover { color: #fff; background: rgba(255, 255, 255, .1); transform: translateY(-2px); }
.alp-resource__card img { width: 100%; margin-bottom: 18px; }
.alp-resource__card span { font-weight: 800; }
.alp-resource__card span::after { margin-left: 7px; content: "→"; }

.alp-people { display: grid; gap: 24px; margin-top: 30px; }
.alp-person { padding: 25px; border-radius: var(--alp-radius); background: #fff; }
.alp-person__photo { width: 148px; aspect-ratio: 1; margin: 0 0 20px; border-radius: 50%; object-fit: cover; }
.alp-person__role, .alp-person__credentials { margin: 0 0 6px; color: var(--alp-green); font-weight: 700; }
.alp-person__credentials { color: var(--alp-muted); font-size: .94rem; }
.alp-person__bio { margin-top: 15px; }
.alp-trust-statement { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--alp-border); text-align: center; }

.alp-faqs { border-top: 1px solid var(--alp-border); }
.alp-faq { border-bottom: 1px solid var(--alp-border); }
.alp-faq summary { padding: 20px 34px 20px 0; font-weight: 800; cursor: pointer; }
.alp-faq > div { padding: 0 0 22px; color: var(--alp-muted); }

.alp-closing { padding: 68px 0; color: #fff; background: var(--alp-green-dark); }
.alp-closing h2 { color: #fff; }
.alp-closing__eyebrow { color: #d7e5dc; }
.alp-button--gold { width: auto; min-width: 220px; margin-top: 22px; background: var(--alp-gold); }
.alp-footer { padding: 34px 0; color: #dfe7e4; background: #172b27; font-size: .84rem; text-align: center; }
.alp-footer a { color: #fff; }
.alp-footer__notice, .alp-footer__disclaimer { margin-bottom: 16px; }

@media (max-width: 540px) {
	.alp-person__photo { width: 128px; }
}

@media (min-width: 720px) {
	.alp-key-points { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
	.alp-situation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.alp-people { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
	.alp-audience__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 54px; }
	.alp-audience__grid--without-image { grid-template-columns: minmax(0, 1fr); }
	.alp-resource__grid { grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 54px; }
}

@media (min-width: 920px) {
	.alp-hero { padding: 78px 0 86px; }
	.alp-hero__grid { grid-template-columns: minmax(0, 1.35fr) minmax(340px, .75fr); gap: 60px; }
	.alp-conversion { padding: 34px; }
	.alp-people { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.alp-button, .alp-resource__card { transition: none; }
}
