/* Code-built pages (Home, About, …). Measurements taken from the live Elementor pages. */

.al-center { text-align: center; }
.al-narrow { max-width: 540px; margin: 0 auto; }
.al-lead, .al-band .al-lead, .al-split .al-lead { font-family: var(--al-heading); font-size: clamp(22px, 2vw, 28px); line-height: 1.2; margin: 0 0 .8em; }
.al-btn--square { border-radius: 6px; text-transform: uppercase; font-size: 16px; padding: 14px 46px; }

.al-svg { display: block; fill: currentColor; height: auto; }

/* Full-width bands */
.al-band { padding: clamp(48px, 7vw, 80px) var(--al-gutter); position: relative; }
.al-band--olive { background: var(--al-olive); color: var(--al-bg); }
.al-band--olive h1, .al-band--olive h2, .al-band--olive h3 { color: var(--al-bg); }
.al-band--sand { background: var(--al-bg); }
.al-band--rust { background: #C4572D var(--al-band-image) center / cover no-repeat; color: #F5F0EA; }
.al-band--image { background: var(--al-olive) var(--al-band-image) center / cover no-repeat; }
.al-band p, .al-split p { font-size: 16px; line-height: 1.6; }

/* Home: top image */
.al-hero-image img { width: 100%; height: auto; }

/* Home: rust intro with wordmark and four links */
.al-intro__inner { max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 40px; min-height: 360px; }
.al-intro__brand { text-align: center; }
.al-intro__wordmark { width: 230px; margin: 0 auto 24px; }
.al-intro__tagline { font-size: 28px !important; margin: 0; }
.al-intro__links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 60px 30px; }
.al-intro__links a { display: flex; flex-direction: column; align-items: center; gap: 14px; color: inherit; text-decoration: none; font-size: 17px; text-align: center; line-height: 1.2; }
.al-intro__links .al-svg { width: 125px; height: 125px; transition: transform .2s; }
.al-intro__links a:hover .al-svg { transform: scale(1.06); }
@media (max-width: 700px) {
	.al-intro__inner { grid-template-columns: 1fr; }
}

/* Split: media one side, text the other */
.al-split { display: grid; grid-template-columns: 48.5% 1fr; min-height: 420px; }
.al-split--narrow-media { grid-template-columns: 33% 1fr; }
.al-split--light { background: var(--al-card); }
.al-split__body { padding: clamp(40px, 6vw, 90px) clamp(24px, 3.5vw, 78px); max-width: 720px; align-self: center; }
.al-split__body h2 { font-size: clamp(26px, 2.2vw, 34px); margin-bottom: 12px; }
.al-split .al-split__body .al-lead { font-size: clamp(22px, 1.8vw, 28px); }
.al-split--narrow-media .al-split__body h2 { font-size: clamp(28px, 2.2vw, 34px); margin-bottom: 4px; }
.al-split.al-split--narrow-media .al-split__body .al-lead { font-size: clamp(22px, 1.8vw, 28px); }
@media (max-width: 760px) {
	.al-split, .al-split--narrow-media { grid-template-columns: 1fr; }
	.al-split__media { min-height: 300px; }
}

/* Video/image media that fills its box */
.al-media { position: relative; overflow: hidden; min-height: 100%; background: var(--al-olive); }
.al-media__video, .al-media__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.al-media__poster { z-index: 0; }
.al-media__video { z-index: 1; }
@media (prefers-reduced-motion: reduce) { .al-media__video { display: none; } }

/* Home: membership intro */
.al-membership-intro__inner { max-width: 1720px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 8vw, 160px); align-items: center; }
.al-membership-intro__text { max-width: 580px; margin: 0 auto 0 0; }
.al-membership-intro__text h2, .al-membership-intro__text .al-lead { text-align: center; }
.al-membership-intro__text h2 { font-size: clamp(30px, 2.8vw, 42px); }
.al-membership-intro__icon { width: 110px; margin: 0 auto 24px; color: var(--al-bg); }
.al-paper-card {
	background: #EDE6DE var(--al-card-image) center / cover no-repeat; color: var(--al-olive);
	border-radius: 6px; padding: 40px 40px 56px; max-width: 566px; justify-self: end; box-shadow: 0 10px 30px rgb(0 0 0 / .15);
}
.al-band .al-paper-card h3 { font-size: clamp(26px, 2.2vw, 34px); margin-bottom: 20px; color: var(--al-olive); }
.al-paper-card h4 { font-family: var(--al-body); font-size: 18px; font-weight: 500; margin: 18px 0 14px; color: var(--al-olive); }
.al-band .al-paper-card p { font-size: 16px; margin: 0; }
.al-checklist { list-style: none; margin: 0 0 34px; padding: 0; display: grid; gap: 10px; font-size: 16px; }
.al-checklist li { display: flex; gap: 8px; align-items: baseline; }
.al-checklist li::before { content: "✓"; font-weight: 700; color: var(--al-olive); }
@media (max-width: 860px) { .al-membership-intro__inner { grid-template-columns: 1fr; } .al-paper-card { margin: 0 auto; } }

