:root { --green: #2F493D; --deep: #223B30; --cream: #F7F8F2; --sand: #EFEDE3; --ink: #293B32; --gold: #B79B68; --line: #C9D4C3; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0px; background: var(--cream); color: var(--ink); font-family: "DM Sans", sans-serif; font-size: 16px; line-height: 1.65; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0px; }
img { display: block; width: 100%; object-fit: cover; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; }
h1, h2, h3, p { margin: 0px; }
h1, h2, h3, .serif-line { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; }
h1 { font-size: clamp(76px, 8.6vw, 132px); line-height: 0.91; letter-spacing: -0.045em; }
h2 { font-size: clamp(40px, 4vw, 62px); line-height: 1.05; letter-spacing: -0.035em; color: var(--green); }
h3 { font-size: 27px; line-height: 1.2; }
em { font-weight: 400; }
p { margin-bottom: 1.3rem; }
h2 + p { margin-top: 1.7rem; }
.eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; line-height: 1.6; color: var(--green); margin-bottom: 24px; }
.light { color: rgb(236, 231, 218); }
.section { padding: 100px max(6.5vw, 24px); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 35px; padding: 17px 25px; background: #63766E; color: white; border: 1px solid transparent; border-radius: 2px; font-size: 14px; font-weight: 500; line-height: 1.5; transition: background 0.2s, transform 0.2s; }
.button:hover { background: #596C64; transform: translateY(-2px); }
.button.ivory { background: var(--cream); color: var(--green); }
.button.ivory:hover { background: white; }
.text-button { background: none; color: white; padding: 16px 0px; font-size: 14px; border-bottom: 1px solid rgba(255, 255, 255, 0.46); }
.text-button span { margin-left: 20px; }
.link { background: none; padding: 0px 0px 7px; display: inline-flex; align-items: center; gap: 24px; color: var(--green); border-bottom: 1px solid var(--green); font-size: 14px; font-weight: 500; }
.link:hover { color: rgb(125, 99, 53); }
.skip { position: absolute; top: -100px; z-index: 100; background: white; padding: 12px; }
.skip:focus { top: 0px; }
header { height: 98px; background: var(--cream); display: flex; align-items: center; justify-content: space-between; padding: 0px 4vw; position: sticky; top: 0px; z-index: 20; border-bottom: 1px solid rgb(221, 215, 200); transition: height 0.2s; }
header.scrolled { height: 78px; }
.brand { text-align: center; flex-shrink: 0; }
.brand-name { font-family: "Cormorant Garamond", serif; font-size: 32px; letter-spacing: -0.045em; line-height: 1.2; display: block; color: var(--green); }
.brand-sub { display: block; font-size: 9px; letter-spacing: 0.2em; margin-top: 5px; }
.brand-name::before { content: "✧"; display: inline-block; font-size: 20px; margin-right: 7px; color: var(--gold); }
nav { display: flex; gap: 26px; }
nav a { font-size: 13px; }
nav a:hover { color: rgb(146, 118, 68); }
.nav-tour { padding: 12px 20px; gap: 20px; }
.menu-toggle { display: none; background: none; font-size: 25px; }
#mobile-menu { position: fixed; inset: 78px 0px auto; background: var(--cream); padding: 25px; z-index: 30; box-shadow: rgba(0, 0, 0, 0.133) 0px 15px 20px; }
#mobile-menu:not([hidden]) { display: grid; gap: 14px; }
.hero { height: min(760px, -98px + 100svh); min-height: 590px; position: relative; color: white; }
.hero-img, .hero-shade { position: absolute; inset: 0px; height: 100%; }
.hero-img { object-position: center 48%; }
.hero-shade { background: linear-gradient(90deg, rgba(0, 0, 0, 0.63), rgba(0, 0, 0, 0.08) 80%), linear-gradient(0deg, rgba(0, 0, 0, 0.5), transparent 40%); }
.hero-copy { position: relative; padding: 85px 6.5vw; max-width: 850px; }
.hero-copy h1 { margin-bottom: 25px; color: rgb(255, 255, 255) !important; }
.hero-copy h1 em { color: rgb(238, 226, 201); }
.hero-description { font-size: 17px; line-height: 1.6; color: rgb(250, 247, 239); }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 30px; }
.hero-foot { position: absolute; bottom: 26px; left: 6.5vw; right: 6.5vw; display: flex; gap: 22px; align-items: center; font-size: 12px; }
.hero-foot > span:first-child { letter-spacing: 0.15em; }
.hero-foot a { margin-left: auto; font-size: 10px; letter-spacing: 0.15em; }
.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); padding: 30px 7vw; border-bottom: 1px solid var(--line); }
.proof-strip div { text-align: center; border-right: 1px solid var(--line); }
.proof-strip div:last-child { border: 0px; }
.proof-strip strong { display: block; font-family: "Cormorant Garamond", serif; font-size: 27px; font-weight: 500; color: var(--green); }
.proof-strip span { font-size: 12px; color: rgb(110, 108, 96); }
.image-frame { position: relative; padding-bottom: 25px; }
.image-frame img { height: 600px; border-radius: 48% 48% 2px 2px; }
.photo-note { display: block; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 21px; text-align: right; margin-top: 14px; color: rgb(113, 110, 95); }
.intro-copy p:not(.eyebrow) { max-width: 450px; }
.intro-copy h2 { margin-bottom: 30px; }
.serif-line { font-size: 30px; color: var(--green); }
.features { background: rgb(239, 235, 223); text-align: center; padding-top: 74px; padding-bottom: 75px; }
.feature-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; margin-top: 50px; }
.feature-icon { display: inline-flex; width: 42px; height: 42px; border: 1px solid rgb(165, 171, 149); border-radius: 50%; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 13px; color: rgb(98, 112, 82); }
.feature-grid h3 { font-size: 23px; color: var(--green); margin-bottom: 12px; }
.feature-grid p { font-size: 13px; color: rgb(102, 105, 89); margin: 0px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 40px; }
.section-heading p:last-child { font-size: 14px; color: rgb(108, 107, 96); margin: 0px 0px 5px; }
.section-heading .eyebrow { margin-bottom: 15px; }
.gallery-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: 265px 265px; gap: 17px; }
.gallery-tile { padding: 0px; position: relative; overflow: hidden; background: var(--sand); }
.gallery-tile img { height: 100%; transition: transform 0.6s; }
.gallery-tile:hover img { transform: scale(1.04); }
.gallery-tile.tall { grid-row: span 2; }
.gallery-tile.wide { grid-column: span 2; }
.gallery-tile::after { content: ""; position: absolute; inset: 55% 0px 0px; background: linear-gradient(transparent, rgba(0, 0, 0, 0.533)); }
.gallery-tile span { position: absolute; bottom: 20px; left: 22px; right: 22px; color: white; text-align: left; z-index: 1; font-size: 14px; }
.gallery-tile i { float: right; font-style: normal; }
.gallery-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; gap: 30px; }
.gallery-bottom p { font-size: 14px; margin: 0px; }
.pricing { display: grid; grid-template-columns: 1.1fr 1fr; background: #63766E; color: var(--cream); }
.pricing-copy { padding: 80px 6vw; }
.pricing h2 { color: var(--cream); font-size: 54px; }
.pricing > img { height: 100%; min-height: 680px; }
.price-label { margin-top: 35px; margin-bottom: 0px; font-size: 14px; }
.price { font-family: "Cormorant Garamond", serif; font-size: 100px; line-height: 1.15; letter-spacing: -0.04em; }
.price span { font-size: 35px; vertical-align: top; }
.pricing-copy > p:not(.eyebrow):not(.fine-print) { max-width: 440px; }
.pricing-benefits { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; margin: 28px 0px; }
.pricing-benefits span::before { content: "✓"; margin-right: 8px; color: rgb(212, 191, 142); }
.fine-print { font-size: 12px; line-height: 1.6; max-width: 420px; color: rgb(208, 212, 200); margin: 22px 0px 0px; }
.reviews { text-align: center; max-width: 1100px; margin: auto; }
.quote-mark { font-family: Georgia, serif; color: var(--gold); font-size: 78px; height: 65px; margin-top: 25px; }
blockquote { font-family: "Cormorant Garamond", serif; font-size: 35px; line-height: 1.25; max-width: 800px; margin: 15px auto 25px; color: var(--green); }
.quote-name { font-size: 12px; letter-spacing: 0.18em; }
.reviews .link { font-size: 12px; }
.experience { border-top: 1px solid var(--line); padding-top: 75px; }
.experience-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.experience-grid img { height: 270px; margin-bottom: 22px; }
.experience-grid span { font-size: 10px; letter-spacing: 0.1em; color: rgb(107, 109, 93); }
.experience-grid h3 { margin-top: 10px; font-size: 25px; color: var(--green); }
.story { position: relative; text-align: center; min-height: 600px; display: grid; place-items: center; color: white; padding: 85px 24px; }
.story > img { position: absolute; inset: 0px; height: 100%; filter: brightness(0.4); object-position: center 55%; }
.story > div { position: relative; }
.story h2 { color: white; font-size: 64px; line-height: 1.07; }
.story p:not(.eyebrow) { margin: 28px 0px; color: rgb(238, 233, 225); font-size: 15px; }
.faq { align-items: start; }
.faq > div > p:not(.eyebrow) { max-width: 340px; }
.accordion details { border-bottom: 1px solid var(--line); padding: 20px 0px; }
.accordion details:first-child { padding-top: 0px; }
.accordion summary { cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: "+"; font-size: 24px; color: var(--green); }
.accordion details[open] summary::after { content: "−"; }
.accordion p { font-size: 14px; margin: 18px 25px 0px 0px; color: rgb(102, 103, 92); }
.inline-link { padding: 0px; text-decoration: underline; background: none; display: inline; color: var(--green); }
.location { background: #F5F4EE; display: grid; grid-template-columns: 1.1fr 1fr; gap: 7vw; align-items: center; }
.location-map { background: rgb(245, 242, 233); border: 1px solid rgb(222, 217, 201); }
.location-map svg { width: 100%; display: block; }
.road { fill: none; stroke: rgb(199, 200, 181); stroke-width: 5; }
.road-other { fill: none; stroke: rgb(222, 219, 207); stroke-width: 2; }
.town circle { fill: rgb(126, 130, 105); }
.town text { fill: rgb(101, 107, 88); font-size: 17px; font-family: "DM Sans", sans-serif; }
.ranch-halo { fill: rgba(54, 67, 43, 0.094); stroke: rgba(54, 67, 43, 0.333); }
.ranch-dot { fill: var(--green); }
.ranch-route { fill: none; stroke: var(--gold); stroke-width: 2; stroke-dasharray: 4; }
.ranch-label { font-family: "DM Sans", sans-serif; fill: var(--green); font-size: 13px; font-weight: bold; letter-spacing: 1px; }
.map-label { fill: rgb(118, 123, 103); font-size: 10px; letter-spacing: 1px; }
.location p:not(.eyebrow) { font-size: 15px; max-width: 450px; }
.location address { font-style: normal; font-size: 14px; margin-bottom: 25px; }
.steps { text-align: center; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); text-align: left; gap: 60px; margin-top: 55px; }
.steps-grid article { border-top: 1px solid var(--line); padding-top: 22px; }
.steps-grid article > span { color: rgb(154, 131, 86); font-size: 14px; }
.steps h3 { font-size: 38px; margin: 14px 0px; color: var(--green); }
.steps-grid p { font-size: 14px; max-width: 300px; min-height: 73px; }
.final-cta { padding: 85px 24px 90px; text-align: center; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-clip: ; background-color: ; background-image: radial-gradient(at center top, rgb(251, 246, 232), transparent 70%); border-top: 1px solid rgb(215, 200, 172); }
.final-cta h2 { font-size: clamp(70px, 7.5vw, 110px); }
.final-cta p:not(.eyebrow) { margin: 25px 0px 30px; font-size: 15px; }
.final-note { display: block; font-size: 12px; color: rgb(108, 107, 95); margin-top: 20px; }
footer { background: #596C64; color: var(--cream); padding: 55px 6.5vw 25px; }
.footer-top { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-bottom: 40px; }
.footer-top .brand-name { color: var(--cream); }
.footer-top p { font-size: 14px; margin: 0px; color: rgb(197, 203, 189); }
.footer-top > a:last-child { font-family: "Cormorant Garamond", serif; font-size: 28px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 18px; padding-top: 25px; border-top: 1px solid rgba(255, 255, 255, 0.15); font-size: 12px; color: rgb(211, 214, 205); }
.mobile-cta { display: none; }
dialog { border: 0px; background: var(--cream); padding: 0px; max-height: 90svh; width: min(720px, 94vw); color: var(--ink); }
dialog::backdrop { background: rgba(0, 0, 0, 0.792); backdrop-filter: blur(5px); }
.dialog-close { position: sticky; top: 12px; float: right; margin: 12px 15px 0px 0px; width: 42px; height: 42px; border-radius: 50%; background: #63766E; color: white; font-size: 27px; z-index: 2; }
.dialog-head { padding: 48px 40px 25px; }
.dialog-head h2 { font-size: 43px; }
.dialog-head .eyebrow { margin-bottom: 13px; }
.dialog-head p:not(.eyebrow) { font-size: 14px; margin: 16px 0px; }
.dialog-head a { font-size: 12px; text-decoration: underline; }
#inquiry-frame { width: 100%; height: 1354px; border: 0px; background: white; }
#gallery-dialog { width: min(1100px, 94vw); background: #596C64; color: white; }
#gallery-dialog .dialog-close { position: absolute; right: 0px; top: 0px; }
#gallery-image { height: 75svh; object-fit: contain; }
.lightbox-controls { display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; }
.lightbox-controls button { background: none; color: white; font-size: 28px; }
.lightbox-controls p { margin: 0px; font-size: 14px; }
@media (min-width: 1600px) {
  .section { padding-left: max(8vw, -675px + 50vw); padding-right: max(8vw, -675px + 50vw); }
}
@media (max-width: 1100px) {
  nav { gap: 15px; }
  nav a { font-size: 12px; }
  .brand-name { font-size: 27px; }
  .nav-tour { gap: 12px; padding: 11px 14px; }
  .hero-copy { padding-top: 80px; }
  .intro { gap: 5vw; }
  .image-frame img { height: 530px; }
  .pricing h2 { font-size: 44px; }
  .feature-grid { gap: 14px; }
  .feature-grid h3 { font-size: 21px; }
  .experience-grid { gap: 12px; }
  .experience-grid img { height: 230px; }
  .experience-grid h3 { font-size: 22px; }
  .hero-foot a { display: none; }
}
@media (max-width: 800px) {
  header, header.scrolled { height: 78px; padding: 0px 22px; }
  header nav, .nav-tour { display: none; }
  .menu-toggle { display: block; }
  .brand-name { font-size: 29px; }
  .brand-sub { font-size: 8px; }
  .hero { height: 640px; min-height: 0px; }
  .hero-copy { padding: 90px 25px 50px; }
  .hero h1 { font-size: 85px; }
  .hero-img { object-position: 60% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(0, 0, 0, 0.67), rgba(0, 0, 0, 0.145)), linear-gradient(0deg, rgba(0, 0, 0, 0.4), transparent); }
  .hero-description { font-size: 16px; }
  .hero-actions { align-items: start; gap: 20px; flex-direction: column; margin-top: 25px; }
  .hero-actions .text-button { padding: 5px 0px; }
  .hero-foot { left: 25px; right: 25px; bottom: 22px; display: block; font-size: 11px; }
  .hero-foot > span { display: block; }
  .hero-foot > span:first-child { margin-bottom: 5px; }
  .eyebrow { font-size: 11px; letter-spacing: 0.15em; }
  .proof-strip { grid-template-columns: 1fr 1fr; padding: 12px 20px; }
  .proof-strip > div { padding: 13px 0px; }
  .proof-strip > div:nth-child(2) { border-right: 0px; }
  .proof-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .proof-strip strong { font-size: 25px; }
  .proof-strip span { font-size: 11px; }
  .section { padding: 65px 24px; }
  .split { grid-template-columns: 1fr; gap: 35px; }
  .image-frame { max-width: 500px; width: 100%; margin: auto; }
  .image-frame img { height: 480px; }
  .intro-copy h2 { font-size: 45px; }
  .intro-copy p:not(.eyebrow) { max-width: 100%; }
  .feature-grid { grid-template-columns: repeat(3, 1fr); row-gap: 35px; }
  .feature-grid p { font-size: 12px; }
  .section-heading { display: block; margin-bottom: 28px; }
  .section-heading > p, .section-heading > .link { margin-top: 22px !important; }
  .gallery-grid { display: flex; overflow: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 12px; }
  .gallery-tile { flex: 0 0 83%; height: 440px; scroll-snap-align: center; }
  .gallery-bottom { display: block; }
  .gallery-bottom .link { margin-top: 20px; }
  .pricing { grid-template-columns: 1fr; }
  .pricing-copy { padding: 60px 25px; }
  .pricing h2 { font-size: 45px; }
  .pricing > img { height: 380px; min-height: 0px; }
  .reviews h2 { font-size: 45px; }
  blockquote { font-size: 30px; }
  .experience-grid { display: flex; overflow: auto; gap: 17px; scroll-snap-type: x mandatory; padding-bottom: 15px; }
  .experience-grid article { flex: 0 0 65%; scroll-snap-align: start; }
  .experience-grid img { height: 320px; }
  .experience-grid h3 { font-size: 26px; }
  .story { min-height: 540px; padding: 60px 24px; }
  .story h2 { font-size: 46px; }
  .story p br { display: none; }
  .story p:not(.eyebrow) { font-size: 14px; max-width: 370px; margin: 25px auto; }
  .faq { gap: 35px; }
  .faq > div > p:not(.eyebrow) { max-width: 100%; }
  .location { grid-template-columns: 1fr; gap: 35px; }
  .location-map { order: 2; }
  .steps-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 35px; }
  .steps-grid p { max-width: none; min-height: 0px; }
  .steps h2 { font-size: 45px; }
  .final-cta { padding: 65px 24px; }
  .final-cta h2 { font-size: 80px; }
  .final-cta p br { display: none; }
  footer { padding: 50px 24px 100px; }
  .footer-top { align-items: start; flex-direction: column; gap: 25px; }
  .footer-bottom { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 18px 23px; }
  .footer-bottom > span { flex: 0 0 100%; }
  .mobile-cta { display: flex; position: fixed; bottom: 0px; left: 0px; right: 0px; background: var(--cream); z-index: 19; border-top: 1px solid var(--line); padding: 10px 15px max(10px,env(safe-area-inset-bottom)); gap: 10px; transform: translateY(100%); transition: transform 0.2s; }
  .mobile-cta.visible { transform: translateY(0px); }
  .mobile-cta > * { width: 50%; text-align: center; font-size: 14px; padding: 12px 8px; }
  .mobile-cta button { background: #63766E; color: white; }
  .mobile-cta a { border: 1px solid var(--green); color: var(--green); }
  .dialog-head { padding: 50px 25px 25px; }
  .dialog-head h2 { font-size: 36px; }
  #gallery-image { height: 65svh; }
  .lightbox-controls p { font-size: 12px; }
}
@media (max-width: 390px) {
  .hero h1 { font-size: 76px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-copy { padding-top: 70px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .hero-actions .button { font-size: 13px; gap: 18px; }
  .image-frame img { height: 390px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
}
.site-navigation { align-items: center; gap: 20px; }
.site-navigation > a, .nav-group-heading > a, .submenu-toggle { font-size: 13px; white-space: nowrap; }
.nav-group { position: relative; }
.nav-group-heading { display: flex; align-items: center; }
.submenu-toggle { background: transparent; padding: 12px 4px; display: flex; align-items: center; gap: 7px; }
.submenu-toggle:hover { color: rgb(146, 118, 68); }
.nav-submenu { position: absolute; top: 100%; left: 0px; min-width: 235px; background: var(--cream); border: 1px solid var(--line); box-shadow: rgba(0, 0, 0, 0.133) 0px 12px 25px; padding: 10px; z-index: 40; }
.nav-submenu:not([hidden]) { display: grid; gap: 3px; }
.nav-submenu a { display: block; padding: 10px 12px; font-size: 13px; }
.nav-submenu a:hover { background: var(--sand); color: var(--green); }
.mobile-navigation { display: grid; gap: 10px; }
.mobile-navigation > a:not(.button) { padding: 8px 0px; }
.mobile-navigation a, .mobile-navigation .submenu-toggle { font-size: 16px; }
.mobile-navigation .nav-submenu { position: static; box-shadow: none; border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 2px solid var(--gold); margin: 0px 0px 8px 6px; min-width: 0px; padding: 0px 8px; }
.mobile-navigation .nav-group-heading { justify-content: space-between; }
.mobile-navigation .nav-group-heading > button:only-child { width: 100%; justify-content: space-between; }
.mobile-navigation .nav-group-heading > a { flex: 1 1 0%; }
.mobile-navigation .submenu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
#mobile-menu { max-height: calc(100dvh - 124px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 1100px) {
  header, header.scrolled { height: 78px; }
  header .site-navigation, header .nav-tour { display: none; }
  .menu-toggle { display: block; }
}
@media (min-width: 1101px) {
  #mobile-menu { display: none !important; }
}
@media (min-width: 783px) and (max-width: 1100px) {
  body.er-wedding-page.admin-bar #mobile-menu { top: 110px; }
}
#page-container #et-boc header.et-l--header .et_builder_inner_content .et_pb_section.et_pb_section_0_tb_header { background: #F7F8F2 !important; padding: 20px 0px !important; }
#page-container #et-boc header.et-l--header .et_pb_row { width: 90% !important; max-width: 1350px !important; }
#page-container #et-boc header.et-l--header .et_pb_menu { background: transparent !important; }
#page-container #et-boc header.et-l--header .et_pb_button { font-family: Raleway, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 1.6px; background: #63766E !important; color: white !important; border-color: #2F493D !important; line-height: 1.1 !important; padding: 16px 26px !important; }
.erse-brand { display: inline-flex; flex-direction: column; align-items: center; color: #2F493D; }
.erse-brand-name { font-family: "Cormorant Garamond", Georgia, serif; font-size: 32px; font-weight: 400; line-height: 1.1; white-space: nowrap; }
.erse-brand-name::before { content: "✧ "; font-size: 21px; color: #B79B68; }
.erse-brand-sub { font-family: "DM Sans", sans-serif; font-size: 9px; letter-spacing: 2px; line-height: 1.3; margin-top: 9px; }
#main-content .et_pb_text_inner > h1 { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: clamp(36px, 4vw, 58px) !important; font-weight: 500 !important; color: #2F493D !important; line-height: 1.15 !important; text-transform: none !important; text-shadow: none !important; }
@media (max-width: 980px) {
  #page-container #et-boc header.et-l--header .et_pb_button_module_wrapper { display: none !important; }
  #page-container #et-boc header.et-l--header .et_pb_menu, #page-container #et-boc header.et-l--header .et_pb_menu_inner_container { width: 100% !important; min-width: 0px !important; }
  #page-container #et-boc header.et-l--header .et_pb_menu__wrap { min-width: 0px !important; }
  .erse-brand-name { font-size: 26px; }
  #page-container #et-boc header.et-l--header .et_builder_inner_content .et_pb_section.et_pb_section_0_tb_header { padding: 12px 0px !important; }
}
.erse-page, .erse-context { font-family: "DM Sans", sans-serif; color: #2F493D; line-height: 1.7; }
.erse-page { background: #F7F8F2; padding: 72px max(6vw, 24px); }
.erse-intro, .erse-planning { max-width: 1000px; margin: 0px auto 48px; }
.erse-page h1, .erse-page h2 { font-family: "Cormorant Garamond", Georgia, serif; color: #2F493D; text-transform: none; line-height: 1.1; }
.erse-page h1 { font-size: clamp(38px, 5vw, 70px); margin: 16px 0px 28px; }
.erse-page h2 { font-size: 32px; margin-bottom: 20px; }
.erse-eyebrow { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.erse-lead { font-size: 19px; max-width: 800px; }
.erse-button { display: inline-block; background: #63766E; padding: 16px 24px; margin-top: 16px; color: rgb(255, 255, 255) !important; }
.erse-photo { max-width: 1000px; margin: 0px auto 48px; }
.erse-photo img { width: 100%; max-height: 520px; object-fit: cover; }
.erse-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1200px; margin: 0px auto 64px; }
.erse-grid article { border-top: 1px solid #C9D4C3; padding-top: 28px; }
.erse-context { max-width: 900px; margin: 24px auto 16px; padding: 0px 16px; text-align: left; font-size: 17px; text-transform: none; font-weight: 400; letter-spacing: normal; }
.erse-context h2 { font-size: 24px; text-transform: none; color: #2F493D; margin: 24px 0px 14px; line-height: 1.3; }
.erse-context a, .erse-planning a { color: #2F493D; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 800px) {
  .erse-grid { grid-template-columns: 1fr; }
  .erse-page { padding-top: 40px; }
  .erse-context { font-size: 16px; }
}
#page-container #et-boc header.et-l--header .et-menu a, #page-container #et-boc header.et-l--header .et_mobile_menu a { color: #2F493D !important; opacity: 1 !important; }
#page-container #et-boc header.et-l--header .sub-menu, #page-container #et-boc header.et-l--header .et_mobile_menu { background: #F7F8F2 !important; }.erh-visit, .erp .erh-final, .features.section, .location.section, .erm-visit, .erd-video-section, .erd-vision, .erf-questions { color: #2F493D; background: none #8B9C8C !important; }
:is(.erh-visit, .erp .erh-final, .features.section, .location.section, .erm-visit, .erd-video-section, .erd-vision, .erf-questions) :is(p, li, figcaption, .eyebrow, .section-label, .erh-eyebrow, .erm-eyebrow, .erd-eyebrow, .erf-eyebrow) { color: #2F493D; }
:is(.erh-visit, .erp .erh-final, .features.section, .location.section, .erm-visit, .erd-video-section, .erd-vision, .erf-questions) :is(h2, h3) { color: #2F493D; }#header .site-navigation > a, #header .nav-group-heading > a, #header .submenu-toggle, #header .nav-submenu a, #mobile-menu .mobile-navigation > a:not(.button), #mobile-menu .nav-group-heading > a, #mobile-menu .submenu-toggle, #mobile-menu .nav-submenu a { font-family: Raleway, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: normal !important; color: #2F493D !important; opacity: 1 !important; }
#header .site-navigation { gap: 22px; }
#header .nav-submenu, #mobile-menu .nav-submenu { background: #F7F8F2 !important; border-color: #C9D4C3 !important; }
#header .nav-submenu a { line-height: 28px !important; }
#header .site-navigation > a:hover, #header .nav-group-heading > a:hover, #header .submenu-toggle:hover, #header .nav-submenu a:hover, #header .site-navigation > a:focus-visible, #header .submenu-toggle:focus-visible, #mobile-menu .submenu-toggle:hover { color: #223B30 !important; background: #F5F4EE !important; }
#header .nav-tour, #mobile-menu .button { text-transform: uppercase; font-family: Raleway, sans-serif !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: 1.6px !important; line-height: 1.1 !important; color: rgb(255, 255, 255) !important; }
@media (max-width: 1100px) and (min-width: 981px) {
  #header .site-navigation { gap: 14px; }
}
#page-container #et-boc header.et-l--header .et_pb_menu .et-menu li > a, #page-container #et-boc header.et-l--header .et_pb_menu .et_mobile_menu li > a, #page-container #et-boc header.et-l--header .et_pb_menu .et-menu li > a, #page-container #et-boc header.et-l--header .et_pb_menu .et_mobile_menu li > a { color: #2F493D !important; opacity: 1 !important; background-color: transparent !important; }
#page-container #et-boc header.et-l--header .et_pb_menu .et-menu li.current-menu-item > a, #page-container #et-boc header.et-l--header .et_pb_menu .et-menu li.current-menu-ancestor > a { color: #2F493D !important; opacity: 1 !important; }
#page-container #et-boc header.et-l--header .et_pb_menu .et-menu ul.sub-menu, #page-container #et-boc header.et-l--header .et_pb_menu .et_mobile_menu, #page-container #et-boc header.et-l--header .et_pb_menu .et_mobile_menu ul.sub-menu { background: none #F7F8F2 !important; border-color: #C9D4C3 !important; }
#page-container #et-boc header.et-l--header .et_pb_menu .et-menu li > a:hover, #page-container #et-boc header.et-l--header .et_pb_menu .et-menu li > a:focus-visible, #page-container #et-boc header.et-l--header .et_pb_menu .et_mobile_menu li > a:hover { color: #223B30 !important; opacity: 1 !important; background: #F5F4EE !important; }
#page-container #et-boc header.et-l--header .et_pb_menu .et-menu > li > ul.sub-menu { top: 100% !important; margin-top: 0px !important; }
#page-container #et-boc header.et-l--header .et_pb_menu .et-menu > li:hover > ul.sub-menu, #page-container #et-boc header.et-l--header .et_pb_menu .et-menu > li:focus-within > ul.sub-menu { visibility: visible !important; opacity: 1 !important; }
.site-header .site-navigation > a, .site-header .nav-group-heading > a, .site-header .submenu-toggle, .site-header .nav-submenu a { color: #2F493D !important; opacity: 1 !important; }
.site-header .nav-submenu { background: none #F7F8F2 !important; }
.site-header .nav-submenu a:hover, .site-header .nav-submenu a:focus-visible { background: #F5F4EE !important; color: #223B30 !important; }footer.et-l--footer, body.er-wedding-page > footer:not(.erft) { display: none !important; }
.erft { background: #63766E; color: rgb(245, 244, 238); font-family: "DM Sans", Arial, sans-serif; font-size: 15px; line-height: 1.7; width: 100%; margin: 0px; padding: 0px; clear: both; }
.erft * { box-sizing: border-box; }
.erft a { text-decoration: none; transition: color 0.15s; color: rgb(245, 244, 238) !important; }
.erft a:hover { text-decoration: underline; text-underline-offset: 5px; color: rgb(227, 212, 179) !important; }
.erft a:focus-visible, .erft summary:focus-visible { outline: rgb(223, 207, 170) solid 3px; outline-offset: 5px; }
.erft p { margin: 0px; padding: 0px; }
.erft-invite { max-width: 1450px; margin: auto; padding: 55px 60px; display: flex; align-items: center; justify-content: space-between; gap: 40px; border-bottom: 1px solid #6C826F; }
.erft .erft-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; margin-bottom: 17px; line-height: 1.6; }
.erft .erft-invite-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(38px, 4vw, 55px); line-height: 1.05; letter-spacing: -0.025em; }
.erft-invite-title em { color: rgb(216, 222, 207); font-weight: 400; }
.erft .erft-button { display: inline-flex; align-items: center; justify-content: center; gap: 35px; min-height: 48px; padding: 16px 25px; border: 1px solid rgb(216, 222, 207); text-transform: uppercase; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; white-space: nowrap; }
.erft .erft-button:hover { background: rgb(245, 244, 238); text-decoration: none; color: #2F493D !important; }
.erft-main { max-width: 1450px; margin: auto; padding: 55px 60px; display: grid; grid-template-columns: 1.55fr 1fr 1fr 1fr; gap: 50px; }
.erft .erft-name { display: inline-block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 35px; line-height: 1.1; letter-spacing: -0.02em; }
.erft .erft-location { font-size: 9px; letter-spacing: 0.22em; margin-top: 12px; }
.erft .erft-description { font-size: 14px; color: rgb(225, 229, 218); max-width: 310px; margin: 25px 0px; }
.erft address { font-style: normal; font-size: 14px; margin: 0px 0px 15px; color: rgb(225, 229, 218); }
.erft .erft-contact { display: block; font-size: 14px; margin: 8px 0px; overflow-wrap: anywhere; }
.erft h2 { font-family: "DM Sans", Arial, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; line-height: 1.6; color: rgb(245, 244, 238); margin: 0px 0px 20px; padding: 0px; font-size: 11px !important; }
.erft ul { list-style: none; margin: 0px; padding: 0px !important; }
.erft li { margin: 0px 0px 8px; padding: 0px; line-height: 1.6; }
.erft li a { display: inline-block; padding: 4px 0px; font-size: 14px; }
.erft-staff { margin-top: 24px; border-top: 1px solid #6C826F; padding-top: 16px; }
.erft-staff summary { cursor: pointer; font-size: 12px; letter-spacing: 0.03em; color: rgb(216, 222, 207); padding: 5px 0px; }
.erft-staff ul { margin-top: 12px; }
.erft-bottom { border-top: 1px solid #6C826F; padding: 25px max(30px, -665px + 50vw); display: flex; justify-content: space-between; align-items: center; gap: 25px; font-size: 12px; color: rgb(216, 222, 207); }
.erft-social { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.erft-social span { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; }
.erft-social a { font-size: 12px; padding: 5px 0px; }
@media (max-width: 1100px) {
  .erft-main { grid-template-columns: 1.4fr 1fr; gap: 40px; }
  .erft-invite, .erft-main { padding-left: 35px; padding-right: 35px; }
  .erft-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media (max-width: 600px) {
  .erft-invite { padding: 40px 22px; align-items: flex-start; flex-direction: column; gap: 25px; }
  .erft-main { padding: 40px 22px; grid-template-columns: 1fr 1fr; gap: 35px 25px; }
  .erft-brand { grid-column: 1 / -1; }
  .erft .erft-name { font-size: 34px; }
  .erft .erft-description { max-width: 360px; }
  .erft-bottom { padding: 23px 22px; }
  .erft-social { gap: 12px 18px; }
  .erft-social span { width: 100%; }
}body.er-wedding-page > header, body #page-container header.et-l--header .et_builder_inner_content .et_pb_section { background: #F7F8F2 !important; }
header.et-l--header .et-menu a { color: #2F493D !important; }
header.et-l--header .et-menu a:hover { color: #59735E !important; }
header.et-l--header .et_pb_button { background: #63766E !important; color: rgb(255, 255, 255) !important; border-color: #2F493D !important; }
header .erh-brand, header .erp-brand, header .erse-brand, header .et_pb_menu__logo a, body.er-wedding-page > header a.brand { aspect-ratio: 6000 / 963; flex-shrink: 0; display: block !important; width: 360px !important; max-width: 100% !important; height: auto !important; min-height: 0px !important; background: url("/assets/2e7b7bfe19-enchanted-ranch-sage-star-logo-scaled.jpeg") center center / contain no-repeat !important; line-height: 0 !important; font-size: 0px !important; padding: 0px !important; margin: 0px !important; }
header .erh-brand > *, header .erp-brand > *, header .erse-brand > *, header .et_pb_menu__logo a > *, body.er-wedding-page > header a.brand > * { position: absolute !important; width: 1px !important; height: 1px !important; clip-path: inset(50%) !important; overflow: hidden !important; opacity: 0 !important; }
header .et_pb_menu__logo-wrap { flex-shrink: 0 !important; }
header .et_pb_menu__logo { max-width: 360px !important; width: 360px !important; }
header .et_pb_menu__logo a::before, body.er-wedding-page > header a.brand::before { content: none !important; }
@media (max-width: 1100px) {
  header .erh-brand, header .erp-brand, header .erse-brand, header .et_pb_menu__logo a, body.er-wedding-page > header a.brand, header .et_pb_menu__logo { width: 290px !important; }
}
@media (max-width: 600px) {
  header .erh-brand, header .erp-brand, header .erse-brand, header .et_pb_menu__logo a, body.er-wedding-page > header a.brand, header .et_pb_menu__logo { width: 245px !important; max-width: calc(-100px + 100vw) !important; }
}