/* ============================================================
   BRIDES AT THE PRESERVE — live editorial skin  (brides.css)
   Handle: brides-skin  ·  enqueued from functions.php
   "Blush & Champagne" — Cormorant / Pinyon Script / Jost
   ------------------------------------------------------------
   §00 Fonts          §01 Tokens         §02 Base type
   §03 Buttons/links  §04 Header LOCK     §05 Footer LOCK
   §06 Gravity Forms skin (#gform_1 Contact · #gform_2 Inquiry)
   §07 Utility / top bar   §08 News — Divi Blog module skin
   §09 Page module styles (moved out of the paste-in Code modules at 1.5.0)
   NOTE: gold (#c39a6b) / rose are accents; PLUM #61476b is the
   live brand hover accent (from the et_social shortcode) — used
   for focus rings & social hovers. Never default-blue, anywhere.
   ============================================================ */

/* ---- §00 Fonts (Google for now; self-host in /assets/fonts before launch) ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Pinyon+Script&family=Jost:wght@300;400;500;600&display=swap');

/* ---- §01 Tokens ---- */
:root{
  --b-ivory:#fcf8f3; --b-shell:#f3e6df; --b-blush:#ecd7d1; --b-blush-2:#e3c4bd;
  --b-champ:#c39a6b; --b-champ-2:#b1885a; --b-rose:#b07d72;
  --b-plum:#61476b; --b-grey:#dcdad3; --b-offwhite:#f3f3f0;
  --b-ink:#4a403b; --b-ink-soft:#6f6259; --b-line:#e8d9d1;
  --b-disp:'Cormorant',Georgia,serif; --b-script:'Pinyon Script',cursive;
  --b-sans:'Jost',-apple-system,system-ui,sans-serif;
  --b-scrim:rgba(74,64,59,.86);
}

/* ---- §02 Base type (scoped so we don't fight Divi globally) ---- */
.brides-scope,.brides-scope *{box-sizing:border-box}
.brides-scope{font-family:var(--b-sans);font-weight:300;color:var(--b-ink);line-height:1.72}
.brides-scope h1,.brides-scope h2,.brides-scope h3{font-family:var(--b-disp);font-weight:500;margin:0;color:var(--b-ink)}
.brides-scope em,.brides-scope i{font-style:italic;color:var(--b-rose)}
.brides-scope .script{font-family:var(--b-script);font-weight:400;color:var(--b-rose)}
.brides-scope .eyebrow{font:500 12px/1 var(--b-sans);letter-spacing:.34em;text-transform:uppercase;color:var(--b-champ-2)}
.brides-scope .rule{width:58px;height:1px;background:var(--b-champ)}

/* ---- §03 Buttons + links (NEVER default-blue) ---- */
.brides-scope a{color:var(--b-rose);text-decoration:none;transition:color .18s,border-color .18s}
.brides-scope a:hover,.brides-scope a:focus{color:var(--b-champ-2);outline:none}
.b-btn{display:inline-flex;align-items:center;gap:9px;font:500 12px/1 var(--b-sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 24px;cursor:pointer;background:var(--b-champ);color:#fff !important;border:1px solid var(--b-champ);transition:.18s;white-space:nowrap}
.b-btn:hover,.b-btn:focus{background:var(--b-champ-2);border-color:var(--b-champ-2);color:#fff !important;outline:none}
.b-btn.ghost{background:transparent;color:var(--b-ink) !important;border-color:var(--b-ink)}
.b-btn.ghost:hover,.b-btn.ghost:focus{background:var(--b-ink);color:#fff !important}
.b-btn.light{background:#fff;color:var(--b-ink) !important;border-color:#fff}
.b-btn.light:hover{background:var(--b-shell);border-color:var(--b-shell)}

/* ---- §04 HEADER LOCK — matches the homepage mock lockup ----
   Lock the brand lockup so Divi/QuadMenu can never collapse it to
   3 lines and crowd the nav (the exact bug fixed in the mock). */
.brides-header .b-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1240px;margin:0 auto;padding:14px 40px}
.brides-header .b-brand{display:flex;align-items:center;gap:13px;flex-shrink:0;text-decoration:none}
.brides-header .b-brand img{height:46px;width:auto;display:block}
.brides-header .b-brand b{display:block;white-space:nowrap;font:500 19px/1 var(--b-disp);letter-spacing:.02em;color:var(--b-ink)}
.brides-header .b-brand s{display:block;white-space:nowrap;text-decoration:none;font:500 9.5px/1 var(--b-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--b-champ-2);margin-top:5px}
.brides-header nav{display:flex;gap:26px;flex-wrap:nowrap}
.brides-header nav a{font:400 13px/1 var(--b-sans);letter-spacing:.13em;text-transform:uppercase;color:var(--b-ink-soft)}
.brides-header nav a:hover,.brides-header nav a:focus{color:var(--b-rose)}

/* ---- §05 FOOTER LOCK ---- */
.brides-footer{background:var(--b-ink);color:var(--b-offwhite)}
.brides-footer a{color:var(--b-offwhite)}
.brides-footer a:hover,.brides-footer a:focus{color:var(--b-champ)}
.brides-footer .b-foot{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:48px;max-width:1240px;margin:0 auto;padding:64px 40px}
.brides-footer h4{font:500 11px/1 var(--b-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--b-champ);margin:0 0 16px}
.brides-footer .b-foot-bottom{border-top:1px solid rgba(243,243,240,.14);max-width:1240px;margin:0 auto;padding:20px 40px;display:flex;justify-content:space-between;font:400 11px/1 var(--b-sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(243,243,240,.55)}

/* ---- §06 GRAVITY FORMS skin — #gform_1 Contact · #gform_2 Event Inquiry ---- */
#gform_wrapper_1,#gform_wrapper_2{font-family:var(--b-sans);color:var(--b-ink)}
#gform_wrapper_1 .gform_title,#gform_wrapper_2 .gform_title{font-family:var(--b-disp);font-weight:500;font-size:34px;color:var(--b-ink)}
#gform_wrapper_1 .gfield_label,#gform_wrapper_2 .gfield_label{font:500 11px/1 var(--b-sans) !important;letter-spacing:.18em;text-transform:uppercase;color:var(--b-champ-2) !important;margin-bottom:8px}
#gform_wrapper_1 .gfield_required,#gform_wrapper_2 .gfield_required{color:var(--b-rose)}
#gform_wrapper_1 input:not([type=submit]),#gform_wrapper_1 select,#gform_wrapper_1 textarea,
#gform_wrapper_2 input:not([type=submit]),#gform_wrapper_2 select,#gform_wrapper_2 textarea{
  font-family:var(--b-sans);font-size:16px;color:var(--b-ink);background:#fff;
  border:1px solid var(--b-line) !important;border-radius:0 !important;padding:13px 14px !important;transition:border-color .18s,box-shadow .18s}
#gform_wrapper_1 input:focus,#gform_wrapper_1 select:focus,#gform_wrapper_1 textarea:focus,
#gform_wrapper_2 input:focus,#gform_wrapper_2 select:focus,#gform_wrapper_2 textarea:focus{
  border-color:var(--b-champ) !important;box-shadow:0 0 0 3px rgba(195,154,107,.18) !important;outline:none}
/* GF 2.5+ uses a 12-col grid — set field widths via layoutGridColumnSpan in the form editor,
   NOT gf_left_half/right_half (ignored). This just styles whatever spans the editor sets. */
#gform_wrapper_1 .gform_footer input[type=submit],#gform_wrapper_2 .gform_footer input[type=submit],
#gform_wrapper_1 .gform_page_footer input[type=submit],#gform_wrapper_2 .gform_page_footer input[type=submit]{
  font:500 12px/1 var(--b-sans);letter-spacing:.18em;text-transform:uppercase;background:var(--b-champ);
  color:#fff;border:1px solid var(--b-champ);border-radius:0;padding:15px 34px;cursor:pointer;transition:.18s}
#gform_wrapper_1 .gform_footer input[type=submit]:hover,#gform_wrapper_2 .gform_footer input[type=submit]:hover{background:var(--b-champ-2);border-color:var(--b-champ-2)}
/* step circles / progress (if forms are later made multi-step) */
#gform_wrapper_1 .gf_progressbar_percentage,#gform_wrapper_2 .gf_progressbar_percentage{background:var(--b-champ)}

/* ---- §07 Utility top bar + social (plum hover, from live et_social shortcode) ---- */
.brides-topbar{background:var(--b-ink);color:var(--b-offwhite);font:400 11px/1 var(--b-sans);letter-spacing:.14em;text-transform:uppercase}
.brides-topbar a{color:var(--b-offwhite)}
.brides-topbar a:hover{color:var(--b-champ)}
.b-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--b-grey);color:var(--b-plum);transition:.18s}
.b-social a:hover{background:var(--b-plum);color:#fff}

@media(max-width:920px){
  .brides-header nav{display:none}
  .brides-footer .b-foot{grid-template-columns:1fr;gap:32px}
}

/* ---- §08 NEWS — Divi Blog module skin ----
   Add CSS Class `bap-news` to the Blog module (or its section). Skins the
   dynamic post loop into Blush & Champagne cards — script titles, gold meta,
   on-brand Read-More (never default-blue). Replaces the old broken Blog-Extras. */
.bap-news{background:var(--b-ivory)}
/* Divi's grid layout is Salvattore masonry — column-based, so cards stagger and the
   last column can bleed past the container. Force a real CSS grid: even rows, equal
   heights, no overflow. `display:contents` on the salvattore columns promotes the
   posts to direct grid items. */
.bap-news .et_pb_blog_grid .et_pb_salvattore_content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0!important}
.bap-news .et_pb_blog_grid .et_pb_salvattore_content>.column{display:contents!important;width:auto!important;margin:0!important;padding:0!important;float:none!important}
.bap-news .et_pb_blog_grid .et_pb_post{margin:0!important;display:flex;flex-direction:column;height:100%}
.bap-news .et_pb_blog_grid .et_pb_post .post-content{flex:1 1 auto;display:flex;flex-direction:column}
.bap-news .et_pb_blog_grid .et_pb_post .more-link{margin-top:auto}
@media(max-width:1100px){.bap-news .et_pb_blog_grid .et_pb_salvattore_content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.bap-news .et_pb_blog_grid .et_pb_salvattore_content{grid-template-columns:minmax(0,1fr);gap:22px}}
.bap-news .et_pb_blog_grid .et_pb_post,
.bap-news .et_pb_post{background:#fff;border:1px solid var(--b-line);border-radius:0;
  overflow:hidden;box-shadow:none;transition:box-shadow .2s,transform .2s;margin-bottom:28px}
.bap-news .et_pb_post:hover{box-shadow:0 16px 40px rgba(74,64,59,.10);transform:translateY(-3px)}
.bap-news .et_pb_post .et_pb_image_container,
.bap-news .et_pb_post .entry-featured-image-url{margin:0}
.bap-news .et_pb_post .et_pb_image_container img,
.bap-news .et_pb_post .entry-featured-image-url img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.bap-news .et_pb_post .entry-title,
.bap-news .et_pb_post h2.entry-title,
.bap-news .et_pb_post h3.entry-title{font-family:var(--b-disp)!important;font-weight:500;
  font-size:26px;line-height:1.14;color:var(--b-ink);margin:0;padding:24px 26px 0}
.bap-news .et_pb_post .entry-title a{color:var(--b-ink);text-decoration:none;transition:color .18s}
.bap-news .et_pb_post .entry-title a:hover,.bap-news .et_pb_post .entry-title a:focus{color:var(--b-rose);outline:none}
.bap-news .et_pb_post .post-meta,
.bap-news .et_pb_post .post-meta a{font:500 11px/1.4 var(--b-sans)!important;letter-spacing:.16em;
  text-transform:uppercase;color:var(--b-champ-2)!important;padding:0 26px;margin-top:10px}
.bap-news .et_pb_post .post-meta a:hover{color:var(--b-rose)!important}
.bap-news .et_pb_post .post-content,
.bap-news .et_pb_post .post-content p{font-family:var(--b-sans);font-weight:300;font-size:15px;
  line-height:1.62;color:var(--b-ink-soft);padding:12px 26px 0;margin:0}
.bap-news .et_pb_post .more-link,
.bap-news .et_pb_post .post-content .more-link{display:inline-block;margin:16px 26px 28px;
  font:500 11px/1 var(--b-sans);letter-spacing:.18em;text-transform:uppercase;
  color:var(--b-champ-2)!important;text-decoration:none;border:0;transition:color .18s}
.bap-news .et_pb_post .more-link:hover,.bap-news .et_pb_post .more-link:focus{color:var(--b-rose)!important;outline:none}
/* pagination */
.bap-news .wp-pagenavi a,.bap-news .pagination a{color:var(--b-champ-2);border-color:var(--b-line)}
.bap-news .wp-pagenavi a:hover,.bap-news .pagination a:hover{color:var(--b-rose)}

/* ================================================================
   §09 PAGE MODULE STYLES
   ----------------------------------------------------------------
   Moved here at 1.5.0 from the <style> blocks that used to ship inside
   each paste-in Divi Code module. Reasons: (a) many hosts' WAF /
   mod_security rejects a page-save POST containing a <style> block,
   which was blocking the Code modules from saving at all; (b) the
   pastes are now markup only — roughly a third the size; (c) style
   changes now ship in a theme update instead of a re-paste of every page.
   Every block below is #bap-* scoped exactly as it was, so nothing here
   can leak into Divi or other plugins.
   ================================================================ */

/* ---------- header-global.html ---------- */
#bap-hd{--ink:#4a403b;--ink-soft:#6f6259;--champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;--ivory:#fcf8f3;--offwhite:#f3f3f0;
  --disp:'Cormorant',Georgia,serif;--sans:'Jost',-apple-system,system-ui,sans-serif;font-family:var(--sans)}
