/* Content Landing Page (landing.php + template-parts/landing/*). Loaded only on that template. */

.landing{ --lp-ink:#2c1f18; --lp-tint:#F9F1ED; --lp-accent:#dfaa8e;}

.lp_sec{ padding:90px 0;}
/* Back-to-back white sections share one gap instead of stacking two. A band
   (.lp_band: any section with its own background) keeps its full padding, and
   so does the white section after it. */
.lp_sec:not(.lp_band) + .lp_sec:not(.lp_band){ padding-top:0;}
/* The contact card (.form_info) rides 60px up into the section above it. */
.lp_sec:has(+ .address_sec), .faqs:has(+ .address_sec){ padding-bottom:150px !important;}
/* ...and 60px down into the section below it, if any. */
.address_sec + .lp_sec{ padding-top:150px;}

.lp_title{ margin:0 0 24px; font-size:44px; line-height:1.2; color:var(--lp-ink);}
.lp_title:after{ content:""; display:block; width:300px; max-width:100%; height:18px; margin-top:14px; background:url(../images/web_curve2.png) no-repeat left center; background-size:100% auto;}
.lp_title.text-center:after, .text-center .lp_title:after, .lp_cta .lp_title:after, .lp_noimg .lp_title:after{ margin-left:auto; margin-right:auto; background-position:center;}
.lp_noimg{ text-align:center;}

.lp_lead{ margin:0 0 20px; font-family:'Source Serif Pro', serif; font-size:30px; line-height:1.35; font-weight:600; color:var(--lp-ink);}
.lp_text p{ margin-bottom:18px;}
.lp_text > :last-child{ margin-bottom:0;}
.lp_narrow{ max-width:820px; margin-left:auto; margin-right:auto;}

/* Section images are the site's framed PNG artwork (same as the wedding page
   experience blocks): shown at natural size, never cropped or restyled. */
.lp_fig{ margin:0;}
.lp_fig img{ max-width:100%; height:auto;}

/* Split text: heading + buttons left, text right. Stacks heading, text, buttons on small screens. */
.lp_split_grid{ display:grid; grid-template-columns:5fr 7fr; grid-template-areas:"head text" "btns text"; grid-template-rows:auto 1fr; column-gap:60px; align-items:start;}
.lp_split_head{ grid-area:head;}
.lp_split_text{ grid-area:text;}
.lp_split_btns{ grid-area:btns;}
.lp_split_btns .lp_buttons{ flex-direction:column; align-items:flex-start; margin-top:12px;}

/* Buttons */
.lp_buttons{ display:flex; flex-wrap:wrap; gap:16px 24px; margin-top:32px;}
.text-center .lp_buttons, .lp_noimg .lp_buttons, .lp_list .lp_buttons, .lp_cta .lp_buttons{ justify-content:center;}
.lp_buttons .btns{ min-width:260px; height:auto; min-height:64px; padding:12px 30px; text-align:center; line-height:1.25;}

/* Check list: a tinted band with white items. */
.lp_list{ background:var(--lp-tint);}
.lp_checks{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 32px; max-width:880px; margin:40px auto; padding:0;}
.lp_checks li{ position:relative; padding:15px 20px 15px 62px; background:#fff; border-radius:8px 24px; font-size:18px; line-height:1.4; color:var(--lp-ink);}
.lp_checks li i{ position:absolute; left:20px; top:50%; transform:translateY(-50%); width:28px; height:28px; border-radius:50%; background:var(--lp-accent); color:#fff; font-size:14px; line-height:28px; text-align:center;}

/* CTA bands */
.lp_cta{ position:relative; overflow:hidden; text-align:center;}
.lp_cta .container{ position:relative; z-index:2; max-width:860px;}
.lp_cta_light{ background:var(--lp-tint);}
.lp_cta_dark{ background:var(--lp-ink);}
.lp_cta_dark:before{ content:""; position:absolute; inset:0; z-index:1; background:rgba(28,20,15,0.7);}
.lp_cta_bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.lp_cta_dark .lp_title, .lp_cta_dark .lp_text p, .lp_cta_dark .lp_note{ color:#fff;}
.lp_note{ margin:24px 0 0; font-size:15px; line-height:1.5; font-style:italic; color:#5b4a40;}

/* Contact block intro (above the contact details, on the dark photo). Indent
   matches .address_sec .block, which drops its 60px margin below 1580px. */
.address_sec .contact_intro{ margin:0 0 60px 60px; max-width:600px;}
.address_sec .contact_intro h2{ margin:0 0 20px; font-size:44px; line-height:1.2; color:#fff;}
.address_sec .contact_intro h2:after{ content:""; display:block; width:300px; max-width:100%; height:18px; margin-top:14px; background:url(../images/web_curve2.png) no-repeat left center; background-size:100% auto;}
.address_sec .contact_intro p{ color:#fff; margin-bottom:16px;}
.address_sec .contact_intro .lp_buttons{ margin-top:28px;}
.address_sec .contact_intro .btns{ min-width:0;}

/* Compact contact details (Contact Form "Compact contact details" toggle). */
.address_sec.contact_compact .block{ margin-bottom:28px; padding-left:68px;}
.address_sec.contact_compact .block i{ width:50px; height:50px; line-height:50px;}
.address_sec.contact_compact .block i img{ width:22px; height:auto;}
.address_sec.contact_compact .block h4{ margin-bottom:2px; font-size:16px;}
.address_sec.contact_compact .block span, .address_sec.contact_compact .block span p{ font-size:21px; line-height:1.35;}

/* FAQ (base styles live in the Customizer CSS). Keep long questions clear of the +/- icon. */
.lp_faq .accordion_set > .select_div{ padding-right:56px; text-align:left;}

@media (max-width:1580px) {
.address_sec .contact_intro{ margin-left:0;}
}

@media (max-width:1279px) {
.address_sec .contact_intro h2{ font-size:38px;}
.lp_title{ font-size:38px;}
}

@media (max-width:991px) {
.lp_sec{ padding:60px 0;}
.lp_sec:has(+ .address_sec), .faqs:has(+ .address_sec){ padding-bottom:90px !important;}
.address_sec + .lp_sec{ padding-top:90px;}
.lp_title{ font-size:32px;}
.lp_lead{ font-size:24px;}
.lp_buttons .btns{ min-width:0; min-height:52px;}
.lp_faq .title_center span{ white-space:normal;}
.lp_split_grid{ grid-template-columns:1fr; grid-template-areas:"head" "text" "btns"; grid-template-rows:auto;}
.lp_split_btns .lp_buttons{ flex-direction:row; margin-top:28px;}
.address_sec .contact_intro{ margin-bottom:40px;}
.address_sec .contact_intro h2{ font-size:30px;}
.lp_faq .title_center span:before, .lp_faq .title_center span:after{ display:none;}
}

@media (max-width:767px) {
.lp_sec{ padding:48px 0;}
.lp_sec:has(+ .address_sec), .faqs:has(+ .address_sec){ padding-bottom:48px !important;}
.address_sec + .lp_sec{ padding-top:78px;}
.lp_title{ font-size:28px;}
.lp_title:after{ width:220px;}
.lp_lead{ font-size:22px;}
.lp_checks{ grid-template-columns:1fr; margin:28px auto;}
.lp_checks li{ font-size:16px;}
.lp_buttons, .lp_split_btns .lp_buttons{ flex-direction:column; align-items:stretch;}
.address_sec .contact_intro h2{ font-size:26px;}
.address_sec .contact_intro h2:after{ width:220px;}
.lp_fig{ text-align:center !important;}
.lp_faq .title_center{ font-size:28px;}
.address_sec.contact_compact .block{ padding-left:62px;}
.address_sec.contact_compact .block i{ width:44px; height:44px; line-height:44px;}
.address_sec.contact_compact .block span, .address_sec.contact_compact .block span p{ font-size:18px;}
}
