.elementor-245 .elementor-element.elementor-element-e31a9c9{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS */*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; font-family: 'Jost', sans-serif; background: var(--warm); color: var(--body); line-height: 1.65; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease; }
:focus-visible { outline: 3px solid var(--poppy); outline-offset: 4px; }

:root {
  --forest:#074435; --forest-mid:#0a5a46; --forest-deep:#052e25;
  --sand:#EFE4D4; --sand-dark:#e2d3bd; --warm:#FAF7F2;
  --sunset:#D24C27; --sunset-deep:#a83c1e; --poppy:#F8AE17; --poppy-deep:#c98a0a;
  --body:#332C22; --muted:#6d6558; --border:rgba(7,68,53,.10); --border-mid:rgba(7,68,53,.18);
}

/* HERO */
.hero { position:relative; min-height:clamp(500px,62vh,720px); display:flex; align-items:center; justify-content:center; overflow:hidden; text-align:center; isolation:isolate; }
.hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; z-index:-2; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(5,46,37,.58) 0%, rgba(5,46,37,.34) 38%, rgba(5,46,37,.76) 82%, rgba(5,46,37,.94) 100%); z-index:-1; }
.hero-content { width:min(100%, 800px); padding:clamp(6rem,12vw,8rem) clamp(1.25rem,4vw,2.5rem) clamp(4rem,8vw,6rem); margin:auto; }
.hero-eyebrow, .eyebrow, .final-cta-sub { display:block; font-family:'Cinzel',serif; font-size:10px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; }
.hero-eyebrow { color:#f2a287; margin-bottom:1.15rem; }
.hero-title { font-family:'Cinzel',serif; font-weight:500; font-size:clamp(34px,5.4vw,58px); color:var(--sand); line-height:1.18; margin:0 auto 1.25rem; text-wrap:balance; }
.hero-sub { font-size:clamp(15px,1.4vw,17px); font-weight:300; color:rgba(250,247,242,.94); line-height:1.8; max-width:650px; margin:0 auto 2rem; }
.hero-btns { display:flex; align-items:center; justify-content:center; gap:.85rem; flex-wrap:wrap; }
.btn-primary, .btn-outline, .btn-dark { font-family:'Cinzel',serif; font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; padding:.95rem 1.6rem; border-radius:2px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; min-height:48px; line-height:1.35; }
.btn-primary { color:#fffaf5; background:var(--sunset-deep); border:1px solid var(--sunset-deep); }
.btn-primary:hover { color:#fff; background:#873018; border-color:#873018; }
.btn-outline { color:var(--sand); background:rgba(5,46,37,.12); border:1px solid rgba(239,228,212,.68); }
.btn-outline:hover { color:var(--forest-deep); background:var(--sand); border-color:var(--sand); }
.btn-dark { color:var(--forest); background:transparent; border:1px solid var(--forest); }
.btn-dark:hover { color:var(--sand); background:var(--forest); }

/* CONTENT */
.section { width:min(100%,1160px); padding:clamp(4rem,7vw,5.5rem) clamp(1.5rem,5vw,3rem); margin:0 auto; }
.section-center { text-align:center; }
.eyebrow { color:var(--sunset-deep); margin-bottom:.85rem; }
.eyebrow.on-dark { color:#f2a287; }
.h2 { font-family:'Cinzel',serif; font-weight:500; font-size:clamp(27px,3.4vw,40px); color:var(--forest); line-height:1.3; margin:0 0 1rem; text-wrap:balance; }
.h2.on-dark { color:var(--sand); }
.section-body { font-size:16px; font-weight:300; color:var(--muted); line-height:1.9; max-width:690px; }
.section-body.centered { margin:0 auto; text-align:center; }
.section-body.on-dark { color:rgba(250,247,242,.84); }
.minor-wrap { background:var(--warm); border-top:1px solid var(--border-mid); border-bottom:1px solid var(--border-mid); }
.minor-inner { max-width:760px; margin:0 auto; text-align:center; }
.minor-text { font-size:14px; font-weight:300; color:var(--muted); line-height:1.8; }

.quicknav { background:var(--forest-deep); padding:.95rem 1.25rem; display:flex; align-items:center; justify-content:center; gap:.75rem 1.75rem; flex-wrap:wrap; position:sticky; top:0; z-index:10; box-shadow:0 8px 20px rgba(5,46,37,.08); }
.quicknav a { font-family:'Cinzel',serif; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:rgba(239,228,212,.76); text-decoration:none; padding:.35rem .1rem; }
.quicknav a:hover { color:var(--sand); }
.why-wrap{background:var(--warm)}
.counter-wrap { background:var(--sand); border-top:1px solid var(--border-mid); border-bottom:1px solid var(--border-mid); }
.counter-inner { max-width:800px; margin:0 auto; text-align:center; }
.counter-label { font-family:'Cinzel',serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--forest); margin-bottom:.75rem; }
.counter-number { font-family:'Cinzel',serif; font-size:clamp(42px,6vw,68px); font-weight:600; color:var(--sunset-deep); line-height:1.05; margin-bottom:1rem; }
.counter-number span { font-size:.34em; color:var(--forest); font-weight:500; }
.counter-track { height:10px; background:rgba(7,68,53,.12); border-radius:20px; overflow:hidden; margin:0 auto .85rem; max-width:540px; }
.counter-fill { height:100%; width:13%; background:linear-gradient(90deg,var(--forest),var(--sunset)); border-radius:20px; }
.counter-note { font-size:13.5px; color:var(--muted); font-style:italic; line-height:1.7; }
.badge-row { display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }
.badge-chip { display:flex; align-items:center; gap:.5rem; font-family:'Cinzel',serif; font-size:10px; letter-spacing:.07em; text-transform:uppercase; padding:.55rem .9rem; border-radius:20px; background:rgba(7,68,53,.06); color:var(--muted); border:1px solid rgba(7,68,53,.12); }
.badge-chip.unlocked { background:var(--poppy); color:var(--forest-deep); border-color:var(--poppy-deep); }
.badge-dot { width:7px; height:7px; border-radius:50%; background:currentColor; opacity:.7; flex:0 0 7px; }
.offer-wrap { background:var(--forest); }
.final-cta { position:relative; min-height:420px; padding:5.5rem 1.5rem; text-align:center; overflow:hidden; display:grid; place-items:center; isolation:isolate; }
.final-cta img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2}.final-cta-overlay{position:absolute; inset:0; background:rgba(5,46,37,.86); z-index:-1}.final-cta-content{max-width:680px}.final-cta-sub{color:#f2a287;margin-bottom:1rem}.final-cta-title{font-family:'Cinzel',serif;font-size:clamp(26px,3.5vw,38px);font-weight:500;color:var(--sand);margin:0 0 2rem;line-height:1.3;text-wrap:balance}
@media(max-width:767px){
 .quicknav{position:relative; gap:.25rem; padding:.75rem 1rem;}
 .quicknav a{width:100%; text-align:center; padding:.45rem 0; font-size:9.5px;}
 .counter-number{font-size:42px}.counter-number span{display:block; font-size:16px; margin-top:.45rem; line-height:1.4}
 .badge-row{flex-direction:column; align-items:stretch}.badge-chip{justify-content:center; border-radius:6px; padding:.7rem .8rem}
}

/* FOOTER */
.footer { background:var(--forest-deep); padding:3.25rem clamp(1.25rem,5vw,3rem); text-align:center; }
.footer-links { display:flex; justify-content:center; gap:1rem 1.75rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.footer-links a { font-family:'Cinzel',serif; font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:rgba(239,228,212,.72); text-decoration:none; }
.footer-links a:hover { color:var(--sand); }
.footer-note { font-size:12px; color:rgba(239,228,212,.55); max-width:680px; margin:0 auto; line-height:1.75; }

@media (max-width:767px) {
  .hero { min-height:560px; }
  .hero-content { padding:6rem 1.25rem 4rem; }
  .hero-eyebrow { font-size:9px; letter-spacing:.18em; line-height:1.7; }
  .hero-title { font-size:clamp(31px,9vw,42px); }
  .hero-sub { font-size:15px; line-height:1.7; }
  .hero-btns { width:100%; gap:.7rem; }
  .btn-primary, .btn-outline, .btn-dark { width:min(100%, 360px); padding:.95rem 1.15rem; }
  .section { padding:3.75rem 1.25rem; }
  .h2 { font-size:clamp(26px,8vw,34px); }
  .section-body { font-size:15.5px; line-height:1.8; }
  .footer { padding:2.75rem 1.25rem; }
  .footer-links { flex-direction:column; align-items:center; gap:.85rem; }
  .footer-links a { font-size:11px; }
}

@media (max-width:420px) {
  .hero { min-height:540px; }
  .hero-title { font-size:30px; }
  .section { padding-left:1rem; padding-right:1rem; }
}

.minor-section{padding-top:2.75rem;padding-bottom:2.75rem;}
.counter-section{padding-top:3.75rem;padding-bottom:3.75rem;}
@media(max-width:767px){.minor-section{padding-top:2.25rem;padding-bottom:2.25rem}.counter-section{padding-top:3rem;padding-bottom:3rem}}/* End custom CSS */