/* Testimonials carousel */
.al-testimonials { padding-top: 80px; padding-bottom: 80px; }
.al-carousel { position: relative; max-width: 1000px; margin: 0 auto; background: var(--al-olive); color: var(--al-bg); border-radius: 4px; padding: 40px 40px 34px; }
.al-carousel__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.al-carousel__track::-webkit-scrollbar { display: none; }
.al-quote { flex: 0 0 100%; scroll-snap-align: start; margin: 0; padding: 0 0 0; display: flex; flex-direction: column; min-height: 560px; }
.al-quote__mark { font-family: var(--al-heading); font-size: 112px; line-height: .6; color: #D9D2C5; height: 60px; }
.al-quote__mark--close { align-self: flex-end; margin-top: 8px; }
.al-quote__text { margin: 16px 0 0; font-size: 17px; line-height: 1.6; }
.al-quote__text p { margin: 0 0 .8em; }
.al-quote__name { align-self: flex-end; margin-top: 24px; font-family: var(--al-heading); font-size: 24px; color: var(--al-ochre); }
.al-carousel__nav { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; color: var(--al-bg); font-size: 28px; cursor: pointer; padding: 6px; z-index: 2; }
.al-carousel__nav--prev { left: 4px; }
.al-carousel__nav--next { right: 4px; }
.al-carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.al-carousel__dots button { width: 7px; height: 7px; border-radius: 50%; border: 0; padding: 0; background: rgb(255 255 255 / .35); cursor: pointer; }
.al-carousel__dots button[aria-current="true"] { background: #fff; }

/* Connect with me */
.al-connect { text-align: center; padding-top: 110px; padding-bottom: 130px; }
.al-connect h2 { font-size: clamp(30px, 2.6vw, 40px); margin-bottom: 24px; }
.al-social { list-style: none; display: flex; justify-content: center; gap: 12px; margin: 0; padding: 0; }
.al-social a { color: var(--al-rust); display: inline-flex; }
.al-social a:hover { color: var(--al-olive); }

/* About */
.al-story h1 { font-size: clamp(32px, 2.8vw, 42px); margin-bottom: 10px; }
.al-band.al-story .al-lead { font-size: clamp(22px, 1.9vw, 28px); }

.al-trio { display: grid; grid-template-columns: 363px 360px 363px; gap: 46px; justify-content: center; align-items: start; }
.al-trio__img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.al-band .al-trio__text p { font-size: 16px; margin: 0 0 1em; }
@media (max-width: 820px) { .al-trio { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; } }
.al-pullquote { padding-top: 10px; padding-bottom: 20px; }
.al-band.al-pullquote p { font-family: var(--al-heading); font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; text-align: center; max-width: 690px; margin: 0 auto; color: var(--al-olive); }
.al-two-col { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; max-width: 1200px; margin: 0 auto; padding-top: 30px; }
.al-two-col h4 { font-size: clamp(22px, 1.8vw, 28px); margin-bottom: 14px; }
.al-band.al-two-col p { font-size: 16px; margin: 0 0 1em; }
@media (max-width: 720px) { .al-two-col { grid-template-columns: 1fr; } }
.al-video-band { height: clamp(320px, 42vw, 940px); }
.al-video-band .al-media { height: 100%; }

/* Footer, matching the live site */
.al-footer { background: var(--al-bg); color: var(--al-olive); padding: 60px 20px 30px; }
.al-footer a { color: var(--al-rust); text-decoration: none; }
.al-footer a:hover { text-decoration: underline; }
.al-footer h4 { color: var(--al-olive); font-family: var(--al-body); font-size: 16px; font-weight: 500; margin: 0 0 10px; }
.al-footer__inner { max-width: none; display: grid; grid-template-columns: 1fr 0.8fr 0.6fr 1.4fr; gap: 36px; font-size: 16px; }
.al-footer__logo { width: 64px; height: auto; margin-top: 30px; }
.al-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.al-footer .al-social { justify-content: flex-start; gap: 8px; }
.al-footer .al-social a { color: var(--al-rust); }
.al-footer__copy { text-align: left; font-size: 13px; margin: 30px 0 0; opacity: 1; }
.al-footer .al-form--newsletter { grid-template-columns: 1fr 285px; column-gap: 14px; align-items: end; }
.al-footer .al-form--newsletter .al-field[data-field="name"] { grid-column: 1; }
.al-footer .al-form--newsletter .al-field[data-field="email"] { grid-column: 1; }
.al-footer .al-form--newsletter .al-form__submit { grid-column: 2; grid-row: 2; justify-self: stretch; justify-content: center; border-radius: 4px; text-transform: uppercase; font-size: 16px; padding: 10px 12px; }
.al-footer .al-form--newsletter .al-form__note { grid-column: 1 / -1; font-size: 13px; }
.al-footer .al-form--newsletter .al-form__note a { font-weight: 600; }
.al-footer .al-form--compact input { background: #fff; border: 1px solid #ddd; border-radius: 3px; padding: 10px 14px; font-size: 16px; }
.al-footer .al-form .al-btn { background: var(--al-olive); color: #fff; border-color: var(--al-olive); }
.al-footer .al-form .al-btn:hover { background: transparent; color: var(--al-olive); }
.al-footer .al-form__message { color: var(--al-olive); grid-column: 1 / -1; }
@media (max-width: 900px) { .al-footer__inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .al-footer__inner { grid-template-columns: 1fr; } .al-footer .al-form--newsletter { grid-template-columns: 1fr; } .al-footer .al-form--newsletter .al-form__submit { grid-column: 1; grid-row: auto; } }
