:root {
    --cream-soft: #E5AC77;
    --gold: #FAA95E;
    --white: #ffffff;
	  --black: #000000;
    --purple-light: #270B1D;
	  --bg-purple: #150710;
    --bg-panel:#270b1d;
    --bg-card: rgba(21,7,16,0.2);
    --border-rose:#b83f61;
    --field-bg:#3b0d1a;
    --field-border:#7b233b;
    --accent-gold:#e5ac77;
    --accent-amber:#faa95e;
    --muted-taupe:#8f7b69;
    --muted-grey:#a4a4a4;
    --white:#ffffff;
    --font-display: 'Juana';
    --font-body: 'Castle';
    --max-w: 1400px;
}

.site-main > * {
    margin-top: unset;
    margin-bottom: unset;
}
p{font-family: 'Castle'; font-weight: 300; font-size: 18px;}
.mt-3 {margin-top: 30px !important;}
.justify-content-left{justify-content: left !important;}
.btn { border-radius: 5px; background: var(--white); align-items: center; justify-content: center; color: var(--black); text-decoration: none !important; font-family: 'castle'; font-size: 18px; font-weight: 100; line-height: 1; padding: 20px 29px; }

.site-main { padding: 0 !important; margin: 0 !important; }

.custom-header { width: 100%; top: 0; left: 0; right: 0; z-index: 9; position: fixed; padding-top: 13px; padding-bottom: 13px; background: transparent; transition: background-color 0.3s ease, box-shadow 0.3s ease; height: 100px; }