#bap-hd *{box-sizing:border-box}
#bap-hd .bap-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-hd .bap-top{background:var(--ink);color:var(--offwhite)}
#bap-hd .bap-top-in{display:flex;align-items:center;justify-content:space-between;height:40px;font:400 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
#bap-hd .bap-util{display:flex;gap:22px}
#bap-hd .bap-util a,#bap-hd .bap-top-in span{color:var(--offwhite);text-decoration:none}
#bap-hd .bap-util a:hover,#bap-hd .bap-util a:focus{color:var(--champ);outline:none}
#bap-hd .bap-main{position:sticky;top:0;z-index:40;background:rgba(252,248,243,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
#bap-hd .bap-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
#bap-hd .bap-brand{display:flex;align-items:center;gap:13px;flex-shrink:0;text-decoration:none}
#bap-hd .bap-brand img{height:46px;width:auto;display:block}
#bap-hd .bap-brand b{display:block;white-space:nowrap;font:500 19px/1 var(--disp);letter-spacing:.02em;color:var(--ink)}
#bap-hd .bap-brand s{display:block;white-space:nowrap;text-decoration:none;font:500 9.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--champ-2);margin-top:5px}
#bap-hd .bap-nav{display:flex;gap:26px;flex-wrap:nowrap}
#bap-hd .bap-nav a{font:400 13px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none}
#bap-hd .bap-nav a:hover,#bap-hd .bap-nav a:focus{color:var(--rose);outline:none}
#bap-hd .bap-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
#bap-hd .bap-btn{display:inline-flex;align-items:center;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:11px 18px;background:var(--champ);color:#fff;border:1px solid var(--champ);text-decoration:none;transition:.18s;white-space:nowrap}
#bap-hd .bap-btn:hover,#bap-hd .bap-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-hd .bap-btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
#bap-hd .bap-btn.ghost:hover,#bap-hd .bap-btn.ghost:focus{background:var(--ink);color:#fff}
@media(max-width:1080px){#bap-hd .bap-nav{display:none}}
@media(max-width:720px){#bap-hd .bap-cta .ghost{display:none}#bap-hd .bap-top-in span{display:none}#bap-hd .bap-top-in{justify-content:center}}

/* ---------- §11 Mobile menu drawer (1.9.0) ----------
   Below 1080px the main nav was simply hidden with nothing in its place — the
   site had no mobile menu at all. Burger + slide-in drawer; behaviour in
   assets/brides-nav.js. */
#bap-hd .bap-burger{display:none;width:44px;height:44px;padding:0;margin-left:4px;
  background:transparent;border:1px solid var(--line);cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
#bap-hd .bap-burger span{display:block;width:19px;height:1.5px;background:var(--ink);
  transition:transform .24s ease,opacity .18s ease}
#bap-hd .bap-burger:hover,#bap-hd .bap-burger:focus{border-color:var(--champ);outline:none}
#bap-hd .bap-burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
#bap-hd .bap-burger.is-open span:nth-child(2){opacity:0}
#bap-hd .bap-burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#bap-hd .bap-scrim{position:fixed;inset:0;background:rgba(74,64,59,.5);opacity:0;
  transition:opacity .28s ease;z-index:99998}
