.elementor-114 .elementor-element.elementor-element-7e993ab{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-114 .elementor-element.elementor-element-aa75371{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-114 .elementor-element.elementor-element-d1eebc9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-114 .elementor-element.elementor-element-124e45c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-114 .elementor-element.elementor-element-43ecfca{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-114 .elementor-element.elementor-element-96a0a32{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-114 .elementor-element.elementor-element-a82afde{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-2ce9064 *//* ================= Brand Tokens ================= */
:root{
  --navy: #0B2149;
  --navy-2: #122C5A;
  --gold: #D4AF37;
  --gold-soft: #FFD972;
  --ivory: #F9F9F6;
  --ink-80: rgba(255,255,255,.80);
}

/* ================= Layout ================= */
.about-hero{
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
  color: var(--ivory);
  padding: clamp(56px, 6vw, 120px) 0;
}

.ah-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 28px);
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
}

/* ============== Left: Photo with gold frame ============== */
.ah-photo{
  margin: 0;
  background: var(--gold);
  border-radius: clamp(18px, 2.2vw, 28px);
  padding: clamp(10px, 1.4vw, 16px);
  box-shadow: 0 18px 36px rgba(0,0,0,.25);
}
.ah-photo img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: clamp(14px, 1.8vw, 22px);
  border: 10px solid rgba(0,0,0,.06); /* subtle inner bezel */
}

/* ============== Right: Content ============== */
.ah-eyebrow{
  text-transform: uppercase;
  letter-spacing: .14em;
  font: 700 clamp(11px, 1.2vw, 13px)/1 Montserrat, sans-serif;
  color: var(--gold-soft);
  margin: 0 0 .4rem 0;
}

.ah-title{
  font: 600 clamp(28px, 4.2vw, 56px)/1.12 Montserrat, sans-serif;
  color: var(--gold-soft);
  margin: 0 0 .35rem 0;
}

.ah-sub{
  font: 600 clamp(15px, 1.8vw, 22px)/1.4 Montserrat, sans-serif;
  color: var(--ivory);
  opacity: .95;
  margin: 0 0 .9rem 0;
}

.ah-body{
  font: 400 clamp(15px, 1.6vw, 18px)/1.8 "Noto Sans", system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans Devanagari", sans-serif;
  color: var(--ink-80);
  margin: 0 0 1.1rem 0;
  max-width: 64ch;
}

.ah-ctas{
  display: flex; flex-wrap: wrap; gap: 10px 12px;
  margin: .6rem 0 0.4rem;
}
.btn{
  display:inline-block;
  border-radius: 999px;
  padding: 14px 22px;
  font: 700 clamp(12.5px,1.3vw,14.5px)/1 Montserrat, sans-serif;
  text-decoration: none;
  border: 2px solid transparent;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  will-change: transform;
}
.btn:hover{ transform: translateY(-2px); }

.btn-gold{ background: var(--gold); color: var(--navy); }
.btn-gold:hover{ background: #B8962D; color: #fff; }

.btn-wa{ background: #25D366; color: #0a301a; }
.btn-wa:hover{ filter: brightness(.95); color: #fff; }

.btn-outline{
  background: transparent; color: var(--ivory);
  border-color: rgba(255,255,255,.45);
}
.btn-outline:hover{
  background: rgba(255,255,255,.08);
  border-color: var(--gold);
}

.ah-micro{
  margin-top: .35rem;
  font: 600 clamp(11px,1.2vw,12.5px)/1.6 Montserrat, sans-serif;
  color: var(--ink-80);
  letter-spacing: .02em;
}

/* ================= Responsiveness ================= */
@media (max-width: 1024px){
  .ah-wrap{ grid-template-columns: 1fr; }
  .ah-photo{ max-width: 520px; margin: 0 auto; }
  .ah-content{ text-align: center; }
  .ah-body{ margin-left: auto; margin-right: auto; }
  .ah-ctas{ justify-content: center; }
}

@media (max-width: 480px){
  .btn{ width: 100%; text-align: center; }
}

/* Reduced motion: gentler hover */
@media (prefers-reduced-motion: reduce){
  .btn{ transition: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c432b16 *//* ===== Brand tokens (keep consistent site-wide) ===== */
:root{
  --navy: #0B2149;
  --navy-2: #122C5A;
  --gold: #D4AF37;
  --gold-soft: #FFD972;
  --ivory: #F9F9F6;
  --ink: #1B1B1B;
}

/* ===== Section ===== */
.mv{
  background: linear-gradient(180deg, var(--ivory) 0%, #FFFFFF 100%);
  padding: clamp(56px,6vw,100px) 0;
  color: var(--navy);
}
.mv-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(16px,3vw,28px);
}

/* Intro: two-column feel via max-widths */
.mv-head{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(16px,3vw,28px);
  align-items: start;
  margin-bottom: clamp(24px,3.5vw,40px);
}
.mv-title{
  font: 600 clamp(24px,3.6vw,38px)/1.2 Montserrat, sans-serif;
  color: var(--navy);
  margin: 0;
}
.mv-text{
  font: 400 clamp(15px,1.4vw,18px)/1.8 "Noto Sans", system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans Devanagari", sans-serif;
  color: #334155;
  margin: 0;
}

/* Value Cards grid (desktop) */
.mv-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: clamp(14px,2vw,20px);
}

/* Card */
.mv-card{
  background: #fff;
  border: 1px solid rgba(212,175,55,.25);
  border-radius: 16px;
  padding: 20px 18px;
  box-shadow: 0 8px 20px rgba(11,33,73,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mv-card:hover{
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: 0 12px 26px rgba(11,33,73,.12);
}

.mv-emoji{
  width: 56px; height: 56px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: #FFF6D8;
  border: 2px solid var(--gold);
  box-shadow: 0 0 0 4px rgba(212,175,55,.10);
  font-size: 26px;
  margin-bottom: 12px;
}
.mv-card-title{
  font: 600 18px/1.35 Montserrat, sans-serif;
  color: var(--navy);
  margin: 0 0 6px;
}
.mv-card-text{
  font: 400 15.5px/1.75 "Noto Sans", sans-serif;
  color: #475569;
  margin: 0;
}

/* ===== Mobile: horizontal swipe row ===== */
@media (max-width: 900px){
  .mv-head{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  .mv-grid{
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 16px;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
  }
  .mv-card{
    flex: 0 0 82%;
    min-width: 260px;
    scroll-snap-align: center;
  }
  .mv-grid::-webkit-scrollbar{ display: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-23de655 *//* ===== Brand Tokens ===== */
:root{
  --navy: #0B2149;
  --navy-2: #122C5A;
  --gold: #D4AF37;
  --ivory: #FAF9F6;
  --ink: #1B1B1B;
}

/* ===== Section ===== */
.jc{
  background: linear-gradient(180deg, var(--ivory) 0%, #FFFFFF 100%);
  padding: clamp(60px,6vw,100px) 0;
  color: var(--navy);
}

.jc-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(16px,3vw,28px);
}

.jc-head{
  text-align: center;
  max-width: 780px;
  margin: 0 auto clamp(40px,5vw,60px);
}

.jc-title{
  font: 600 clamp(26px,3.6vw,42px)/1.2 Montserrat, sans-serif;
  color: var(--navy);
  margin-bottom: 12px;
}

.jc-sub{
  font: 400 clamp(15px,1.5vw,18px)/1.8 "Noto Sans", sans-serif;
  color: #334155;
  margin: 0 auto;
}

/* ===== Timeline (horizontal desktop) ===== */
.jc-timeline{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  gap: clamp(16px,2.5vw,30px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 20px;
}
.jc-timeline::-webkit-scrollbar{ display: none; }

.jc-step{
  flex: 0 0 260px;
  text-align: center;
  scroll-snap-align: start;
  position: relative;
}
.jc-year{
  font: 700 clamp(18px,2vw,22px)/1.2 Montserrat, sans-serif;
  color: var(--gold);
  margin-bottom: 8px;
}
.jc-line{
  width: 3px;
  height: 50px;
  background: var(--gold);
  margin: 0 auto 10px;
  border-radius: 2px;
}
.jc-text{
  font: 400 15.5px/1.75 "Noto Sans", sans-serif;
  color: #475569;
  max-width: 260px;
  margin: 0 auto;
}

/* ===== Badge Row ===== */
.jc-badges{
  margin-top: clamp(36px,4vw,48px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 18px;
}
.jc-badge{
  display: inline-flex;
  align-items: center;
  font: 600 14.5px/1.4 Montserrat, sans-serif;
  background: #FFF6D8;
  border: 1.5px solid var(--gold);
  border-radius: 999px;
  color: var(--navy);
  padding: 10px 18px;
  box-shadow: 0 4px 12px rgba(11,33,73,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.jc-badge:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(11,33,73,.12);
}

/* ===== Responsive ===== */
@media (max-width: 768px){
  .jc-timeline{
    flex-direction: column;
    align-items: flex-start;
  }
  .jc-step{
    flex: 1 1 100%;
    text-align: left;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    position: relative;
  }
  .jc-line{
    width: 2px;
    height: 100%;
    background: var(--gold);
    margin: 0 10px;
  }
  .jc-year{
    min-width: 70px;
    color: var(--navy);
  }
  .jc-info{
    flex: 1;
  }
}
.jc-title::after{
  content:"";
  display:block;
  width:60px;
  height:4px;
  margin:10px auto 0;
  background: var(--gold);
  border-radius:2px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d42f015 *//* ===== Brand Tokens ===== */
:root{
  --navy:#0B2149; --navy-2:#122C5A; --gold:#D4AF37; --gold-soft:#FFD972; --ivory:#F9F9F6;
}

/* ===== Section ===== */
.proc{
  background: linear-gradient(180deg, #FFFFFF 0%, var(--ivory) 100%);
  color: var(--navy);
  padding: clamp(56px,6vw,96px) 0;
}
.proc-wrap{ max-width:1200px; margin:0 auto; padding:0 clamp(16px,3vw,28px); }

.proc-head{ text-align:center; margin-bottom: clamp(24px,3.5vw,40px); }
.proc-title{
  font:600 clamp(24px,3.6vw,38px)/1.2 Montserrat, sans-serif;
  color:var(--navy); margin:0 0 8px;
}
.proc-sub{
  font:400 clamp(15px,1.5vw,18px)/1.75 "Noto Sans",sans-serif;
  color:#334155; margin:0 auto; max-width:760px;
}

/* ===== Steps rail (desktop: inline; mobile: swipe) ===== */
.proc-rail{
  display:flex; gap: clamp(14px,2vw,22px);
  overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding: 6px 0 14px;
}
.proc-rail::-webkit-scrollbar{ display:none; }

.proc-step{
  background:#fff;
  border:1px solid rgba(212,175,55,.25);
  border-radius:16px;
  padding:18px 16px;
  min-width: 240px;
  flex: 1 1 0;
  scroll-snap-align:start;
  box-shadow:0 8px 20px rgba(11,33,73,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.proc-step:hover{ transform: translateY(-4px); border-color:var(--gold); box-shadow:0 12px 26px rgba(11,33,73,.12); }

.proc-badge{
  width:36px; height:36px; border-radius:999px; display:grid; place-items:center;
  background:var(--gold); color:var(--navy); font:700 16px/1 Montserrat,sans-serif;
  box-shadow:0 0 0 6px rgba(212,175,55,.14); margin-bottom:10px;
}
.proc-icon{ width:40px; height:40px; color:var(--navy); opacity:.9; margin-bottom:8px; }
.proc-icon svg{ width:100%; height:100%; }

.proc-step-title{
  font:600 16.5px/1.35 Montserrat,sans-serif; color:var(--navy); margin:0 0 6px;
}
.proc-step-text{
  font:400 14.5px/1.7 "Noto Sans",sans-serif; color:#475569; margin:0;
}

/* CTA */
.proc-cta{ text-align:center; margin-top: clamp(22px,3vw,32px); }
.btn{
  display:inline-block; border-radius:999px; padding:14px 22px;
  font:700 14.5px/1 Montserrat,sans-serif; text-decoration:none; border:2px solid transparent;
  transition:.2s ease;
}
.btn-gold{ background:var(--gold); color:var(--navy); }
.btn-gold:hover{ background:#B8962D; color:#fff; }

/* Layout tweaks */
@media (min-width: 980px){
  .proc-rail{ overflow-x:visible; }
  .proc-step{ min-width: unset; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0f8ab16 *//* ===== Brand tokens ===== */
:root{
  --navy:#0B2149;
  --navy-2:#122C5A;
  --gold:#D4AF37;
  --gold-soft:#FFD972;
  --ivory:#F9F9F6;
  --ink:#334155;
}

/* ===== Section shell ===== */
.tc{
  background: linear-gradient(180deg, #FFFFFF 0%, var(--ivory) 100%);
  color: var(--navy);
  padding: clamp(56px,6vw,96px) 0;
}
.tc-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 clamp(16px,3vw,28px);
}

/* Heading */
.tc-head{ text-align:center; margin-bottom: clamp(24px,3.6vw,40px); }
.tc-title{
  font: 600 clamp(24px,3.4vw,38px)/1.2 Montserrat, sans-serif;
  color: var(--navy);
  margin: 0 0 10px;
}
.tc-title::after{
  content:"";
  display:block; width:64px; height:4px; margin:10px auto 0;
  background: var(--gold); border-radius: 2px;
}
.tc-lead{
  font: 400 clamp(15px,1.5vw,18px)/1.8 "Noto Sans", sans-serif;
  color: var(--ink);
  max-width: 820px; margin: 0 auto;
}

/* Badges */
.tc-badges{
  display: flex; flex-wrap: wrap; gap: 12px 16px;
  justify-content: center;
  margin: clamp(18px,2.4vw,28px) 0 clamp(8px,1.6vw,14px);
  padding: 0; list-style: none;
}
.tc-badge{
  display: inline-flex; align-items: center; gap: 10px;
  background: #FFF6D8;
  border: 1.5px solid var(--gold);
  color: var(--navy);
  padding: 10px 16px;
  border-radius: 999px;
  font: 600 14px/1.35 Montserrat, sans-serif;
  box-shadow: 0 6px 16px rgba(11,33,73,.10);
}
.tc-icon{ font-size: 16px; }
.tc-text{ white-space: nowrap; }

/* Disclaimer accordion */
.tc-accordion{
  background: #fff;
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(11,33,73,.08);
  overflow: hidden;
  margin-top: clamp(10px,1.8vw,16px);
}
.tc-summary{
  cursor: pointer;
  padding: 16px 18px;
  font: 700 14.5px/1.3 Montserrat, sans-serif;
  color: var(--navy);
  background: linear-gradient(180deg, #FFFFFF 0%, #FFF9E7 100%);
  border-bottom: 1px solid rgba(212,175,55,.22);
  position: relative;
}
.tc-summary::marker{ content:""; } /* hide default arrow */
.tc-summary::after{
  content: "＋";
  position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
  color: var(--navy);
  font-weight: 800;
}
.tc-accordion[open] .tc-summary::after{ content: "—"; }

.tc-body{ padding: 16px 18px 18px; }
.tc-body p{
  font: 400 15.5px/1.75 "Noto Sans", sans-serif;
  color: #475569; margin: 0 0 10px;
}
.tc-list{ margin: 0 0 8px 18px; padding: 0; }
.tc-list li{ margin: 6px 0; }
.tc-small{
  font: 600 13px/1.6 Montserrat, sans-serif;
  color: #64748B; margin: 0;
}

/* Links row */
.tc-links{
  display: flex; flex-wrap: wrap; gap: 14px 18px;
  justify-content: center; margin-top: clamp(16px,2.4vw,22px);
}
.tc-links a{
  color: var(--navy-2); text-decoration: none; border-bottom: 1px dotted rgba(11,33,73,.35);
  font: 600 13.5px/1.3 Montserrat, sans-serif;
}
.tc-links a:hover{ color: var(--gold); border-bottom-color: var(--gold); }

/* Responsive niceties */
@media (max-width: 560px){
  .tc-text{ white-space: normal; } /* allow wrap on small screens */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7c24897 *//* ===== Brand Tokens ===== */
:root{
  --navy:#0B2149; --navy-2:#122C5A;
  --gold:#D4AF37; --gold-soft:#FFD972;
  --ivory:#F9F9F6;
}

/* ===== Family Visual Closer ===== */
.fv{
  position: relative;
  isolation: isolate;
  min-height: clamp(420px, 60vh, 680px);
  display: grid;
  place-items: center;
  color: var(--ivory);
  overflow: hidden;
}

/* Background image */
.fv-bg{
  position: absolute; inset: 0; z-index: -2;
}
.fv-bg img{
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.02); /* slight crop to avoid edges on mobile */
}

/* Soft gradient overlay (brand) */
.fv-overlay{
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(180deg, rgba(18,44,90,.78) 0%, rgba(11,33,73,.88) 100%),
    radial-gradient(80% 60% at 50% 60%, rgba(212,175,55,.18) 0%, rgba(212,175,55,0) 60%);
  mix-blend-mode: multiply;
}

/* Content wrapper */
.fv-wrap{
  width: 100%;
  max-width: 1100px;
  padding: clamp(48px,6vw,96px) clamp(16px,3vw,28px);
  text-align: center;
}

/* Heading */
.fv-title{
  font: 600 clamp(24px, 3.6vw, 42px)/1.15 Montserrat, sans-serif;
  color: var(--ivory);
  margin: 0 0 clamp(8px,1.6vw,12px);
}
.fv-title::after{
  content:""; display:block; width:64px; height:4px;
  margin: clamp(8px,1.6vw,12px) auto 0;
  background: var(--gold); border-radius:2px; opacity:.9;
}

/* Quote */
.fv-quote{
  max-width: 820px; margin: 0 auto clamp(16px,2.4vw,22px);
  font: 400 clamp(16px,1.8vw,20px)/1.8 "Noto Sans", system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans Devanagari", sans-serif;
  color: rgba(255,255,255,.92);
  position: relative;
}
.qmark{
  font: 700 clamp(28px,4.8vw,56px)/0.6 Montserrat, sans-serif;
  color: var(--gold-soft);
  vertical-align: baseline;
}
.q-open{ margin-right: 6px; }
.q-close{ margin-left: 6px; }

/* CTAs */
.fv-ctas{
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
  margin-top: clamp(8px,1.6vw,14px);
}
.btn{
  display:inline-block; border-radius:999px; padding:14px 22px;
  font:700 14.5px/1 Montserrat, sans-serif; text-decoration:none;
  border:2px solid transparent; transition:.2s ease;
}
.btn:hover{ transform: translateY(-2px); }
.btn-gold{ background: var(--gold); color: var(--navy); }
.btn-gold:hover{ background:#B8962D; color:#fff; }
.btn-wa{ background:#25D366; color:#0a301a; }
.btn-wa:hover{ filter:brightness(.95); color:#fff; }

/* Mobile niceties */
@media (max-width: 560px){
  .btn{ width:100%; text-align:center; }
}
@media (prefers-reduced-motion: reduce){
  .btn{ transition:none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-64a9fd2 *//* ===== Brand Colors ===== */
:root{
  --navy:#0B2149; --navy-2:#122C5A;
  --gold:#D4AF37; --gold-soft:#FFD972;
  --ivory:#F9F9F6;
}

/* ===== Final CTA Section ===== */
.cta-final{
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
  color: var(--ivory);
  text-align: center;
  padding: clamp(64px,8vw,120px) 0;
  position: relative;
  overflow: hidden;
}

/* Optional soft glow overlay */
.cta-final::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(60% 50% at 50% 40%, rgba(212,175,55,.12) 0%, transparent 80%);
  pointer-events:none;
}

.cta-wrap{
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 clamp(16px,3vw,28px);
  z-index: 1;
}

.cta-title{
  font: 600 clamp(26px,3.8vw,42px)/1.2 Montserrat, sans-serif;
  color: var(--gold-soft);
  margin: 0 0 12px;
}
.cta-sub{
  font: 400 clamp(15px,1.6vw,18px)/1.8 "Noto Sans", sans-serif;
  color: rgba(255,255,255,.85);
  margin: 0 auto clamp(24px,3vw,32px);
  max-width: 720px;
}

/* ===== Buttons ===== */
.cta-buttons{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap: 12px 16px;
}

.btn{
  display:inline-block;
  border-radius:999px;
  padding:14px 22px;
  font:700 14.5px/1 Montserrat,sans-serif;
  text-decoration:none;
  border:2px solid transparent;
  transition: all .25s ease;
}
.btn:hover{ transform: translateY(-2px); }

.btn-gold{
  background: var(--gold);
  color: var(--navy);
}
.btn-gold:hover{ background:#B8962D; color:#fff; }

.btn-outline{
  background: transparent;
  color: var(--ivory);
  border-color: rgba(255,255,255,.4);
}
.btn-outline:hover{
  background: rgba(255,255,255,.08);
  border-color: var(--gold);
  color: var(--gold-soft);
}

.btn-wa{
  background:#25D366;
  color:#0a301a;
}
.btn-wa:hover{ filter:brightness(.95); color:#fff; }

/* ===== Responsive ===== */
@media (max-width: 560px){
  .btn{ width:100%; text-align:center; }
}
@media (prefers-reduced-motion: reduce){
  .btn{ transition:none; }
}/* End custom CSS */