.custom-header.sticky { background: #ffffff; box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08); }

.custom-header.sticky .menu-toggle span { background: #2b101b; }

.custom-header.sticky .book-btn { color: var(--black) !important; }

.custom-header.sticky .book-btn:hover { color: var(--white) !important; background: var(--black); }

.header-container { width: min(1320px, calc(100% - 200px)); height: 100%; margin-left: auto; margin-right: auto; padding: 0; position: relative; display: flex; align-items: center; justify-content: center; }

.site-logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: max-content; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; text-decoration: none; z-index: 5; }

.site-logo img { width: 290px; max-width: 70vw; height: auto; margin: 0; padding: 0; display: block; }

.menu-toggle { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 39px; height: 22px; margin: 0; padding: 0; border: 0; border-radius: 0; outline: none; background: transparent !important; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; align-items: stretch; z-index: 20; appearance: none; -webkit-appearance: none; }

.menu-toggle span { width: 39px; height: 2px; margin: 0; padding: 0; display: block; background: #ffffff; border-radius: 2px; transition: transform 0.35s ease, opacity 0.25s ease, background 0.25s ease; }

.menu-toggle.active span:nth-child(1) { transform: translateY(15px) rotate(45deg); }

.menu-toggle.active span:nth-child(2) { opacity: 0; }

.menu-toggle.active span:nth-child(3) { transform: translateY(-15px) rotate(-45deg); }

.menu-toggle:focus-visible, .menu-close:focus-visible { outline: 1px solid #c9875d; outline-offset: 5px; }

.book-btn { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 142px; height: 43px; margin: 0; padding: 0; border: 1px solid #b97850; border-radius: 5px; background: transparent; display: flex; align-items: center; justify-content: center; color: #ffffff !important; text-decoration: none !important; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 400; line-height: 1; letter-spacing: 0.2px; transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; z-index: 10; }

.book-btn:hover { background: #b97850; border-color: #b97850; color: #ffffff !important; }

.menu-overlay { position: fixed; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; background: rgba(20, 5, 12, 0.58); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.4s ease, visibility 0.4s ease; z-index: 1200; }

.menu-overlay.active { opacity: 1; visibility: visible; pointer-events: auto; }

.side-menu { position: fixed; left: 0; top: 0; width: 390px; max-width: 88vw; height: 100vh; margin: 0; padding: 110px 50px 50px; background: #2b101b; transform: translate3d(-100%, 0, 0); transition: transform 0.55s cubic-bezier(0.77, 0, 0.175, 1); z-index: 1300; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

.side-menu.active { transform: translate3d(0, 0, 0); }

.menu-close { position: absolute; top: 35px; right: 35px; width: 35px; height: 35px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; cursor: pointer; appearance: none; -webkit-appearance: none; }

.menu-close span { position: absolute; left: 3px; top: 16px; width: 29px; height: 2px; margin: 0; background: #ffffff; border-radius: 2px; }

.menu-close span:first-child { transform: rotate(45deg); }

.menu-close span:last-child { transform: rotate(-45deg); }

.menu-nav { width: 100%; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }

.menu-nav a { position: relative; display: block; width: 100%; margin: 0; padding: 18px 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.14); color: #ffffff !important; background: transparent; text-decoration: none !important; font-size: 23px; font-weight: 300; line-height: 1.3; transition: color 0.3s ease, padding-left 0.3s ease, border-color 0.3s ease; }

.menu-nav a:hover { color: #c9875d !important; padding-left: 8px; border-color: rgba(201, 135, 93, 0.35); }

.menu-book-btn { margin-top: 25px !important; padding: 15px !important; display: flex; align-items: center; justify-content: center; color: var(--white); text-decoration: none !important; font-size: 17px; line-height: 1; width: 180px; border-radius: 5px; border: 1px solid transparent; background: linear-gradient(#2b101b, #2b101b) padding-box, linear-gradient(90deg, #B83F61 0%, #FAA95E 48%, #B83F61 100%) border-box; }

.menu-book-btn:hover { background: #b97850; border-color: #b97850; color: #ffffff !important; }

body.menu-open { overflow: hidden; touch-action: none; }

@media (max-width: 900px) { .custom-header { height: 90px; } .header-container { width: calc(100% - 70px); } .site-logo img { width: 260px; } .menu-toggle { width: 39px; } .book-btn { width: 135px; } }

@media (max-width: 600px) { .custom-header { height: 82px; } .header-container { width: calc(100% - 40px); } .menu-toggle { left: 0; width: 32px; height: 27px; } .menu-toggle span { width: 32px; } .menu-toggle.active span:nth-child(1) { transform: translateY(12.5px) rotate(45deg); } .menu-toggle.active span:nth-child(3) { transform: translateY(-12.5px) rotate(-45deg); } .site-logo img { width: 210px; } .book-btn { display: none; right: 0; width: 115px; height: 38px; font-size: 9px; } .side-menu { width: 330px; max-width: 90vw; padding: 95px 35px 40px; } .menu-nav a { font-size: 21px; padding: 16px 0; } .menu-close { top: 28px; right: 25px; } }

@media (max-width: 430px) { .header-container { width: calc(100% - 30px); } .site-logo img { width: 175px; } .book-btn { display: none; } .menu-toggle { left: 0; } }

@media (prefers-reduced-motion: reduce) { .menu-toggle span, .book-btn, .menu-overlay, .side-menu, .menu-nav a, .menu-book-btn, .omf-contact-item, .omf-social-icon{ transition: none !important; }}

/* ===== Footer ===== */
.olivia-footer { position: relative; width: 100%; overflow: hidden; color: var(--white); box-sizing: border-box; }

.olivia-footer-main { position: relative; width: 100%; min-height: 700px; padding: 120px 0 70px; box-sizing: border-box; }

.olivia-footer-container { position: relative; z-index: 3; width: calc(100% - 120px); max-width: 1320px; margin: 0 auto; box-sizing: border-box; }

.olivia-footer-decoration { position: absolute; z-index: 1; top: 70px; right: 0; width: 250px; height: auto; display: block; margin: 0; padding: 0; pointer-events: none; user-select: none; }

.olivia-footer-brand { position: relative; z-index: 4; width: 100%; text-align: center; margin: 0 0 70px; }

.olivia-footer-brand-name { margin: 0; color: #e8a15e; font-size: 50px; font-weight: 300; line-height: 1.1; letter-spacing: -1.5px; }

.olivia-footer-brand-subtitle { margin: 8px 0 0; color: var(--white) font-size: 34px; font-weight: 400; line-height: 1.1; }

.olivia-footer-content { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 0; width: 100%; box-sizing: border-box; }

.olivia-contact-form { width: 100%; max-width: 585px; }

.olivia-section-title { margin: 0 0 36px; color: var(--white); font-size: 40px; font-weight: 300; line-height: 1.1; }

.olivia-dynamic-form { width: 100%; margin: 0; padding: 0; }

.olivia-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 16px; }

.olivia-form-field { width: 100%; margin: 0; padding: 0; }

.olivia-form-control { display: block; width: 100%; box-sizing: border-box; border: 1px solid #7b2b43; border-radius: 7px; outline: none; background: #430c20; color: #ffffff;  font-size: 14px; font-weight: 400; transition: all 0.25s ease; }

input.olivia-form-control { height: 50px; padding: 0 24px;border: 1px solid #7B233B; border-radius: 10px;}

textarea.olivia-form-control { min-height: 130px; padding: 20px 24px; resize: vertical;border: 1px solid #7B233B;
    border-radius: 10px; }

.olivia-form-control::placeholder { color: #bcaab0; opacity: 1;  font-size: 13px; }

.olivia-form-control:focus { border-color: #c95b6b; background: #4a1025; box-shadow: 0 0 0 2px rgba(201, 91, 107, 0.08); }

.olivia-subject-field { margin-top: 0; }

.olivia-message-field { margin-top: 16px; }

.olivia-form-submit-wrap { width: 100%; margin-top: 17px; text-align: center; }

.olivia-form-submit { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 203px; height: 49px; padding: 0 27px; border-radius: 4px;background: var(--white) !important; color: var(--black) !important; font-size: 15px; font-weight: 400; cursor: pointer; transition: all 0.3s ease; }

.olivia-form-submit:hover { background: var(--white); border-color: #ffffff; transform: translateY(-1px); }

.olivia-submit-arrow { font-size: 20px; line-height: 1; }

.olivia-contact-info { position: relative; min-height: 430px; padding: 0 120px 0 50px; box-sizing: border-box; }
.olivia-contact-info::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    height: 340px;
    width: 1px;
    margin: auto;
    background: linear-gradient(rgba(250, 169, 94, 0), rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0.25) 19%, rgba(250, 169, 94, 0.18) 50%, rgba(250, 169, 94, 0.25) 50%, rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0));
}
.olivia-contact-info .olivia-section-title { margin-bottom: 43px; }

.olivia-contact-item { display: flex; align-items: center; gap: 17px; margin: 0 0 25px; }

.olivia-contact-icon { flex: 0 0 31px; width: 31px; height: 31px; display: flex; align-items: center; justify-content: center; color: #f2a348; }

.olivia-contact-icon svg { width: 29px; height: 29px; stroke: currentColor; fill: none; stroke-width: 1.8; }

.olivia-contact-item a, .olivia-contact-item span { color: var(--white);  font-size: 18px; font-weight: 300; line-height: 1.35; text-decoration: none; }

.olivia-contact-item a:hover { color: #e9a45c; }

.olivia-social-links { display: flex; align-items: center; gap: 28px; margin-top: 29px; margin-bottom: 48px; }

.olivia-social-link { display: flex; align-items: center; justify-content: center; width: 27px; height: 30px; color: #f3a34a; text-decoration: none; transition: all 0.3s ease; }

.olivia-social-link:hover { color: #f0c184; transform: translateY(-2px); }

.olivia-social-link svg { width: 27px; height: 27px; fill: currentColor; }

.olivia-service-note { position: relative; margin: 0; padding-left: 13px; color: var(--white);  font-size: 17px; font-weight: 300; line-height: 1.45; }

.olivia-service-note::before { 
content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    height: 70px;
    width: 1px;
    margin: auto;
    background: linear-gradient(rgba(250, 169, 94, 0), rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0.25) 19%, rgba(250, 169, 94, 0.18) 50%, rgba(250, 169, 94, 0.25) 50%, rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0)) }

.olivia-footer-bottom { position: relative; z-index: 10; width: 100%; border-top: 1px solid rgba(255, 255, 255, 0.07); background: #10050d; }

.olivia-footer-bottom-inner { width: calc(100% - 120px); max-width: 1320px; min-height: 62px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; }

.olivia-copyright { margin: 0; color: var(--white);  font-size: 16px; font-weight: 300; }

.olivia-footer-nav { display: flex; align-items: center; flex-wrap: wrap; }

.olivia-footer-nav a { position: relative; padding: 0 19px; color: var(--white); font-size: 16px; font-weight: 400; text-decoration: none; transition: color 0.25s ease; }

.olivia-footer-nav a:hover { color: #e8a15e; }

.olivia-footer-nav a:not(:last-child)::after { content: "|"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--white); }

@media (max-width: 1200px) {
    .olivia-footer-container, .olivia-footer-bottom-inner { width: calc(100% - 70px); }
    .olivia-footer-decoration { width: 290px; }
    .olivia-contact-info { padding-right: 160px; }
    .olivia-footer-brand-name { font-size: 45px; }
}

@media (max-width: 991px) {
    .olivia-footer-main { padding-top: 55px; padding-bottom: 60px; }
    .olivia-footer-container { width: calc(100% - 50px); }
    .olivia-footer-decoration { width: 250px; top: 170px; right: -55px; opacity: 0.7; }
    .olivia-footer-brand { margin-bottom: 55px; }
    .olivia-footer-brand-name { font-size: 40px; }
    .olivia-footer-brand-subtitle { font-size: 30px; }
    .olivia-footer-content { grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); column-gap: 35px; }
    .olivia-section-title { font-size: 34px; }
    .olivia-contact-info { padding-left: 35px; padding-right: 100px; }
    .olivia-contact-item a, .olivia-contact-item span { font-size: 16px; }
    .olivia-footer-bottom-inner { width: calc(100% - 50px); }
    .olivia-footer-nav a { padding: 0 10px; font-size: 14px; }
}

@media (max-width: 767px) {
    .olivia-footer-main { min-height: auto; padding: 45px 0 50px; }
    .olivia-footer-container { width: calc(100% - 36px); }
    .olivia-footer-brand { margin-bottom: 45px; }
    .olivia-footer-brand-name { font-size: 31px; letter-spacing: -0.8px; }
    .olivia-footer-brand-subtitle { margin-top: 7px; font-size: 25px; }
    .olivia-footer-decoration { width: 210px; top: 185px; right: -105px; opacity: 0.55; }
    .olivia-footer-content { display: block; }
    .olivia-contact-form { max-width: none; }
    .olivia-section-title { font-size: 31px; margin-bottom: 26px; }
    .olivia-form-row { grid-template-columns: 1fr; gap: 14px; margin-bottom: 14px; }
    input.olivia-form-control { height: 54px; }
    textarea.olivia-form-control { min-height: 135px; }
    .olivia-message-field { margin-top: 14px; }
    .olivia-contact-info { min-height: auto; margin-top: 55px; padding: 45px 0 0; border-left: 0; border-top: 1px solid rgba(191, 93, 107, 0.25); }
    .olivia-contact-info .olivia-section-title { margin-bottom: 30px; }
    .olivia-contact-item { margin-bottom: 22px; }
    .olivia-social-links { margin-top: 28px; margin-bottom: 38px; }
    .olivia-service-note { font-size: 15px; }
    .olivia-footer-bottom-inner { width: calc(100% - 36px); min-height: auto; padding: 20px 0; display: flex; flex-direction: column; gap: 17px; text-align: center; }
    .olivia-copyright { font-size: 13px; }
    .olivia-footer-nav { justify-content: center; }
    .olivia-footer-nav a { padding: 4px 9px; font-size: 13px; }
}

@media (max-width: 480px) {
    .olivia-footer-container { width: calc(100% - 28px); }
    .olivia-footer-brand-name { font-size: 27px; }
    .olivia-footer-brand-subtitle { font-size: 22px; }
    .olivia-section-title { font-size: 28px; }
    .olivia-footer-decoration { width: 180px; right: -90px; top: 190px; }
    .olivia-contact-info { margin-top: 45px; padding-top: 38px; }
    .olivia-contact-item a, .olivia-contact-item span { font-size: 15px; }
    .olivia-footer-nav a { font-size: 12px; padding-left: 7px; padding-right: 7px; }
}


/* ===== HERO ===== */
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; padding: 150px 24px 120px; }
.hero .services-cta{margin-bottom: 0;}

.hero__bg { position: absolute; inset: 0; z-index: 0; }

.hero__bg-img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }

.hero__content { position: relative; z-index: 1; max-width: 80%; }

.hero__badge { font-family: 'Castle'; font-size: 18px; letter-spacing: 1px; color: var(--white); border: 1px solid rgba(250, 169, 94, 0.4); display: inline-block; padding: 9px 27px; margin-bottom: 32px; border-radius: 40px; font-weight: 300; }

.hero__title { font-family: 'Juana'; font-size: 52px; font-weight: 300; line-height: 1.1; color: var(--white); margin-bottom: 28px; }

.hero__title em { font-style: italic; color: var(--accent-gold); }

.hero__sub { font-size: 20px; font-weight: 300; color: rgba(255,255,255,0.8); line-height: 1.7; margin-bottom: 40px; width: 70%;margin: auto;}

html { scroll-behavior: smooth; }

body { background: var(--bg-purple); color: var(--white); font-family: var(--font-body); font-size: 19px; line-height: 1.6; -webkit-font-smoothing: antialiased; }

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

ul { list-style: none; }

.wrap { max-width: 1320px; margin: 0 auto; padding: 0px; }

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 300;
  text-transform: capitalize;
  line-height: 1.12;
}

/* Tablet */
@media (max-width: 991px) {
  h1, h2, h3 {
    line-height: 1.15;
  }

  h1 {
    font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
  }

  h2 {
    font-size: clamp(1.875rem, 4vw, 2.75rem) !important;
  }

  h3 {
    font-size: clamp(1.5rem, 3vw, 2.125rem) !important;
  }
}

/* Mobile */
@media (max-width: 575px) {
  h1, h2, h3 {
    line-height: 1.18;
  }

  h1 {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
  }

  h2 {
    font-size: clamp(1.625rem, 7vw, 2.25rem) !important;
  }

  h3 {
    font-size: clamp(1.375rem, 6vw, 1.875rem) !important;
  }
}

em, .italic { font-style: italic; color: var(--accent-gold); font-weight: 400; }

.eyebrow { display: inline-flex; align-items: center; justify-content: center; padding: 14px 30px; background: rgba(67,26,39,0.32); border: 1px solid var(--white); border-radius: 50px; font-family: var(--font-body); font-size: 19px; letter-spacing: .3px; color: var(--white); }

.eyebrow.gold { color: var(--accent-amber); }

.btn:hover { transform: translateY(-2px); }

.btn-ghost { background: transparent; color: var(--white); }

.btn-ghost:hover { background: rgba(255,255,255,0.08); }

.btn-full { width: 100%; }

.section {margin: 110px 0 0 0;}

.section-tight { padding: 70px 0; }

.center { text-align: center; }

.kicker-row { display: flex; justify-content: left; margin-bottom: 26px; }

hr.rule { border: none; border-top: 1px solid rgba(255,255,255,0.25); margin: 26px 0; width: 100%; }

/* ---------- Meet section ---------- */
.meet { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 60px; align-items: center; border: 2px solid rgba(250, 169, 94, 0.4); border-radius: 25px; }
.meet-media img { border-radius: 20px; width: 100%; object-fit: cover; max-height: 820px; }
.meet-copy .eyebrow-word { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-amber); font-size: 30px; letter-spacing: 1.5px; display: block; margin-bottom: 14px; }
.meet-copy h2 { font-size: 52px; margin-bottom: 26px; font-weight: 300; font-style: normal; }
.meet-copy p { margin-bottom: 16px; color: var(--white); font-size: 20px; font-weight: 300; }
.meet-copy .learn-more { display: inline-flex; align-items: center; color: #FAA95E; margin-top: 10px; font-size: 18px; padding-bottom: 2px; font-weight: 100; }
@media (max-width: 900px) { .meet { grid-template-columns: 1fr; } }

  /* ---------- Support (services) ---------- */
.support-head { max-width: 900px; margin: 0 auto 70px; }

.support-head p { color: var(--white); font-size: 18px; margin-top: 20px; }

.services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }

.service {position: relative; padding: 44px 26px 0; text-align: center; display: flex; flex-direction: column; align-items: center; }

.services .service:first-child { border-left: none; }

.service .icon { width: 120px; height: 120px; margin-bottom: 22px; }

.service:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    height: 330px;
    width: 1px;
    margin: auto;
    background: linear-gradient(
        rgba(250, 169, 94, 0),
        rgba(250, 169, 94, 0.75) 50%,
        rgba(250, 169, 94, 0.25) 19%,
        rgba(250, 169, 94, 0.18) 50%,
        rgba(250, 169, 94, 0.25) 50%,
        rgba(250, 169, 94, 0.75) 50%,
        rgba(250, 169, 94, 0)
    );
}

.service h3 { font-size: 26px; margin-bottom: 16px; min-height: 64px; }

.service p { color: var(--muted-taupe); font-size: 19px; max-width: 300px; }

.services-cta { display: flex; justify-content: center; margin: 60px 0 100px; }

@media (max-width: 900px) { .services { grid-template-columns: 1fr; } .service { border-left: none; padding-top: 36px; } .services .service:first-child { border-top: none; } }
@media (min-width: 320px) and (max-width: 900px) {
    .service:not(:last-child)::after {
        display: none;
    }
}

/* ================APPROACH / WHY THIS APPROACH WORKS======================= */
#approach { width: 100%; background: #210812; color: var(--white); padding: 0; }

#approach > div { width: 100%; }

.approach-panel { width: 100%; max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; background: transparent; border-radius: 0; padding: 50px 0 80px; gap: 0; align-items: center; }

.approach-copy { padding: 0 80px 0 0; }

.kicker-row { display: flex; align-items: center; justify-content: flex-start; margin-bottom: 30px; }

.approach-copy .eyebrow { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 36px; border: 1px solid rgba(235, 206, 190, 0.75); border-radius: 999px; font-weight: 300; color: #c98648; font-size: 16px; line-height: 1; letter-spacing: 0.01em; }

.approach-copy h2 { margin: 0 0 36px; font-family: var(--font-display); font-size: 52px; line-height: 1.02; font-weight: 300; letter-spacing: -0.025em; text-transform: none; color: #f8eee8; }

.approach-copy h2 em { color: var(--accent-gold); font-weight: 300; }

.approach-copy > p { max-width: 665px; margin: 0 0 24px; color: #e7ddd8; font-family: var(--font-body, sans-serif); font-size: 18px; line-height: 1.48; font-weight: 300; }

.approach-copy > p:last-child { margin-bottom: 0; }


/* =========================================================
   CENTER DIVIDER
========================================================= */

.approach-side { position: relative; padding: 0 0 20px 96px; display: flex; flex-direction: column; justify-content: center; }

.approach-side::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; height: 340px; margin: auto; width: 1px; background: linear-gradient(to bottom, rgba(250, 169, 94, 0), rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0.25) 19%, rgba(250, 169, 94, 0.18) 50%, rgba(250, 169, 94, 0.25) 50%, rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0)); }

.approach-side > p { max-width: 610px; margin: 0 0 42px; color: #e7ddd8; font-family: var(--font-body, sans-serif); font-size: 18px; line-height: 1.45; font-weight: 300; }

.approach-points { display: flex; flex-direction: column; gap: 42px; width: 100%; }

.approach-point { display: flex; align-items: flex-start; gap: 32px; width: 100%; }

.approach-icon { width: 76px; height: 76px; flex: 0 0 76px; display: flex; align-items: center; justify-content: center; }

.approach-icon img { width: 76px; height: 76px; display: block; object-fit: contain; }

.approach-content { flex: 1; min-width: 0; padding-top: 1px; }

.approach-content h4 { margin: 0 0 8px; color: var(--white); font-family: var(--font-display); font-size: 25px; font-weight: 300; }

.approach-content p { max-width: 440px; margin: 0; color: #967d76; font-family: var(--font-display, "Juana", serif); font-size: 17px; line-height: 1.4; font-weight: 300; }

/* =========================================================
   LISTEN WITHIN / VIDEO SECTION
========================================================= */

.listen-section { width: 100%; margin: 0; padding: 0; background: #16070d; overflow: hidden; }

.listen-video { position: relative; width: 100%; aspect-ratio: 2 / 1; min-height: 480px; overflow: hidden; background: #16070d; }

.listen-video-media { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; background: #16070d; }

.listen-overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(12, 4, 7, 0.05) 0%, rgba(12, 4, 7, 0.08) 38%, rgba(12, 4, 7, 0.28) 58%, rgba(12, 4, 7, 0.72) 100%); }

.listen-video::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(to bottom, transparent 65%, rgba(10, 3, 6, 0.32) 100%); }

.listen-content { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; padding: 40px 8%; }

.listen-play-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; padding: 0; border: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; background-color: var(--white) !important; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease; }

.listen-play-btn:hover { transform: translate(-50%, -50%) scale(1.08); background: rgba(255, 255, 255, 0.9); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.28); }

.listen-play-btn svg { width: 27px; height: 27px; margin-left: 4px; fill: #241016; }

.listen-text { position: absolute; right: 8%; top: 50%; transform: translateY(-50%); width: min(450px, 42%); }

.listen-text h2 { margin: 0; display: flex; flex-direction: column; color: #f7eee8; font-family: var(--font-display, "Juana", serif); font-size: 52px; line-height: 0.98; font-weight: 300; letter-spacing: -0.025em; }

.listen-text h2 span { display: block; color: #f8eee8; }

.listen-text h2 em { display: block; color: var(--accent-gold); font-style: italic; font-weight: 300; margin: 4px 0; }

.listen-video.is-playing .listen-play-btn { opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(0.8); }

@media (max-width: 1100px) { .listen-video { min-height: 430px; } .listen-content { padding: 35px 6%; } .listen-text { right: 6%; width: 43%; } .listen-text h2 { font-size: clamp(32px, 4.5vw, 48px); } .listen-play-btn { width: 64px; height: 64px; } .listen-play-btn svg { width: 24px; height: 24px; } }

@media (max-width: 767px) { .listen-video { aspect-ratio: 1 / 1.08; min-height: 0; } .listen-video-media { object-position: 35% center; } .listen-overlay { background: linear-gradient(180deg, rgba(10, 3, 6, 0.05) 0%, rgba(10, 3, 6, 0.18) 45%, rgba(10, 3, 6, 0.78) 100%); } .listen-content { padding: 30px 24px; } .listen-play-btn { top: 46%; width: 62px; height: 62px; } .listen-play-btn svg { width: 23px; height: 23px; } .listen-text { right: 24px; left: 24px; bottom: 35px; top: auto; transform: none; width: auto; text-align: left; } .listen-text h2 { font-size: clamp(34px, 9vw, 44px); line-height: 0.98; } }

@media (max-width: 480px) { .listen-video { aspect-ratio: 0.88 / 1; } .listen-text { right: 20px; left: 20px; bottom: 25px; } .listen-text h2 { font-size: 33px; } .listen-play-btn { width: 58px; height: 58px; } }

#approach { width: 100%; background: #210812; color: var(--white); padding: 0; }
#approach > div { width: 100%; }

.approach-panel { width: 100%; max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; background: transparent; border-radius: 0; padding: 50px 0 80px; gap: 0; align-items: center; }

.approach-copy { padding: 0 80px 0 0; }

.kicker-row { display: flex; align-items: center; justify-content: flex-start; margin-bottom: 30px; }

.approach-copy .eyebrow { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 36px; border: 1px solid rgba(235, 206, 190, 0.75); border-radius: 999px; font-weight: 300; color: #c98648; font-size: 16px; line-height: 1; letter-spacing: 0.01em; }

.approach-copy h2 { margin: 0 0 36px; font-family: var(--font-display); font-size: 52px; line-height: 1.02; font-weight: 300; letter-spacing: -0.025em; text-transform: none; color: #f8eee8; }

.approach-copy h2 em { color: var(--accent-gold); font-weight: 300; }

.approach-copy > p { max-width: 665px; margin: 0 0 24px; color: #e7ddd8; font-family: var(--font-body, sans-serif); font-size: 18px; line-height: 1.48; font-weight: 300; }

.approach-copy > p:last-child { margin-bottom: 0; }

.approach-side { position: relative; min-height: auto; padding: 0 0 20px 96px; display: flex; flex-direction: column; justify-content: center; }

.approach-side::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; height: 340px; margin: auto; width: 1px; background: linear-gradient(to bottom, rgba(250, 169, 94, 0), rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0.25) 19%, rgba(250, 169, 94, 0.18) 50%, rgba(250, 169, 94, 0.25) 50%, rgba(250, 169, 94, 0.75) 50%, rgba(250, 169, 94, 0)); }

.approach-side > p { max-width: 610px; margin: 0 0 42px; color: #e7ddd8; font-family: var(--font-body, sans-serif); font-size: 18px; line-height: 1.45; font-weight: 300; }

.approach-points { display: flex; flex-direction: column; gap: 42px; width: 100%; }

.approach-point { display: flex; align-items: flex-start; gap: 32px; width: 100%; }

.approach-icon { width: 76px; height: 76px; flex: 0 0 76px; display: flex; align-items: center; justify-content: center; }

.approach-icon img { width: 76px; height: 76px; display: block; object-fit: contain; }

.approach-content { flex: 1; min-width: 0; padding-top: 1px; }

.approach-content h4 { margin: 0 0 8px; color: var(--white); font-family: var(--font-display); font-size: 25px; font-weight: 300; }

.approach-content p { max-width: 440px; margin: 0; color: #967d76; font-family: var(--font-display, "Juana", serif); font-size: 17px; line-height: 1.4; font-weight: 300; }

@media (min-width: 1400px) {
.approach-panel { max-width: 1320px; padding-top: 80px; padding-bottom: 88px; }
.approach-copy { padding-right: 88px; }
.approach-side { padding-left: 96px; }
}

@media (max-width: 1100px) {
.approach-panel { grid-template-columns: 1fr 1fr; padding: 65px 0px 70px; }
.approach-copy { padding-right: 45px; }
.approach-side { padding-left: 55px; min-height: 570px; }
.approach-copy h2 { font-size: clamp(40px, 4.7vw, 54px); }
.approach-copy > p, .approach-side > p { font-size: 17px; }
.approach-point { gap: 22px; }
.approach-icon { width: 64px; height: 64px; flex-basis: 64px; }
.approach-icon img { width: 64px; height: 64px; }
.approach-content h4 { font-size: 23px; }
.approach-content p { font-size: 16px; }
}

@media (max-width: 767px) {
#approach { overflow: hidden; }
.approach-panel { display: block; padding: 55px 22px 60px; }
.approach-copy { padding: 0; }
.kicker-row { margin-bottom: 25px; }
.approach-copy .eyebrow { min-height: 48px; padding: 0 23px; font-size: 14px; }
.approach-copy h2 { margin-bottom: 28px; font-size: clamp(38px, 10vw, 48px); line-height: 1.02; letter-spacing: -0.02em; }
.approach-copy > p { max-width: none; font-size: 16px; line-height: 1.52; margin-bottom: 20px; }
.approach-side { min-height: auto; margin-top: 48px; padding: 48px 0 0; border-left: 0; border-top: 1px solid rgba(194, 142, 111, 0.28); display: block; }
.approach-side > p { max-width: none; margin-bottom: 38px; font-size: 16px; line-height: 1.5; }
.approach-points { gap: 34px; }
.approach-point { gap: 18px; }
.approach-icon { width: 55px; height: 55px; flex: 0 0 55px; }
.approach-icon img { width: 55px; height: 55px; }
.approach-content { padding-top: 0; }
.approach-content h4 { margin-bottom: 6px; font-size: 21px; line-height: 1.2; }
.approach-content p { max-width: none; font-size: 15px; line-height: 1.4; }
}

@media (max-width: 480px) {
.approach-panel { padding: 45px 18px 52px; }
.approach-copy .eyebrow { min-height: 44px; padding: 0 19px; font-size: 13px; }
.approach-copy h2 { font-size: 36px; }
.approach-copy > p, .approach-side > p { font-size: 15.5px; }
.approach-side { margin-top: 42px; padding-top: 42px; }
.approach-point { gap: 15px; }
.approach-icon { width: 48px; height: 48px; flex-basis: 48px; }
.approach-icon img { width: 48px; height: 48px; }
.approach-content h4 { font-size: 19px; }
.approach-content p { font-size: 14px; }
}
@media only screen and (min-width: 767px) and (max-width: 1400px){
	.approach-panel { width: 90%;}
}




  /* ---------- Video / listen section ---------- */
  .listen { position: relative; border-radius: 25px; overflow: hidden; min-height: 640px; display: flex; align-items: center; }
.listen img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.listen::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,8,4,0.15) 0%, rgba(6,6,3,0.75) 60%, rgba(6,6,3,0.92) 100%); z-index: -1; }
.listen-inner { padding: 70px; display: flex; align-items: center; gap: 50px; width: 100%; justify-content: flex-end; flex-wrap: wrap; }
.play-btn { width: 100px; height: 100px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.7); display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; background: rgba(0,0,0,0.2); transition: transform .2s ease; }
.play-btn:hover { transform: scale(1.06); }
.play-btn svg { width: 34px; height: 34px; fill: var(--white); margin-left: 4px; }
.listen h2 { font-size: clamp(30px,4vw,52px); max-width: 560px; }

.shift { display: grid; grid-template-columns: 1fr 0.85fr; gap: 70px; align-items: start; }
.shift-copy h2 { font-size: 52px; margin-bottom: 28px; }
.shift-copy > p { color: #e7ddd8; font-size: 20px; margin-bottom: 10px; max-width: 640px; }
.shift-list { margin: 0 0 22px 0; }
.shift-item { display: flex; align-items: center; gap: 18px; padding: 12px 0 0 0; font-size: 20px; }
.shift-media { border: 1px solid transparent; border-radius: 25px; background: linear-gradient(#150710, #150710) padding-box, linear-gradient(90deg, #B83F61 0%, #FAA95E 48%, #B83F61 100%) border-box; padding: 10px; }
.shift-item img { width: 34px; height: 34px; flex-shrink: 0; }
.quote-box { border-left: 2px solid var(--accent-amber); padding-left: 24px; margin: 20px 0; }
.quote-box p { font-family: var(--font-display); font-style: italic; font-size: 22px; margin-bottom: 8px; color: var(--accent-amber); }
.quote-box p:first-child { color: var(--white); }
.shift-media img { border-radius: 25px; width: 100%; }

@media (max-width: 1400px) { .shift { width: 90%;} }
@media (max-width: 900px) { .shift { grid-template-columns: 1fr; width: 90%;} }

.changes-section { width: 100%; padding: 100px 30px 80px;}
.changes-wrap { width: 100%; max-width: 1320px; min-height: 746px; margin: 0 auto; padding: 88px 70px 72px; box-sizing: border-box; border: 1px solid transparent; border-radius: 25px; background: linear-gradient(#150710, #150710) padding-box, linear-gradient(90deg, #B83F61 0%, #FAA95E 48%, #B83F61 100%) border-box; }
.changes-head { width: 100%; text-align: center; }
.changes-head h2 { margin: 0; padding: 0; font-size: 52px; line-height: 1.15; font-weight: 400; color: var(--white, #ffffff); }
.changes-head h2 span { color: var(--white, #ffffff); }
.changes-head h2 em { color: var(--accent-gold); font-weight: 400; padding: 0 15px 0 9px; }
.changes-head p { max-width: 900px; margin: 27px auto 0; font-size: 18px; line-height: 1.45; font-weight: 300; text-align: center; }

.changes-grid { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); width: 100%; margin-top: 48px; padding: 0; align-items: start; }
.changes-grid::before { content: ""; position: absolute; top: 52px; left: 9%; right: 9%; height: 1px; background: linear-gradient(90deg, rgba(190, 49, 91, 0.55), rgba(222, 151, 84, 0.55), rgba(190, 49, 91, 0.55)); z-index: 0; }

.change { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; z-index: 1; }
.change-icon { width: 106px; height: 106px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(217, 132, 72, 0.85); background: radial-gradient(circle at center, rgba(87, 19, 37, 0.35) 0%, rgba(28, 8, 18, 0.95) 70%); box-sizing: border-box; }
.change-icon img { width: 100px; height: 100px; object-fit: contain; display: block; }
.change > p { width: 100%; margin: 25px 0 0; color: #ddd3d6; font-size: 22px; line-height: 1.25; font-weight: 300; text-align: center; }

.changes-foot { max-width: 1080px; margin: 69px auto 0; color: #d9cfd2; font-size: 18px; line-height: 1.5; font-weight: 300; text-align: center; }

.changes-cta { display: flex; justify-content: center; margin-top: 34px; }
.changes-cta a { display: inline-flex; align-items: center; justify-content: center; min-width: 206px; height: 51px; padding: 0 22px; box-sizing: border-box; border: 1px solid #d9786c; border-radius: 6px; background: transparent; color: #ffffff; font-size: 16px; line-height: 1; font-weight: 500; text-decoration: none; text-transform: uppercase; transition: all 0.3s ease; }
.changes-cta a:hover { background: #ffffff; color: #000000; }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) { .changes-section { padding: 40px 20px; } .changes-wrap { padding: 65px 35px 60px; } .changes-head h2 { font-size: 44px; } .changes-head p { font-size: 18px; } .changes-grid { gap: 10px; } .change-icon { width: 95px; height: 95px; } .change-icon img { width: 55px; height: 55px; } .change > p { font-size: 17px; } .changes-foot { font-size: 18px; } }

@media (max-width: 767px) { .changes-section { padding: 25px 12px; } .changes-wrap { min-height: auto; padding: 50px 18px 50px; border-radius: 16px; } .changes-head h2 { font-size: 34px; line-height: 1.2; } .changes-head p { margin-top: 20px; font-size: 17px; line-height: 1.5; } .changes-grid { grid-template-columns: repeat(2, 1fr); gap: 42px 10px; margin-top: 45px; } .changes-grid::before { display: none; } .change-icon { width: 92px; height: 92px; } .change-icon img { width: 53px; height: 53px; } .change > p { margin-top: 18px; font-size: 16px; line-height: 1.4; } .changes-foot { margin-top: 50px; font-size: 17px; line-height: 1.55; } .changes-cta { margin-top: 28px; } .changes-cta a { min-width: 200px; height: 48px; font-size: 11px; } }

@media (max-width: 480px) { .changes-wrap { padding: 42px 14px 45px; } .changes-head h2 { font-size: 29px; } .changes-head p { font-size: 16px; } .changes-grid { gap: 38px 5px; } .change-icon { width: 82px; height: 82px; } .change-icon img { width: 48px; height: 48px; } .change > p { font-size: 15px; } .changes-foot { font-size: 16px; } }


  /* ---------- Testimonials ---------- */
 /* =========================================================
   TESTIMONIAL SECTION
========================================================= */

.testimonials-section {
    width: 100%;
    padding: 80px 0 120px;

    background: #270b1b;

    overflow: hidden;

    border-radius: 0 0 18px 18px;
}


.testimonials-wrap {
    width: 100%;
    max-width: 1320px;

    margin: 0 auto;

    padding: 0 22px;

    box-sizing: border-box;
}


/* =========================================================
   HEADING
========================================================= */

.testi-head {
    text-align: center;
}


/* Top 5 Stars */

.testi-top-stars {
    margin-bottom: 25px;

    color: #c83d68;

    font-size: 32px;
    line-height: 1;

    letter-spacing: 2px;
}


/* Heading */

.testi-head h2 {
    margin: 0;

    color: #ffffff;

    font-size: 52px;
    line-height: 1.15;
    font-weight: 300;

    text-transform: none;
}


.testi-head h2 span {
    color: #ffffff;
}


.testi-head h2 em {
    color: var(--accent-gold);
    font-weight: 400;
padding: 0 15px 0 8px;
}


/* =========================================================
   THREE CIRCLE DIVIDER
========================================================= */

.testi-divider {
    position: relative;

    width: 520px;
    height: 32px;

    margin: 28px auto 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;
}


.testi-divider::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;

    top: 50%;

    height: 1px;

    transform: translateY(-50%);

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(211, 145, 76, 0.25) 15%,
        rgba(211, 145, 76, 0.5) 50%,
        rgba(211, 145, 76, 0.25) 85%,
        transparent 100%
    );
}


.testi-divider span {
    position: relative;

    width: 22px;
    height: 22px;

    margin: 0 -1px;

    border: 1px solid #c88b3e;

    border-radius: 50%;

    background: #270b1b;

    box-sizing: border-box;

    z-index: 2;
}


/* =========================================================
   SLIDER
========================================================= */

.testi-slider {
    position: relative;

    width: 100%;

    margin-top: 43px;

    display: flex;
    align-items: center;
}


.testi-viewport {
    width: 100%;

    overflow: hidden;
}


.testi-track {
    display: flex;

    gap: 34px;

    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);

    will-change: transform;
}


/* =========================================================
   TESTIMONIAL CARD
========================================================= */

.testi-card {
    flex: 0 0 calc((100% - 68px) / 3);

    min-height: 332px;

    padding: 39px 40px 35px;

    border: 1px solid #a9345b;

    border-radius: 20px;

    background: rgba(31, 6, 22, 0.72);

    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}


/* Quote */

.quote-mark {
    height: 56px;

    color: #c53b68;

    font-family: Georgia, serif;

    font-size: 62px;
    line-height: 0.9;
    font-weight: 700;
}


/* Message */

.testi-card .msg {
    max-width: 300px;

    min-height: 95px;

    margin: 5px auto 0;

    color: #ddd1d7;

    font-size: 20px;
    line-height: 1.43;
    font-weight: 300;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* Stars inside card */

.card-stars {
    margin-top: 14px;

    color: #c83d68;

    font-size: 27px;
    line-height: 1;

    letter-spacing: 1px;
}


/* Name */

.testi-card .name {
    margin: 10px 0 0;
    color: #ffffff;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 300;
    font-family: 'Juana';
}


/* =========================================================
   LEFT / RIGHT ARROWS
========================================================= */

.testi-arrow {
    position: absolute;

    top: 50%;

    width: 45px;
    height: 45px;

    margin-top: -4px;

    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #270b1b;

    color: #ffffff;

    font-family: Arial, sans-serif;

    font-size: 36px;
    line-height: 1;
    font-weight: 300;

    cursor: pointer;

    z-index: 9;
	border-color: #ffffff !important;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}


.testi-prev {
    left: -22px;

    border: 1px solid #9e9aa0;
}


.testi-next {
    right: -22px;

    border: 1px solid #e3a05f;

    color: #e3a05f;
}


.testi-arrow:hover {
    background: #351024;
}


.testi-prev:hover {
    color: #ffffff;
    border-color: #ffffff;
}


.testi-next:hover {
    color: #ffffff;
    border-color: #ffffff;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .testimonials-section {
        padding: 85px 0 95px;
    }

    .testi-head h2 {
        font-size: 44px;
    }

    .testi-divider {
        width: 430px;
    }

    .testi-card {
        flex-basis: calc((100% - 34px) / 2);

        padding-left: 25px;
        padding-right: 25px;
    }

    .testi-track {
        gap: 34px;
    }

    .testi-prev {
        left: -15px;
    }

    .testi-next {
        right: -15px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .testimonials-section {
        padding: 70px 0 75px;
    }

    .testimonials-wrap {
        padding: 0 20px;
    }

    .testi-top-stars {
        font-size: 26px;

        margin-bottom: 20px;
    }

    .testi-head h2 {
        font-size: 34px;

        line-height: 1.2;
    }

    .testi-divider {
        width: 260px;

        margin-top: 22px;
    }

    .testi-divider span {
        width: 19px;
        height: 19px;
    }

    .testi-slider {
        margin-top: 35px;
    }

    .testi-card {
        flex: 0 0 100%;

        min-height: 330px;

        padding: 38px 28px 32px;

        border-radius: 18px;
    }

    .testi-card .msg {
        max-width: 320px;

        font-size: 18px;
    }

    .card-stars {
        font-size: 24px;
    }

    .testi-card .name {
        font-size: 26px;
    }

    .testi-prev {
        left: -12px;
    }

    .testi-next {
        right: -12px;
    }

    .testi-arrow {
        width: 42px;
        height: 42px;

        font-size: 32px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .testimonials-section {
        padding: 55px 0 65px;
    }

    .testimonials-wrap {
        padding: 0 15px;
    }

    .testi-top-stars {
        font-size: 23px;
    }

    .testi-head h2 {
        font-size: 29px;
    }

    .testi-divider {
        width: 220px;
    }

    .testi-card {
        min-height: 315px;

        padding: 32px 20px 28px;
    }

    .quote-mark {
        font-size: 55px;
    }

    .testi-card .msg {
        font-size: 17px;
    }

    .testi-card .name {
        font-size: 24px;
    }

    .testi-prev {
        left: -10px;
    }

    .testi-next {
        right: -10px;
    }
}

/* =====READY TO BEGIN===== */

.ready-begin-section {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 20px;
    box-sizing: border-box;
	margin-top: 100px;
}
.ready-begin-section .ready-begin-image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.ready-begin-content {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 5.5%;
    width: 43%;
    max-width: 550px;
    transform: translateY(-50%);
    box-sizing: border-box;
}
.ready-begin-title {
    margin: 0;
    padding: 0;
    font-size: clamp(34px, 4vw, 51px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1.8px;
    color: #f8f0f1;
}
.ready-begin-title .begin-word {
    color: var(--accent-gold);
}
.ready-begin-divider {
    width: 199px;
    height: 1px;
    margin-top: 31px;
    margin-bottom: 31px;
    background: #a94d60;
}

.ready-begin-text {
    margin: 0 0 25px;
    padding: 0;
    font-size: clamp(14px, 1.4vw, 18px);
    font-weight: 300;
    line-height: 1.42;
    color: rgba(245, 235, 238, 0.78);
    letter-spacing: -0.1px;
}

.ready-begin-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 182px;
    height: 52px;
    margin-top: 8px;
    padding: 0 20px;
    box-sizing: border-box;
    border: 1px solid #c95b6a;
    border-radius: 5px;
    background: transparent;
    color: #f5ebed;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ready-begin-button:hover {
    background: rgba(201, 91, 106, 0.12);
    border-color: #e9a45c;
    color: #e9a45c;
    transform: translateY(-1px);
}

@media (max-width: 1200px) {

    .ready-begin-content {
        right: 5%;
        width: 44%;
        max-width: 500px;
    }

    .ready-begin-divider {
        margin-top: 23px;
        margin-bottom: 23px;
    }

    .ready-begin-text {
        margin-bottom: 18px;
    }

    .ready-begin-button {
        width: 170px;
        height: 48px;
    }
}

@media (max-width: 991px) {

    .ready-begin-section {
        width: calc(100% - 30px);
        border-radius: 16px;
    }
    .ready-begin-content {
        right: 5%;
        width: 45%;
        max-width: 430px;
    }
    .ready-begin-title {
        font-size: clamp(28px, 4.2vw, 37px);
        letter-spacing: -1px;
    }
    .ready-begin-divider {
        width: 150px;

        margin-top: 17px;
        margin-bottom: 17px;
    }
    .ready-begin-text {
        font-size: 13px;
        line-height: 1.4;
        margin-bottom: 12px;
    }
    .ready-begin-button {
        width: 155px;
        height: 43px;
        font-size: 12px;
    }
}

@media (max-width: 767px) {

    .ready-begin-section {
        position: relative;
        width: calc(100% - 24px);
        max-width: none;
        height: 350px;
        border-radius: 14px;
        overflow: hidden;
    }
    .ready-begin-section .ready-begin-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: 78% center;
    }
    .ready-begin-content {
        position: absolute;
        top: 50%;
        right: 8%;
        left: 8%;
        width: auto;
        max-width: none;
        transform: translateY(-50%);
    }
    .ready-begin-title {
        font-size: clamp(28px, 7vw, 35px);

        line-height: 1.05;

        letter-spacing: -1px;
    }
    .ready-begin-divider {
        width: 145px;

        margin-top: 17px;
        margin-bottom: 18px;
    }
    .ready-begin-text {
        font-size: 13px;

        line-height: 1.5;

        margin-bottom: 15px;
    }
    .desktop-break {
        display: none;
    }
    .ready-begin-button {
        width: 160px;
        height: 45px;

        margin-top: 4px;

        font-size: 12px;
    }
}
@media (max-width: 480px) {

    .ready-begin-section {

        width: calc(100% - 16px);

        height: 350px;

        border-radius: 12px;
    }
    .ready-begin-section .ready-begin-image {

        object-position: 80% center;
    }
    .ready-begin-content {

        top: 50%;

        right: 7%;
        left: 7%;
    }
    .ready-begin-title {
        font-size: 28px;
    }
    .ready-begin-divider {
        width: 120px;

        margin-top: 14px;
        margin-bottom: 15px;
    }
    .ready-begin-text {
        font-size: 12px;
        line-height: 1.48;

        margin-bottom: 12px;
    }.ready-begin-button {
        width: 150px;
        height: 42px;

        font-size: 11px;
    }
}


  /* ---------- Newsletter ---------- */
  .newsletter{
    border-radius:25px;
    padding:60px 40px;
    text-align:center;
	border: 1px solid transparent;
    border-radius: 25px;
    background: linear-gradient(#150710, #150710) padding-box, linear-gradient(90deg, #B83F61 0%, #FAA95E 48%, #B83F61 100%) border-box;
  }
  .newsletter h2{font-size:52px; margin-bottom:22px;}
  .newsletter > p{max-width:900px; margin:0 auto 50px; color:var(--white); font-size:18px;}
  .newsletter form{
    display:flex; gap:20px; max-width:820px; margin:0 auto; flex-wrap:wrap; justify-content:center;
  }
#newsletterEmail{padding: 0 !important;}
  .field{
    flex: 1 1 450px;
    border-bottom: 1px solid var(--white);
    border-radius: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 60px;
  }
  .field label{
    font-size:13px; letter-spacing:.5px; text-transform:uppercase; color:var(--muted-grey); margin-bottom:2px;
  }
  .field input, .field textarea{
    background:none; border:none; outline:none; color:var(--white);
    font-family:var(--font-body); font-size:18px; width:100%;
  }
  .field textarea{resize:vertical; min-height:60px; padding-top:8px;}
  .newsletter-submit{align-self:stretch;}

  

  @media (max-width:600px){
    .section{padding:40px 0;}
    .wrap{margin:0 22px;padding: 20px;}
    body{font-size:17px;}
  }


<!-- ABOUT -->
.about-section {width: 100%;background: var(--bg-purple);padding: 132px 0 82px;overflow: hidden;}
.about-box {width: 100%;min-height: 420px;position: relative;display: grid;grid-template-columns: 40% 60%;align-items: center;border: 1px solid var(--border-rose);border-radius: 17px;box-sizing: border-box;}
.about-image {width: 100%;height: 100%;position: relative;display: flex;align-items: flex-end;justify-content: center;overflow: hidden;}
.about-image img {display: block;width: 365px;max-width: 90%;height: auto;margin-bottom: 0;}
.about-content {width: 100%;max-width: 100%;padding: 45px 60px 45px 25px;box-sizing: border-box;}
.about-label {display: block;color: var(--accent-gold);}
.about-content h2 {margin: 0;color: var(--white);font-family: var(--font-display);font-size: 40px;font-weight: 300;line-height: 1.15;letter-spacing: -0.5px;}
.about-line {width: 158px;height: 1px;background: var(--border-rose);margin: 18px 0 19px;}
.about-content p {margin: 0 0 17px;color: var(--muted-grey);}
.about-content p:last-child {margin-bottom: 0;}
.about-circle {position: absolute;width: 70px;height: 70px;object-fit: contain;top: -23px;right: -17px;z-index: 5;}

@media (max-width: 1200px) {
    .about-section .container {padding: 0 40px;}
    .about-content {padding-right: 40px;}
    .about-content h2 {font-size: 36px;}
    .about-image img {width: 340px;}
}

@media (max-width: 991px) {
    .about-section {padding: 100px 0 70px;}
    .about-section .container {padding: 0 30px;}
    .about-box {min-height: 470px;}
    .about-content {padding: 35px 30px 35px 20px;}
    .about-content h2 {font-size: 32px;}
    .about-content p {font-size: 15px;line-height: 1.35;}
    .about-image img {width: 310px;}
    .about-circle {width: 62px;height: 62px;top: -20px;right: -12px;}
}

@media (max-width: 767px) {
    .about-section {padding: 70px 0 50px;}
    .about-section .container {padding: 0 15px;}
    .about-box {display: grid;grid-template-columns: 100%;min-height: auto;}
    .about-image {height: auto;min-height: 330px;padding-top: 20px;overflow: hidden;}
    .about-image img {width: 310px;max-width: 90%;}
    .about-content {max-width: 100%;padding: 25px 25px 35px;}
    .about-label {font-size: 26px;}
    .about-content h2 {font-size: 30px;}
    .about-line {margin: 15px 0 18px;}
    .about-content p {font-size: 15px;line-height: 1.4;margin-bottom: 15px;}
    .about-circle {width: 58px;height: 58px;top: -20px;right: -10px;}
}

@media (max-width: 480px) {
    .about-section {padding: 60px 0 40px;}
    .about-section .container {padding: 0 10px;}
    .about-box {border-radius: 14px;}
    .about-image {min-height: 300px;}
    .about-image img {width: 285px;}
    .about-content {padding: 20px 20px 30px;}
    .about-label {font-size: 24px;}
    .about-content h2 {font-size: 27px;}
    .about-content p {font-size: 14px;line-height: 1.42;}
    .about-circle {width: 52px;height: 52px;top: -18px;right: -8px;}
}





/* Main section wrapper */
#meet .meet {
  position: relative;
  overflow: visible;
}

/* Circle image - top right */
#meet .about-circle {
  position: absolute;
  top: -40px;
  right: -40px;

  width: 90px;
  height: 90px;

  object-fit: contain;
  z-index: 5;

  pointer-events: none;
}

/* Keep content above/below circle as needed */
#meet .meet-media,
#meet .meet-copy {
  position: relative;
  z-index: 2;
}


/* Tablet */
@media (max-width: 991px) {
  #meet .about-circle {
    width: 120px;
    height: 120px;
    top: -50px;
    right: -30px;
  }
}


/* Mobile */
@media (max-width: 767px) {
  #meet .about-circle {
    width: 90px;
    height: 90px;
    top: -35px;
    right: -15px;
  }
}