#bap-hd .bap-scrim.is-open{opacity:1}
#bap-hd .bap-drawer{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);
  background:var(--ivory);border-left:1px solid var(--line);z-index:99999;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;-webkit-overflow-scrolling:touch}
#bap-hd .bap-drawer.is-open{transform:translateX(0)}
#bap-hd .bap-drawer-in{padding:88px 30px 40px;display:flex;flex-direction:column}
#bap-hd .bap-drawer-in>a{font:400 15px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line);
  transition:color .18s}
#bap-hd .bap-drawer-in>a:hover,#bap-hd .bap-drawer-in>a:focus{color:var(--rose);outline:none}
#bap-hd .bap-drawer-cta{display:flex;flex-direction:column;gap:10px;margin-top:28px}
#bap-hd .bap-drawer-cta .bap-btn{justify-content:center;padding:15px 18px}
#bap-hd .bap-drawer-foot{display:flex;flex-direction:column;gap:12px;margin-top:32px;
  padding-top:22px;border-top:1px solid var(--line)}
#bap-hd .bap-drawer-foot a{font:400 13px/1.4 var(--sans);letter-spacing:.06em;
  color:var(--ink-soft);text-decoration:none;transition:color .18s}
#bap-hd .bap-drawer-foot a:hover,#bap-hd .bap-drawer-foot a:focus{color:var(--rose);outline:none}
@media(max-width:1080px){#bap-hd .bap-burger{display:flex}}
@media(min-width:1081px){#bap-hd .bap-drawer,#bap-hd .bap-scrim{display:none!important}}
@media(prefers-reduced-motion:reduce){
  #bap-hd .bap-drawer,#bap-hd .bap-scrim,#bap-hd .bap-burger span{transition:none}
}

/* ---------- footer-global.html ---------- */
#bap-ft{--ink:#4a403b;--champ:#c39a6b;--rose:#b07d72;--offwhite:#f3f3f0;--grey:#dcdad3;--plum:#61476b;
  --disp:'Cormorant',Georgia,serif;--sans:'Jost',-apple-system,system-ui,sans-serif;
  background:var(--ink);color:var(--offwhite);font-family:var(--sans);font-weight:300}
#bap-ft *{box-sizing:border-box}
#bap-ft .bap-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-ft .bap-foot{display:grid;grid-template-columns:1.6fr .9fr .9fr 1fr;gap:48px;padding-top:66px;padding-bottom:48px}
#bap-ft a{color:var(--offwhite);text-decoration:none;transition:color .18s}
#bap-ft a:hover,#bap-ft a:focus{color:var(--champ);outline:none}
#bap-ft .bap-brand{display:flex;align-items:center;gap:13px;text-decoration:none;margin-bottom:18px}
#bap-ft .bap-brand img{height:48px;width:auto;display:block}
#bap-ft .bap-brand b{display:block;white-space:nowrap;font:500 19px/1 var(--disp);color:var(--offwhite)}
#bap-ft .bap-brand s{display:block;white-space:nowrap;text-decoration:none;font:500 9px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--champ);margin-top:5px}
#bap-ft .bap-about p{max-width:42ch;line-height:1.7;color:rgba(243,243,240,.78);font-size:14.5px;margin:0 0 20px}
#bap-ft h4{font:500 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--champ);margin:0 0 16px}
#bap-ft .bap-col p{line-height:1.7;color:rgba(243,243,240,.82);font-size:14.5px;margin:0 0 10px}
#bap-ft .bap-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#bap-ft .bap-social{display:flex;gap:10px;margin-top:4px}
#bap-ft .bap-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--grey);color:var(--plum);font:500 12px/1 var(--sans);text-transform:lowercase;transition:.18s}
#bap-ft .bap-social a:hover,#bap-ft .bap-social a:focus{background:var(--plum);color:#fff}
#bap-ft .bap-foot-bottom{border-top:1px solid rgba(243,243,240,.14);padding-top:20px;padding-bottom:24px;display:flex;justify-content:space-between;font:400 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(243,243,240,.55)}
@media(max-width:1080px){#bap-ft .bap-foot{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:880px){#bap-ft .bap-foot{grid-template-columns:1fr;gap:34px}#bap-ft .bap-foot-bottom{flex-direction:column;gap:10px;text-align:center}}

/* ---------- home-body.html ---------- */
#bap-home{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;--blush-2:#e3c4bd;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-home *{box-sizing:border-box}
#bap-home img{display:block;max-width:100%}
#bap-home h1,#bap-home h2,#bap-home h3{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-home em{font-style:italic;color:var(--rose)}
#bap-home .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-home .eyebrow{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-home .rule{width:62px;height:1px;background:var(--champ);margin:20px auto 0}
#bap-home .bh-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-home .bh-sec{padding:104px 0}
#bap-home .bh-center{text-align:center;margin-top:46px}
/* buttons */
#bap-home .bh-btn{display:inline-flex;align-items:center;gap:9px;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 24px;background:var(--champ);color:#fff;border:1px solid var(--champ);text-decoration:none;transition:.18s;white-space:nowrap}
#bap-home .bh-btn:hover,#bap-home .bh-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-home .bh-btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
#bap-home .bh-btn.ghost:hover,#bap-home .bh-btn.ghost:focus{background:var(--ink);color:#fff}
#bap-home .bh-btn.light{background:#fff;color:var(--ink);border-color:#fff}
#bap-home .bh-btn.light:hover{background:var(--shell);border-color:var(--shell)}
#bap-home .bh-btn.outline{background:transparent;color:#fff;border-color:#fff}
#bap-home .bh-btn.outline:hover{background:#fff;color:var(--ink)}
/* section head */
#bap-home .bh-head{text-align:center;max-width:760px;margin:0 auto 58px}
#bap-home .bh-head .script{font-size:38px;display:block;margin:10px 0 4px}
#bap-home .bh-head h2{font-size:clamp(34px,3.6vw,52px);line-height:1.08}
#bap-home .bh-head p{color:var(--ink-soft);margin:18px auto 0;max-width:60ch}
/* hero */
#bap-home .bh-hero{display:grid;grid-template-columns:1fr 1fr;min-height:82vh;background:var(--blush)}
#bap-home .bh-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:8vh 6vw}
#bap-home .bh-hero-copy .script{font-size:46px;line-height:1;margin-bottom:6px}
#bap-home .bh-hero-copy h1{font-size:clamp(46px,5vw,76px);line-height:1.02;letter-spacing:-.01em}
#bap-home .bh-hero-copy p{max-width:42ch;margin:24px 0 0;color:var(--ink-soft);font-size:18px}
#bap-home .bh-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
#bap-home .bh-hero-img{position:relative;overflow:hidden}
#bap-home .bh-hero-img img{width:100%;height:100%;object-fit:cover}
#bap-home .bh-hero-tag{position:absolute;left:0;right:0;bottom:0;padding:18px 26px;background:linear-gradient(0deg,rgba(74,64,59,.5),transparent);font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#fff}
/* welcome */
#bap-home .bh-welcome{background:var(--shell)}
#bap-home .bh-welcome-in{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
#bap-home .bh-feat{aspect-ratio:4/5;width:100%;height:100%;object-fit:cover}
#bap-home .bh-welcome h2{font-size:clamp(32px,3.4vw,46px);line-height:1.1}
#bap-home .bh-welcome p{color:var(--ink-soft);margin:20px 0 0}
#bap-home .bh-sig{font-family:var(--script);font-size:30px;color:var(--rose);margin-top:24px}
/* spaces */
#bap-home .bh-spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
#bap-home .bh-space{background:#fff;border:1px solid var(--line)}
#bap-home .bh-space img{aspect-ratio:3/2;width:100%;object-fit:cover}
#bap-home .bh-space-b{padding:26px 26px 30px}
#bap-home .bh-space h3{font-size:27px;margin:9px 0 8px}
#bap-home .bh-space p{font-size:15px;color:var(--ink-soft);line-height:1.6}
/* numbers */
#bap-home .bh-nums{background:var(--blush);padding:64px 0}
#bap-home .bh-nums-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
#bap-home .bh-num .n{font:500 56px/1 var(--disp);color:var(--rose)}
#bap-home .bh-num .n em{font-style:italic}
#bap-home .bh-num .l{font:500 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px}
/* gallery */
#bap-home .bh-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px;grid-auto-flow:dense}
#bap-home .bh-gal>*{overflow:hidden}
#bap-home .bh-gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
#bap-home .bh-gal a:hover img{transform:scale(1.05)}
#bap-home .bh-gal .tall{grid-row:span 2}
#bap-home .bh-gal .wide{grid-column:span 2}
/* resort experience */
#bap-home .bh-exp{background:var(--ink);color:var(--ivory)}
#bap-home .bh-exp h2{color:#fff}#bap-home .bh-exp .bh-head p{color:rgba(251,246,241,.7)}
#bap-home .bh-exp .bh-head .script{color:var(--champ)}
#bap-home .bh-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
#bap-home .bh-exp-card{position:relative;aspect-ratio:3/4;overflow:hidden}
#bap-home .bh-exp-card img{width:100%;height:100%;object-fit:cover}
#bap-home .bh-exp-card .cap{position:absolute;inset:auto 0 0 0;padding:24px;background:linear-gradient(0deg,rgba(28,24,22,.82),transparent)}
#bap-home .bh-exp-card .cap b{display:block;font:500 24px/1 var(--disp)}
#bap-home .bh-exp-card .cap span{font:400 13px/1.5 var(--sans);color:rgba(251,246,241,.78)}
/* testimonial */
#bap-home .bh-quote{background:var(--shell);text-align:center}
#bap-home .bh-quote .mark{font:500 80px/.6 var(--disp);color:var(--blush-2)}
#bap-home .bh-quote blockquote{margin:0 auto;max-width:780px;font:italic 400 27px/1.5 var(--disp);color:var(--ink)}
#bap-home .bh-quote cite{display:block;margin-top:26px;font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--champ-2);font-style:normal}
/* CTA band */
#bap-home .bh-ctaband{position:relative;overflow:hidden;color:#fff;text-align:center;padding:126px 0}
#bap-home .bh-ctaband .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-home .bh-ctaband::after{content:"";position:absolute;inset:0;background:rgba(74,55,50,.6);z-index:1}
#bap-home .bh-ctaband .inner{position:relative;z-index:2}
#bap-home .bh-ctaband .script{color:#f0d9d2;font-size:40px}
#bap-home .bh-ctaband h2{color:#fff;font-size:clamp(36px,4.2vw,58px);line-height:1.05;margin-top:6px}
#bap-home .bh-ctaband p{max-width:52ch;margin:20px auto 0;color:rgba(255,255,255,.85)}
#bap-home .bh-ctaband .bh-cta{justify-content:center}
@media(max-width:900px){
  #bap-home .bh-hero{grid-template-columns:1fr}
  #bap-home .bh-hero-img{min-height:48vh;order:-1}
  #bap-home .bh-welcome-in{grid-template-columns:1fr;gap:34px}
  #bap-home .bh-spaces{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  #bap-home .bh-nums-grid{grid-template-columns:1fr 1fr;gap:36px 20px}
  #bap-home .bh-gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  #bap-home .bh-exp-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}
  #bap-home .bh-sec{padding:72px 0}
}

/* ---------- about.html ---------- */
#bap-abt{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-abt *{box-sizing:border-box}
#bap-abt img{display:block;max-width:100%}
#bap-abt h1,#bap-abt h2,#bap-abt h3{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-abt em{font-style:italic;color:var(--rose)}
#bap-abt .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-abt .eyebrow{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-abt .rule{width:62px;height:1px;background:var(--champ);margin:20px auto 0}
#bap-abt .ba-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-abt .ba-sec{padding:100px 0}
#bap-abt .ba-btn{display:inline-flex;align-items:center;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 24px;background:var(--champ);color:#fff;border:1px solid var(--champ);text-decoration:none;transition:.18s;white-space:nowrap}
#bap-abt .ba-btn:hover,#bap-abt .ba-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-abt .ba-btn.light{background:#fff;color:var(--ink);border-color:#fff}
#bap-abt .ba-btn.light:hover{background:var(--shell);border-color:var(--shell)}
/* hero */
#bap-abt .ba-hero{position:relative;min-height:62vh;display:flex;align-items:center;overflow:hidden}
#bap-abt .ba-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-abt .ba-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-abt .ba-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-abt .ba-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-abt .ba-hero-in h1{font-size:clamp(42px,4.6vw,68px);line-height:1.05;color:#fff;margin-top:4px;max-width:20ch}
#bap-abt .ba-hero-in em{color:#f0d9d2}
#bap-abt .ba-hero-in p{max-width:58ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
/* head */
#bap-abt .ba-head{text-align:center;max-width:760px;margin:0 auto 52px}
#bap-abt .ba-head .script{font-size:38px;display:block;margin:10px 0 4px}
#bap-abt .ba-head h2{font-size:clamp(32px,3.4vw,48px);line-height:1.08}
/* story */
#bap-abt .ba-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
#bap-abt .ba-story-img img{width:100%;aspect-ratio:3/4;object-fit:cover;position:sticky;top:96px}
#bap-abt .ba-story-copy h2{font-size:clamp(30px,3.2vw,44px);line-height:1.12;margin:12px 0 0}
#bap-abt .ba-story-copy p{color:var(--ink-soft);margin:18px 0 0}
#bap-abt .ba-promise{font-family:var(--disp);font-style:italic;font-size:23px;color:var(--rose)!important;margin-top:24px!important}
#bap-abt .ba-story-copy .ba-btn{margin-top:28px}
/* cards */
#bap-abt .ba-cards-sec{background:var(--shell)}
#bap-abt .ba-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
#bap-abt .ba-card{background:var(--ivory);border:1px solid var(--line);display:flex;flex-direction:column}
#bap-abt .ba-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
#bap-abt .ba-card-b{padding:28px 28px 30px;flex:1;display:flex;flex-direction:column}
#bap-abt .ba-card h3{font-size:27px;margin:0 0 10px}
#bap-abt .ba-card p{font-size:15px;color:var(--ink-soft);line-height:1.62;flex:1}
#bap-abt .ba-link{margin-top:16px;font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--champ-2);text-decoration:none;transition:color .18s}
#bap-abt .ba-link:hover,#bap-abt .ba-link:focus{color:var(--rose);outline:none}
/* strip */
#bap-abt .ba-strip{background:var(--ink);color:var(--ivory);padding:68px 0}
#bap-abt .ba-strip-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
#bap-abt .ba-strip .script{color:var(--champ);font-size:30px;display:block}
#bap-abt .ba-strip h2{color:#fff;font-size:clamp(38px,4.4vw,58px);line-height:1;margin-top:4px}
@media(max-width:900px){
  #bap-abt .ba-sec{padding:70px 0}
  #bap-abt .ba-story{grid-template-columns:1fr;gap:30px}
  #bap-abt .ba-story-img img{position:static;aspect-ratio:4/3}
  #bap-abt .ba-cards{grid-template-columns:1fr;max-width:440px;margin:0 auto}
}

/* ---------- weddings.html ---------- */
#bap-wed{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-wed *{box-sizing:border-box}
#bap-wed img{display:block;max-width:100%}
#bap-wed h1,#bap-wed h2,#bap-wed h3{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-wed em{font-style:italic;color:var(--rose)}
#bap-wed .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-wed .eyebrow{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-wed .rule{width:62px;height:1px;background:var(--champ);margin:20px auto 0}
#bap-wed .bw-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-wed .bw-sec{padding:100px 0}
#bap-wed .bw-btn{display:inline-flex;align-items:center;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 24px;background:var(--champ);color:#fff;border:1px solid var(--champ);text-decoration:none;transition:.18s;white-space:nowrap}
#bap-wed .bw-btn:hover,#bap-wed .bw-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-wed .bw-btn.light{background:#fff;color:var(--ink);border-color:#fff}
#bap-wed .bw-btn.light:hover{background:var(--shell);border-color:var(--shell)}
#bap-wed .bw-btn.outline{background:transparent;color:#fff;border-color:#fff}
#bap-wed .bw-btn.outline:hover{background:#fff;color:var(--ink)}
/* hero */
#bap-wed .bw-hero{position:relative;min-height:62vh;display:flex;align-items:center;overflow:hidden}
#bap-wed .bw-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-wed .bw-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.34));z-index:1}
#bap-wed .bw-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-wed .bw-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-wed .bw-hero-in h1{font-size:clamp(44px,5vw,74px);line-height:1.03;color:#fff;margin-top:4px}
#bap-wed .bw-hero-in em{color:#f0d9d2}
#bap-wed .bw-hero-in p{max-width:56ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
/* head */
#bap-wed .bw-head{text-align:center;max-width:760px;margin:0 auto 58px}
#bap-wed .bw-head .script{font-size:38px;display:block;margin:10px 0 4px}
#bap-wed .bw-head h2{font-size:clamp(34px,3.6vw,50px);line-height:1.08}
/* intro */
#bap-wed .bw-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
#bap-wed .bw-intro h2{font-size:clamp(30px,3.2vw,44px);line-height:1.12;margin-top:12px}
#bap-wed .bw-intro p{color:var(--ink-soft);margin:0 0 18px;font-size:17.5px}
/* journey */
#bap-wed .bw-journey{background:var(--shell)}
#bap-wed .bw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
#bap-wed .bw-step{background:var(--ivory);border:1px solid var(--line);padding:34px 28px 32px}
#bap-wed .bw-step .no{font:500 15px/1 var(--sans);letter-spacing:.2em;color:var(--champ);display:block}
#bap-wed .bw-step h3{font-size:25px;margin:16px 0 10px}
#bap-wed .bw-step p{font-size:15px;color:var(--ink-soft);line-height:1.62}
/* split */
#bap-wed .bw-split-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
#bap-wed .bw-split-copy h2{font-size:clamp(30px,3.2vw,44px);line-height:1.12;margin:12px 0 0}
#bap-wed .bw-split-copy p{color:var(--ink-soft);margin:18px 0 0}
#bap-wed .bw-split-copy .bw-btn{margin-top:30px}
#bap-wed .bw-split-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
/* CTA */
#bap-wed .bw-ctaband{position:relative;overflow:hidden;color:#fff;text-align:center;padding:120px 0}
#bap-wed .bw-ctaband .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-wed .bw-ctaband::after{content:"";position:absolute;inset:0;background:rgba(74,55,50,.62);z-index:1}
#bap-wed .bw-ctaband .inner{position:relative;z-index:2}
#bap-wed .bw-ctaband .script{color:#f0d9d2;font-size:40px}
#bap-wed .bw-ctaband h2{color:#fff;font-size:clamp(34px,4vw,56px);line-height:1.05;margin-top:6px}
#bap-wed .bw-ctaband p{max-width:52ch;margin:20px auto 0;color:rgba(255,255,255,.85)}
#bap-wed .bw-cta{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
@media(max-width:900px){
  #bap-wed .bw-sec{padding:70px 0}
  #bap-wed .bw-intro{grid-template-columns:1fr;gap:26px}
  #bap-wed .bw-steps{grid-template-columns:1fr 1fr;gap:20px}
  #bap-wed .bw-split-in{grid-template-columns:1fr;gap:32px}
  #bap-wed .bw-split-img{order:-1}
}
@media(max-width:560px){#bap-wed .bw-steps{grid-template-columns:1fr}}

/* ---------- bridal-services.html ---------- */
#bap-svc{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-svc *{box-sizing:border-box}
#bap-svc img{display:block;max-width:100%}
#bap-svc h1,#bap-svc h2,#bap-svc h3{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-svc em{font-style:italic;color:var(--rose)}
#bap-svc .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-svc .eyebrow{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-svc .rule{width:62px;height:1px;background:var(--champ);margin:20px auto 0}
#bap-svc .bs-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-svc .bs-sec{padding:100px 0}
#bap-svc .bs-btn{display:inline-flex;align-items:center;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 24px;background:var(--champ);color:#fff;border:1px solid var(--champ);text-decoration:none;transition:.18s;white-space:nowrap}
#bap-svc .bs-btn:hover,#bap-svc .bs-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-svc .bs-btn.light{background:#fff;color:var(--ink);border-color:#fff}
#bap-svc .bs-btn.light:hover{background:var(--shell);border-color:var(--shell)}
#bap-svc .bs-btn.outline{background:transparent;color:#fff;border-color:#fff}
#bap-svc .bs-btn.outline:hover{background:#fff;color:var(--ink)}
/* hero */
#bap-svc .bs-hero{position:relative;min-height:60vh;display:flex;align-items:center;overflow:hidden}
#bap-svc .bs-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-svc .bs-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-svc .bs-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-svc .bs-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-svc .bs-hero-in h1{font-size:clamp(44px,5vw,72px);line-height:1.03;color:#fff;margin-top:4px}
#bap-svc .bs-hero-in em{color:#f0d9d2}
#bap-svc .bs-hero-in p{max-width:60ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
/* head */
#bap-svc .bs-head{text-align:center;max-width:760px;margin:0 auto 50px}
#bap-svc .bs-head .script{font-size:38px;display:block;margin:10px 0 4px}
#bap-svc .bs-head h2{font-size:clamp(32px,3.4vw,48px);line-height:1.08}
/* intro */
#bap-svc .bs-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
#bap-svc .bs-intro-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
#bap-svc .bs-intro-copy h2{font-size:clamp(30px,3.2vw,44px);line-height:1.12;margin:12px 0 0}
#bap-svc .bs-intro-copy p{color:var(--ink-soft);margin:18px 0 0}
#bap-svc .bs-lead{font-family:var(--disp);font-style:italic;font-size:22px;color:var(--rose)!important}
/* amenities */
#bap-svc .bs-amen{background:var(--shell)}
#bap-svc .bs-feature{max-width:900px;margin:0 auto 44px;text-align:center;font-family:var(--disp);font-size:23px;line-height:1.5;color:var(--ink)}
#bap-svc .bs-list{list-style:none;margin:0;padding:0}
#bap-svc .bs-list li{position:relative;padding:14px 0 14px 26px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink)}
#bap-svc .bs-list li::before{content:"";position:absolute;left:0;top:20px;width:9px;height:9px;border:1px solid var(--champ);transform:rotate(45deg)}
#bap-svc .bs-list-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 44px}
#bap-svc .bs-list-2{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
/* additional */
#bap-svc .bs-two{display:grid;grid-template-columns:1fr 1fr;gap:32px}
#bap-svc .bs-panel{background:#fff;border:1px solid var(--line);padding:44px 40px}
#bap-svc .bs-panel h3{font-size:30px;margin:12px 0 20px}
#bap-svc .bs-panel-dark{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
#bap-svc .bs-panel-dark h3{color:#fff}
#bap-svc .bs-panel-dark .bs-list li{color:rgba(251,246,241,.9);border-color:rgba(243,243,240,.14)}
#bap-svc .bs-panel-dark .bs-list li::before{border-color:var(--champ)}
/* CTA */
#bap-svc .bs-ctaband{position:relative;overflow:hidden;color:#fff;text-align:center;padding:118px 0}
#bap-svc .bs-ctaband .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-svc .bs-ctaband::after{content:"";position:absolute;inset:0;background:rgba(74,55,50,.62);z-index:1}
#bap-svc .bs-ctaband .inner{position:relative;z-index:2}
#bap-svc .bs-ctaband .script{color:#f0d9d2;font-size:40px}
#bap-svc .bs-ctaband h2{color:#fff;font-size:clamp(34px,4vw,54px);line-height:1.05;margin-top:6px}
#bap-svc .bs-ctaband p{max-width:52ch;margin:20px auto 0;color:rgba(255,255,255,.85)}
#bap-svc .bs-cta{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
@media(max-width:900px){
  #bap-svc .bs-sec{padding:70px 0}
  #bap-svc .bs-intro{grid-template-columns:1fr;gap:28px}
  #bap-svc .bs-intro-img{order:-1}
  #bap-svc .bs-list-3{grid-template-columns:1fr 1fr}
  #bap-svc .bs-two{grid-template-columns:1fr;gap:24px}
}
@media(max-width:560px){
  #bap-svc .bs-list-3,#bap-svc .bs-list-2{grid-template-columns:1fr}
}

/* ---------- real-weddings.html ---------- */
#bap-real{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-real *{box-sizing:border-box}
#bap-real img{display:block;max-width:100%}
#bap-real h1,#bap-real h2{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-real em{font-style:italic;color:var(--rose)}
#bap-real .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-real .br-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-real .br-sec{padding:90px 0}
#bap-real .br-btn{display:inline-flex;align-items:center;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 26px;background:var(--champ);color:#fff;border:1px solid var(--champ);text-decoration:none;cursor:pointer;transition:.18s;white-space:nowrap}
#bap-real .br-btn:hover,#bap-real .br-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-real .br-btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
#bap-real .br-btn.ghost:hover{background:var(--ink);color:#fff}
#bap-real .br-btn.light{background:#fff;color:var(--ink);border-color:#fff}
#bap-real .br-btn.light:hover{background:var(--shell);border-color:var(--shell)}
#bap-real .br-btn.outline{background:transparent;color:#fff;border-color:#fff}
#bap-real .br-btn.outline:hover{background:#fff;color:var(--ink)}
/* hero */
#bap-real .br-hero{position:relative;min-height:56vh;display:flex;align-items:center;overflow:hidden}
#bap-real .br-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-real .br-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-real .br-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-real .br-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-real .br-hero-in h1{font-size:clamp(44px,5vw,72px);line-height:1.03;color:#fff;margin-top:4px}
#bap-real .br-hero-in em{color:#f0d9d2}
#bap-real .br-hero-in p{max-width:60ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
/* grid */
#bap-real .br-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px;grid-auto-flow:dense}
#bap-real .br-cell{overflow:hidden;position:relative;background:var(--shell);display:block}
#bap-real .br-cell.tall{grid-row:span 2}
#bap-real .br-cell.wide{grid-column:span 2}
#bap-real a.br-cell{cursor:pointer}
#bap-real .br-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
#bap-real a.br-cell:hover img{transform:scale(1.05)}
#bap-real .br-ph{background:repeating-linear-gradient(45deg,#efe1da,#efe1da 11px,#f6ece6 11px,#f6ece6 22px);display:flex;align-items:flex-end}
#bap-real .br-ph span{font:500 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#b89c90;padding:12px 14px}
#bap-real .br-more-wrap{text-align:center;margin-top:46px}
/* CTA */
#bap-real .br-ctaband{position:relative;overflow:hidden;color:#fff;text-align:center;padding:116px 0}
#bap-real .br-ctaband .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-real .br-ctaband::after{content:"";position:absolute;inset:0;background:rgba(74,55,50,.62);z-index:1}
#bap-real .br-ctaband .inner{position:relative;z-index:2}
#bap-real .br-ctaband .script{color:#f0d9d2;font-size:40px}
#bap-real .br-ctaband h2{color:#fff;font-size:clamp(34px,4vw,54px);line-height:1.05;margin-top:6px}
#bap-real .br-ctaband p{max-width:52ch;margin:20px auto 0;color:rgba(255,255,255,.85)}
#bap-real .br-cta{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
/* lightbox */
#bap-real .br-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(28,24,22,.94);padding:5vh 6vw}
#bap-real .br-lb.open{display:flex}
#bap-real .br-lb img{max-width:100%;max-height:90vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#bap-real .br-lb-close{position:absolute;top:22px;right:28px;background:none;border:none;color:#fff;font-size:44px;line-height:1;cursor:pointer;transition:color .18s}
#bap-real .br-lb-close:hover{color:var(--champ)}
#bap-real .br-lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:56px;line-height:1;cursor:pointer;padding:0 22px;transition:color .18s}
#bap-real .br-lb-nav:hover{color:var(--champ)}
#bap-real .br-prev{left:8px}#bap-real .br-next{right:8px}
@media(max-width:900px){
  #bap-real .br-sec{padding:64px 0}
  #bap-real .br-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:12px}
  #bap-real .br-lb-nav{font-size:40px;padding:0 10px}
}

/* ---------- contact.html ---------- */
#bap-con{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;--plum:#61476b;--grey:#dcdad3;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-con *{box-sizing:border-box}
#bap-con img{display:block;max-width:100%}
#bap-con h1,#bap-con h2{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-con em{font-style:italic;color:var(--rose)}
#bap-con .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-con .eyebrow{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-con .bc-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-con .bc-sec{padding:90px 0}
/* hero */
#bap-con .bc-hero{position:relative;min-height:50vh;display:flex;align-items:center;overflow:hidden}
#bap-con .bc-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-con .bc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-con .bc-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-con .bc-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-con .bc-hero-in h1{font-size:clamp(42px,4.6vw,66px);line-height:1.05;color:#fff;margin-top:4px}
#bap-con .bc-hero-in em{color:#f0d9d2}
#bap-con .bc-hero-in p{max-width:62ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
/* grid */
#bap-con .bc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
#bap-con .bc-rail h2{font-size:clamp(28px,3vw,40px);line-height:1.12;margin:12px 0 0}
#bap-con .bc-info{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:16px}
#bap-con .bc-info li{border-top:1px solid var(--line);padding-top:15px;font-size:16px;color:var(--ink)}
#bap-con .bc-info span{display:block;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--champ-2);margin-bottom:6px}
#bap-con .bc-info a{color:var(--rose);text-decoration:none;transition:color .18s}
#bap-con .bc-info a:hover,#bap-con .bc-info a:focus{color:var(--champ-2);outline:none}
#bap-con .bc-social-wrap{margin-top:28px}
#bap-con .bc-social{display:flex;gap:10px;margin-top:12px}
#bap-con .bc-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--grey);color:var(--plum);font:500 13px/1 var(--sans);text-transform:lowercase;text-decoration:none;transition:.18s}
#bap-con .bc-social a:hover,#bap-con .bc-social a:focus{background:var(--plum);color:#fff;outline:none}
#bap-con .bc-map{margin-top:28px;border:1px solid var(--line);min-height:260px;background:var(--shell)}
#bap-con .bc-map iframe{display:block;width:100%;height:260px;border:0;filter:saturate(.85)}
/* form slot */
#bap-con .bc-formslot{background:#fff;border:1px solid var(--line);padding:44px 40px}
#bap-con .bc-formslot:empty{min-height:460px}
@media(max-width:600px){#bap-con .bc-formslot{padding:30px 22px}}
@media(max-width:900px){
  #bap-con .bc-sec{padding:64px 0}
  #bap-con .bc-grid{grid-template-columns:1fr;gap:34px}
}

/* ---------- event-inquiry.html ---------- */
#bap-inq{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--blush:#ecd7d1;
  --champ:#c39a6b;--champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;
  --disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif;
  font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-inq *{box-sizing:border-box}
#bap-inq img{display:block;max-width:100%}
#bap-inq h1,#bap-inq h2{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink)}
#bap-inq em{font-style:italic;color:var(--rose)}
#bap-inq .script{font-family:var(--script);font-weight:400;color:var(--rose)}
#bap-inq .eyebrow{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-inq .bi-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-inq .bi-sec{padding:90px 0}
/* hero */
#bap-inq .bi-hero{position:relative;min-height:52vh;display:flex;align-items:center;overflow:hidden}
#bap-inq .bi-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-inq .bi-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-inq .bi-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-inq .bi-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-inq .bi-hero-in h1{font-size:clamp(42px,4.6vw,66px);line-height:1.05;color:#fff;margin-top:4px}
#bap-inq .bi-hero-in em{color:#f0d9d2}
#bap-inq .bi-hero-in p{max-width:60ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
/* intro / rail */
#bap-inq .bi-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
#bap-inq .bi-rail h2{font-size:clamp(30px,3.2vw,42px);line-height:1.12;margin:12px 0 0}
#bap-inq .bi-rail p{color:var(--ink-soft);margin:18px 0 0}
#bap-inq .bi-contact{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}
#bap-inq .bi-contact li{border-top:1px solid var(--line);padding-top:16px;font-size:16px;color:var(--ink)}
#bap-inq .bi-contact span{display:block;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--champ-2);margin-bottom:6px}
#bap-inq .bi-contact a{color:var(--rose);text-decoration:none;transition:color .18s}
#bap-inq .bi-contact a:hover,#bap-inq .bi-contact a:focus{color:var(--champ-2);outline:none}
#bap-inq .bi-note{margin-top:24px;font-size:13px;color:var(--ink-soft);font-style:italic}
/* form slot */
#bap-inq .bi-formslot{min-height:100%;background:#fff;border:1px solid var(--line);padding:44px 40px}
#bap-inq .bi-formslot:empty{min-height:420px}
@media(max-width:600px){#bap-inq .bi-formslot{padding:30px 22px}}
@media(max-width:900px){
  #bap-inq .bi-sec{padding:64px 0}
  #bap-inq .bi-intro{grid-template-columns:1fr;gap:34px}
}

/* ---------- news-hero.html ---------- */
#bap-news-hd{--ink:#4a403b;--rose:#b07d72;--disp:'Cormorant',Georgia,serif;--script:'Pinyon Script',cursive;--sans:'Jost',-apple-system,system-ui,sans-serif}
#bap-news-hd *{box-sizing:border-box}
#bap-news-hd img{display:block;max-width:100%}
#bap-news-hd .bn-hero{position:relative;min-height:48vh;display:flex;align-items:center;overflow:hidden;font-family:var(--sans)}
#bap-news-hd .bn-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-news-hd .bn-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-news-hd .bn-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-news-hd .bn-hero-in .script{font-family:var(--script);font-size:44px;color:#f0d9d2}
#bap-news-hd .bn-hero-in h1{font-family:var(--disp);font-weight:500;font-size:clamp(42px,4.6vw,66px);line-height:1.05;color:#fff;margin:4px 0 0}
#bap-news-hd .bn-hero-in h1 em{font-style:italic;color:#f0d9d2}
#bap-news-hd .bn-hero-in p{max-width:60ch;margin:22px 0 0;font-size:18px;color:rgba(255,255,255,.9);font-weight:300}

/* ---------- §09b Contact — social marks + map (1.5.3) ----------
   The social row shipped as bare lowercase letters on grey discs, which read as
   placeholders. Restyled as hairline champagne discs with the plum brand accent;
   Instagram is drawn in CSS (rounded square + lens) since "ig" as two letters was
   the one that looked unfinished. Markup is untouched — no re-paste needed. */
#bap-con .bc-social{display:flex;gap:12px;margin-top:14px}
#bap-con .bc-social a{width:42px;height:42px;border-radius:50%;background:transparent;
  border:1px solid var(--b-line);color:var(--b-plum);
  font-family:var(--b-disp);font-weight:500;font-size:19px;line-height:1;letter-spacing:0;
  text-transform:none;display:inline-flex;align-items:center;justify-content:center;
  transition:background .18s,color .18s,border-color .18s}
#bap-con .bc-social a:hover,#bap-con .bc-social a:focus{background:var(--b-plum);border-color:var(--b-plum);color:#fff;outline:none}
#bap-con .bc-social a[aria-label="X"]{font-family:var(--b-sans);font-weight:500;font-size:15px}
#bap-con .bc-social a[aria-label="Instagram"]{font-size:0;position:relative}
#bap-con .bc-social a[aria-label="Instagram"]::before{content:"";width:17px;height:17px;border:1.5px solid currentColor;border-radius:5px}
#bap-con .bc-social a[aria-label="Instagram"]::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%}
#bap-con .bc-social-wrap{margin-top:34px}

/* Map — the injected embed had no frame and sat tight under the social row. */
#bap-con .bc-map{margin-top:34px;border:1px solid var(--b-line);background:var(--b-shell);min-height:300px;overflow:hidden}
#bap-con .bc-map iframe{display:block;width:100%;height:300px;border:0;filter:saturate(.82) contrast(1.02)}

/* ---------- §08b News — section ground + image sizing (1.5.4) ----------
   Two fixes off the live page:
   1. A white band sat between the hero and the post grid — the Divi SECTION
      wrapper keeps its default white even when .bap-news is on the Blog module.
      Paint the section (and the hero's own section) ivory so the page reads as
      one ground. No Divi background setting needed.
   2. Featured images rendered at natural height and looked stretched: the
      aspect-ratio rule in §08 only matched two of Divi's image wrappers.
      Pin a fixed card-image height instead — uniform cards, no distortion. */
.et_pb_section:has(.bap-news),
.et_pb_section:has(#bap-news-hd){background-color:var(--b-ivory)!important}
.bap-news .et_pb_row{width:90%;max-width:1240px}
.bap-news .et_pb_post img{width:100%!important;height:260px!important;object-fit:cover!important;
  aspect-ratio:auto!important;display:block;margin:0}
@media(max-width:767px){.bap-news .et_pb_post img{height:220px!important}}

/* ---------- §09c Footer social marks (1.5.5) ----------
   Same placeholder problem as the Contact row, but on the dark ground: pale grey
   discs with plum letters read as unstyled blobs and the plum has no contrast on
   espresso. Restyled to hairline champagne discs with paper letterforms, filling
   champagne on hover. Instagram is drawn in CSS rather than the two-letter "ig".
   Markup untouched — no re-paste of the footer. */
#bap-ft .bap-social{display:flex;gap:12px;margin-top:6px}
#bap-ft .bap-social a{width:38px;height:38px;border-radius:50%;background:transparent;
  border:1px solid rgba(201,154,107,.5);color:var(--b-offwhite);
  font-family:var(--b-disp);font-weight:500;font-size:17px;line-height:1;letter-spacing:0;
  text-transform:none;display:inline-flex;align-items:center;justify-content:center;
  transition:background .18s,color .18s,border-color .18s}
#bap-ft .bap-social a:hover,#bap-ft .bap-social a:focus{background:var(--b-champ);border-color:var(--b-champ);color:var(--b-ink);outline:none}
#bap-ft .bap-social a[aria-label="X"]{font-family:var(--b-sans);font-weight:500;font-size:14px}
#bap-ft .bap-social a[aria-label="Instagram"]{font-size:0;position:relative}
#bap-ft .bap-social a[aria-label="Instagram"]::before{content:"";width:15px;height:15px;border:1.5px solid currentColor;border-radius:4.5px}
#bap-ft .bap-social a[aria-label="Instagram"]::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border:1.5px solid currentColor;border-radius:50%}

/* ---------- §06b Gravity Forms submit — broadened selectors (1.5.8) ----------
   §06 only matched input[type=submit] inside .gform_footer. Current Gravity Forms
   renders the submit as .gform_button (a <button> in 2.7+), so the rule never applied
   and the button fell back to the browser default. Match every shape GF ships. */
#gform_wrapper_1 .gform_button,#gform_wrapper_2 .gform_button,
#gform_wrapper_1 input[type=submit],#gform_wrapper_2 input[type=submit],
#gform_wrapper_1 button[type=submit],#gform_wrapper_2 button[type=submit],
#gform_wrapper_1 .gform_next_button,#gform_wrapper_2 .gform_next_button,
#gform_wrapper_1 .gform_previous_button,#gform_wrapper_2 .gform_previous_button{
  font:500 12px/1 var(--b-sans)!important;letter-spacing:.18em!important;text-transform:uppercase!important;
  background:var(--b-champ)!important;color:#fff!important;border:1px solid var(--b-champ)!important;
  border-radius:0!important;padding:16px 38px!important;margin:0!important;cursor:pointer;
  box-shadow:none!important;text-shadow:none!important;width:auto!important;
  transition:background .18s,border-color .18s,color .18s}
#gform_wrapper_1 .gform_button:hover,#gform_wrapper_2 .gform_button:hover,
#gform_wrapper_1 .gform_button:focus,#gform_wrapper_2 .gform_button:focus,
#gform_wrapper_1 input[type=submit]:hover,#gform_wrapper_2 input[type=submit]:hover,
#gform_wrapper_1 input[type=submit]:focus,#gform_wrapper_2 input[type=submit]:focus,
#gform_wrapper_1 button[type=submit]:hover,#gform_wrapper_2 button[type=submit]:hover,
#gform_wrapper_1 button[type=submit]:focus,#gform_wrapper_2 button[type=submit]:focus{
  background:var(--b-champ-2)!important;border-color:var(--b-champ-2)!important;color:#fff!important;outline:none}
/* the previous/back button reads as the quieter of the pair */
#gform_wrapper_1 .gform_previous_button,#gform_wrapper_2 .gform_previous_button{
  background:transparent!important;color:var(--b-champ-2)!important;border-color:var(--b-line)!important}
#gform_wrapper_1 .gform_footer,#gform_wrapper_2 .gform_footer,
#gform_wrapper_1 .gform_page_footer,#gform_wrapper_2 .gform_page_footer{
  display:flex;gap:14px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--b-line)}

/* ---------- §09d Directions page (1.7.0) ---------- */
#bap-dir{--ink:#4a403b;--ink-soft:#6f6259;--ivory:#fcf8f3;--shell:#f3e6df;--champ:#c39a6b;
  --champ-2:#b1885a;--rose:#b07d72;--line:#e8d9d1;--plum:#61476b;
  font-family:var(--b-sans);font-weight:300;color:var(--ink);line-height:1.72;background:var(--ivory)}
#bap-dir *{box-sizing:border-box}
#bap-dir img{display:block;max-width:100%}
#bap-dir h1,#bap-dir h2{margin:0;font-family:var(--b-disp);font-weight:500;color:var(--ink)}
#bap-dir em{font-style:italic;color:var(--rose)}
#bap-dir .script{font-family:var(--b-script);font-weight:400;color:var(--rose)}
#bap-dir .eyebrow{font:500 12px/1 var(--b-sans);letter-spacing:.34em;text-transform:uppercase;color:var(--champ-2)}
#bap-dir .bd-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
#bap-dir .bd-sec{padding:90px 0}
#bap-dir .bd-hero{position:relative;min-height:44vh;display:flex;align-items:center;overflow:hidden}
#bap-dir .bd-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#bap-dir .bd-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,55,50,.72),rgba(74,55,50,.32));z-index:1}
#bap-dir .bd-hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:0 40px;color:#fff}
#bap-dir .bd-hero-in .script{font-size:44px;color:#f0d9d2}
#bap-dir .bd-hero-in h1{font-size:clamp(40px,4.4vw,62px);line-height:1.05;color:#fff;margin-top:4px}
#bap-dir .bd-hero-in em{color:#f0d9d2}
#bap-dir .bd-hero-in p{max-width:60ch;margin:20px 0 0;font-size:18px;color:rgba(255,255,255,.9)}
#bap-dir .bd-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
#bap-dir .bd-rail h2{font-size:clamp(26px,2.6vw,34px);line-height:1.15;margin:12px 0 0}
#bap-dir .bd-town{color:var(--ink-soft);margin:6px 0 0;font-size:17px}
#bap-dir .bd-info{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:16px}
#bap-dir .bd-info li{border-top:1px solid var(--line);padding-top:15px;font-size:16px}
#bap-dir .bd-info span{display:block;font:500 11px/1 var(--b-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--champ-2);margin-bottom:6px}
#bap-dir .bd-info a{color:var(--rose);text-decoration:none;transition:color .18s}
#bap-dir .bd-info a:hover,#bap-dir .bd-info a:focus{color:var(--champ-2);outline:none}
#bap-dir .bd-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
#bap-dir .bd-btn{display:inline-flex;align-items:center;justify-content:center;
  font:500 11px/1 var(--b-sans);letter-spacing:.18em;text-transform:uppercase;
  background:var(--champ);color:#fff;border:1px solid var(--champ);padding:15px 26px;
  text-decoration:none;transition:.18s}
#bap-dir .bd-btn:hover,#bap-dir .bd-btn:focus{background:var(--champ-2);border-color:var(--champ-2);color:#fff;outline:none}
#bap-dir .bd-btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
#bap-dir .bd-btn.ghost:hover,#bap-dir .bd-btn.ghost:focus{border-color:var(--champ);color:var(--champ-2);background:transparent}
#bap-dir .bd-social-wrap{margin-top:34px}
#bap-dir .bd-social{display:flex;gap:12px;margin-top:14px}
#bap-dir .bd-social a{width:42px;height:42px;border-radius:50%;background:transparent;
  border:1px solid var(--line);color:var(--plum);font-family:var(--b-disp);font-weight:500;
  font-size:19px;line-height:1;text-transform:none;display:inline-flex;align-items:center;
  justify-content:center;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
#bap-dir .bd-social a:hover,#bap-dir .bd-social a:focus{background:var(--plum);border-color:var(--plum);color:#fff;outline:none}
#bap-dir .bd-social a[aria-label="X"]{font-family:var(--b-sans);font-size:15px}
#bap-dir .bd-social a[aria-label="Instagram"]{font-size:0;position:relative}
#bap-dir .bd-social a[aria-label="Instagram"]::before{content:"";width:17px;height:17px;border:1.5px solid currentColor;border-radius:5px}
#bap-dir .bd-social a[aria-label="Instagram"]::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%}
#bap-dir .bd-map{margin-top:0;border:1px solid var(--line);background:var(--shell);min-height:520px;overflow:hidden}
#bap-dir .bd-map iframe,#bap-dir .bd-map .et_pb_map,#bap-dir .bd-map>div{width:100%!important;min-height:520px}
@media(max-width:900px){#bap-dir .bd-sec{padding:64px 0}#bap-dir .bd-grid{grid-template-columns:1fr;gap:34px}#bap-dir .bd-map,#bap-dir .bd-map iframe{min-height:380px}}
/* kill the Divi wrapper's white band above a full-bleed module */
.et_pb_section:has(#bap-dir),.et_pb_section:has(#bap-con),.et_pb_section:has(#bap-inq){background-color:var(--b-ivory)!important}

/* ---------- §10 Load-in (1.7.1) ----------
   Belt-and-braces for the inline critical block in functions.php: the page ground
   and the Divi wrappers around this theme's modules, so nothing reflows once the
   full stylesheet lands. */
html,body{background:#fcf8f3}
.et_pb_row:has([id^="bap-"]),.et_pb_column:has([id^="bap-"]),.et_pb_module:has([id^="bap-"]){
  width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:0!important}
[id^="bap-"]{width:100%}

/* ---------- §09e Event Inquiry rail (1.8.4) ----------
   The form column runs far taller than the rail, leaving a tall empty well beside
   it. Stick the rail so the phone number and address stay in view while the form
   is being filled. */
@media(min-width:901px){
  #bap-inq .bi-rail{position:sticky;top:32px}
}

/* ---------- §11b Header bar at phone widths (1.9.1) ----------
   The burger rendered on tablet but vanished on phones: .bap-brand's wordmark is
   white-space:nowrap and the Event Inquiry button sits beside it, so the row
   overflowed a 375–430px viewport and pushed the burger past the right edge.
   Let the bar shrink properly and drop the CTAs on small screens — both live in
   the drawer, so nothing is lost. */
#bap-hd .bap-bar{display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
#bap-hd .bap-brand{min-width:0;flex:0 1 auto}
#bap-hd .bap-burger{margin-left:auto}
@media(max-width:820px){
  #bap-hd .bap-brand b{font-size:16px}
  #bap-hd .bap-brand s{font-size:8.5px;letter-spacing:.24em}
  #bap-hd .bap-brand img{max-height:38px;width:auto}
  #bap-hd .bap-btn{padding:10px 14px;font-size:10px;letter-spacing:.14em}
}
@media(max-width:600px){
  /* both CTAs are in the drawer — the bar keeps brand + burger only */
  #bap-hd .bap-cta{display:none}
  #bap-hd .bap-brand b{font-size:15px;white-space:normal;line-height:1.15}
  #bap-hd .bap-brand s{white-space:normal}
}
@media(max-width:380px){
  #bap-hd .bap-brand s{display:none}
}

/* ---------- §12 Gallery masonry + hero framing (1.10.2) ----------
   Both photo grids mix .tall (row-span 2) and .wide (column-span 2) cells. Without
   grid-auto-flow:dense the browser never backfills the holes those spans leave, so
   the Real Weddings grid and the home strip both rendered with large empty wells —
   set above on .br-grid and .bh-gal.
   Heroes crop a tall frame to a shallow band; without object-position the crop lands
   dead centre, which put faces directly behind the headline. */
#bap-real .br-hero .bg{object-position:center 46%}
#bap-home .bh-hero-img img{object-position:center 38%}
@media(max-width:900px){#bap-home .bh-gal .wide,#bap-real .br-cell.wide{grid-column:span 2}}
