:root {
  --surface: #fdf8f6;
  --surface-low: #f7f3f0;
  --surface-mid: #f1edeb;
  --surface-high: #e6e2df;
  --ink: #1c1b1a;
  --muted: #5e5e5e;
  --outline: #cac6bc;
  --primary: #605f52;
  --primary-soft: #f1eddd;
  --gold: #7d5800;
  --gold-bright: #f6bf5a;
  --gold-soft: #ffeacc;
  --lavender: #a18faf;
  --white: #fff;
  --shadow: 0 18px 45px rgba(28, 27, 26, 0.08);
  --shadow-soft: 0 10px 30px rgba(28, 27, 26, 0.05);
  --container: 1280px;
  --gutter: clamp(20px, 5vw, 64px);

  /* Brand color palette */
  --color-gold: #d4b67d;
  --color-lavender-gray: #a18faf;
  --color-light-gray: #e0e0e4;
  --color-gray: #9e9da6;
  --color-cream: #f1eddd;
  --color-ivory: #faefd7;
  --color-purple: #be93c1;
  --color-amber: #f6bf5a;
  --color-charcoal: #545454;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  /* padding-top: 90px; */
  background: var(--surface);
  color: var(--ink);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

body.nav-open {
  overflow: hidden;
}

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

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

button,
input,
textarea {
  font: inherit;
}

.container {
  width: min(100% - calc(var(--gutter) * 2), var(--container));
  margin: 0 auto;
}

.section {
  padding: clamp(72px, 9vw, 128px) 0;
}

.section-sm {
  padding: clamp(48px, 7vw, 88px) 0;
}

.eyebrow,
.label {
  color: var(--gold);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
}

h1 {
  font-size: clamp(3rem, 7vw, 5.25rem);
}

h2 {
  font-size: clamp(2.2rem, 4.8vw, 4rem);
}

h3 {
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
}

p {
  margin: 0;
}

.lead {
  color: var(--muted);
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  line-height: 1.75;
}

.muted {
  color: var(--muted);
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;

    border-bottom: 1px solid rgba(202, 198, 188, 0.5);
    background: rgba(253, 248, 246, 0.95);
    backdrop-filter: blur(16px);
    box-shadow: 0 10px 30px rgba(28, 27, 26, 0.05);
}


.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {

    .site-header {
        top: 46px;
    }

    #content {
        padding-top: 136px;
    }

}
.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:90px;
}


.nav-links{
    flex:1;
    display:flex;
    justify-content:center;
}

.header-actions{
    width:220px;
    display:flex;
    justify-content:flex-end;
    flex-shrink:0;
}
.brand {
  align-items: center;
  display: inline-flex;
  gap: 12px;
  min-width: max-content;

}

.brand-mark {
  align-items: center;
  background: var(--primary-soft);
  border: 1px solid var(--outline);
  border-radius: 50%;
  color: var(--gold);
  display: inline-flex;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: 1.25rem;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.brand-text{
    display:flex;
    flex-direction:column;
    line-height:1;
}
.custom-logo-link{
    display:flex;
    align-items:center;
}

.custom-logo{
    width:70px;
    height:70px;
    object-fit:contain;
}
.brand-name{
    font-family:"Libre Caslon Text",serif;
    font-size:3rem;
    font-weight:700;
    line-height:.9;
    text-transform:uppercase;
    padding-left: 10px;
    padding-bottom: 5px;    


}
.brand-sub{
    font-size:.8rem;
    letter-spacing:.15em;
    font-weight:700;
    text-transform:uppercase;
    padding-left: 10px;
    padding-bottom: 5px;
}

.nav-links {
  align-items: center;
  display: flex;
  gap: clamp(18px, 3vw, 38px);
}

.nav-links a {
  color: var(--muted);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.nav-links a:hover,
.nav-links a.active,
.dropdown-trigger.active,
.dropdown-trigger:hover,
.dropdown-trigger[aria-expanded="true"] {
  color: var(--gold);
}

.nav-links a.active {
  border-bottom: 2px solid var(--gold);
  font-weight: 800;
  padding-bottom: 6px;
}

.dropdown {
  position: relative;
}

.dropdown-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 600;
  gap: 4px;
  padding: 0;
}

.dropdown-arrow {
  flex-shrink: 0;
  transition: transform 220ms ease;
}

.dropdown-trigger[aria-expanded="true"] .dropdown-arrow {
  transform: rotate(180deg);
}

.dropdown-menu {
  background: var(--surface);
  border: 1px solid var(--outline);
  border-radius: 14px;
  box-shadow: var(--shadow);
  display: none;
  left: -18px;
  min-width: 210px;
  overflow: hidden;
  padding: 8px;
  position: absolute;
  top: calc(100% + 18px);
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu,
.dropdown.open .dropdown-menu {
  display: grid;
}

.dropdown-menu a {
  border-bottom: 0;
  border-radius: 10px;
  display: block;
  font-size: 0.92rem;
  padding: 10px 14px;
}

.dropdown-menu a:hover {
  background: var(--surface-low);
}

.header-actions {
  align-items: center;
  display: flex;
  gap: 12px;
}

.nav-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--outline);
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  display: none;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.btn {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 900;
  gap: 10px;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1;
  min-height: 48px;
  padding: 16px 26px;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.btn:hover {
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.btn-primary {
  background: var(--gold);
  color: var(--white);
}

.btn-gold {
  background: var(--gold-bright);
  color: #271900;
}

.btn-outline {
  background: transparent;
  border-color: var(--outline);
  color: var(--ink);
}

.btn-dark {
  background: var(--ink);
  color: var(--white);
}

.hero {
  min-height: calc(100vh - 80px);
  padding: clamp(54px, 7vw, 92px) 0;
}

.hero-grid,
.split {
  align-items: start;
  display: grid;
  gap: clamp(36px, 6vw, 88px);
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
}

.hero-copy,
.stack {
  display: grid;
  gap: 24px;
}

.hero-actions,
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.image-frame {
  background: var(--surface-low);
  border-radius: 24px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.image-frame img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.portrait {
  aspect-ratio: 4 / 5;
}

.wide {
  aspect-ratio: 16 / 10;
}

.square {
  aspect-ratio: 1;
}

.floating-note {
  background: rgba(253, 248, 246, 0.94);
  border: 1px solid rgba(202, 198, 188, 0.6);
  border-radius: 18px;
  bottom: -26px;
  box-shadow: var(--shadow);
  left: -26px;
  max-width: 280px;
  padding: 22px;
  position: absolute;
}

.relative {
  position: relative;
}

.cards {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  background: rgba(255, 255, 255, 0.48);
  border: 1px solid rgba(202, 198, 188, 0.45);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  padding: clamp(24px, 3vw, 36px);
}

.service-card {
  display: grid;
  gap: 20px;
}

.service-card .image-frame {
  border-radius: 18px;
  margin-bottom: 8px;
}

.link-arrow {
  align-items: center;
  color: var(--gold);
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 900;
  gap: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.band {
  background: var(--surface-mid);
}

.dark-band {
  background: var(--ink);
  color: var(--surface);
}

.dark-band .lead,
.dark-band .muted {
  color:#ffffff;

}

.stat-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stat {
  border-left: 1px solid rgba(125, 88, 0, 0.35);
  padding-left: 22px;
}

.stat strong {
  color: var(--primary);
  display: block;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 400;
  line-height: 1;
}

.feature-list {
  display: grid;
  gap: 18px;
}

.feature {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: 48px 1fr;
}

.icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 14px;
  color: var(--gold);
  display: inline-flex;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.accordion {
  border-top: 1px solid var(--outline);
}

.accordion-item {
  border-bottom: 1px solid var(--outline);
}

.accordion-trigger {
  align-items: end;
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: 30px 0;
  text-align: left;
  width: 100%;
}

.accordion-panel {
  display: none;
  padding: 0 0 36px;
}

.accordion-item.open .accordion-panel {
  display: block;
}

.accordion-icon {
  color: var(--gold);
  font-size: 2rem;
  line-height: 1;
}

.mini-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}

.timeline {
  display: grid;
  gap: 28px;
}

.step {
  display: grid;
  gap: 18px;
  grid-template-columns: 42px 1fr;
}

.step-number {
  align-items: center;
  background: var(--primary);
  border-radius: 50%;
  color: var(--white);
  display: inline-flex;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}



.faq details {
  background: var(--white);
  border: 1px solid rgba(202, 198, 188, 0.5);
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
  margin-bottom: 14px;
  overflow: hidden;
}

.faq summary {
  cursor: pointer;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: 1.35rem;
  list-style: none;
  padding: 22px 24px;
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq details p {
  color: var(--muted);
  padding: 0 24px 24px;
}

.book-cover {
  align-items: center;
  aspect-ratio: 3 / 4;
  background: linear-gradient(145deg, #fff, var(--primary-soft));
  border: 1px solid rgba(202, 198, 188, 0.7);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  justify-items: center;
  margin: 0 auto;
  max-width: 340px;
  padding: 36px;
  text-align: center;
}

.contact-grid {
  align-items: start;
  display: grid;
  gap: 36px;
  grid-template-columns: 0.85fr 1.15fr;
}

.form {
  display: grid;
  gap: 18px;
}

.field {
  display: grid;
  gap: 8px;
}

.field label {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.field input,
.field textarea,
.field select {
  background: var(--surface-low);
  border: 1px solid rgba(202, 198, 188, 0.8);
  border-radius: 14px;
  color: var(--ink);
  min-height: 52px;
  padding: 14px 16px;
  width: 100%;
}

.field textarea {
  min-height: 150px;
  resize: vertical;
}

.blog-grid {
  display: grid;
  gap: clamp(28px, 4vw, 44px) 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}



.mockup-strip {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mockup-strip img {
  aspect-ratio: 4 / 5;
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
  object-fit: cover;
  object-position: top;
  width: 100%;
}

/* --- Logo --- */
.brand-logo-img {
  height: 38px;
  width: auto;
}

/* --- Hero accent text --- */
.hero-accent {
  color: var(--primary);
  font-style: italic;
}

/* --- Trust row (patient count strip) --- */
.trust-row {
  align-items: center;
  display: flex;
  gap: 14px;
  padding-top: 8px;
}

.trust-avatars {
  display: flex;
}

.trust-avatar {
  background: var(--surface-mid);
  border: 2px solid var(--surface);
  border-radius: 50%;
  height: 34px;
  margin-right: -10px;
  width: 34px;
}

.trust-label {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 600;
  padding-left: 10px;
}

/* --- Grid variants --- */
.split-offset {
  grid-template-columns: 0.8fr 1.2fr;
}

.cards-2col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cards-stagger {
  align-items: start;
}

.cards-stagger .service-card:nth-child(2) {
  transform: translateY(48px);
}

/* --- Video frame with play overlay --- */
.video-frame {
  position: relative;
}

.play-btn {
  align-items: center;
  background: rgba(253, 248, 246, 0.92);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 68px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: transform 220ms ease;
  width: 68px;
}

.play-btn:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.play-icon {
  border-bottom: 10px solid transparent;
  border-left: 18px solid var(--primary);
  border-top: 10px solid transparent;
  display: block;
  height: 0;
  margin-left: 3px;
  width: 0;
}

/* --- Dark band overrides --- */
.dark-band .stat strong {
  color: var(--gold-bright);
}

.dark-band .stat {
  border-left-color: rgba(246, 191, 90, 0.35);
}

.dark-band .label {
  color: rgba(253, 248, 246, 0.7);
}

.btn-outline-light {
  background: transparent;
  border-color: rgba(253, 248, 246, 0.4);
  color: var(--surface);
}

.btn-outline-light:hover {
  background: rgba(253, 248, 246, 0.1);
  box-shadow: none;
}

/* --- Practitioner bio --- */
.practitioner-bio {
  display: grid;
  gap: 4px;
}

.practitioner-name {
  color: var(--primary);
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: 1.3rem;
}

/* --- Book promo layout --- */
.book-promo {
  align-items: center;
  display: grid;
  gap: clamp(36px, 6vw, 88px);
  grid-template-columns: 1fr 0.75fr;
}

.book-visual {
  display: flex;
  justify-content: center;
}

/* --- Section centered header --- */
.section-header {
  display: grid;
  gap: 12px;
  text-align: center;
}

.star-rating{
    position:relative;
    display:inline-block;
    font-size:28px;
    line-height:1;
    margin:20px auto;
}

.stars-background{
    display:flex;
    gap:8px;
    color:#d8d8d8;
}

.stars-foreground{
    position:absolute;
    top:0;
    left:0;
    display:flex;
    gap:8px;
    color:#f6bf5a;
    width:var(--rating-width);
    overflow:hidden;
    white-space:nowrap;
}

.stars-background i,
.stars-foreground i{
    flex-shrink:0;
}

/* --- Wellness insights section --- */
.wellness-section-header {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(36px, 5vw, 60px);
}

.wellness-article {
  cursor: pointer;
  display: grid;
  gap: 16px;
}

.wellness-article-img {
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.wellness-article-img img {
  height: 100%;
  object-fit: cover;
  transition: transform 700ms ease;
  width: 100%;
}

.wellness-article:hover .wellness-article-img img {
  transform: scale(1.05);
}

.wellness-article-tag {
  color: var(--color-amber);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wellness-article h3 {
  transition: color 180ms ease;
}

.wellness-article:hover h3 {
  color: var(--primary);
}

/* --- FAQ layout --- */
.faq-layout {
  display: grid;
  gap: 48px;
  grid-template-columns: 5fr 8fr;
}

.faq-intro {
  display: grid;
  gap: 16px;
}

/* --- Footer newsletter --- */




@media (max-width: 980px) {
  .nav-links {
    background: rgba(253, 248, 246, 0.98);
    border-top: 1px solid var(--outline);
    box-shadow: var(--shadow);
    display: none;
    gap: 0;
    left: 0;
    padding: 18px var(--gutter) 28px;
    position: fixed;
    right: 0;
    top: 80px;
  }

  body.nav-open .nav-links {
    display: grid;
  }

  .nav-links a {
    border-bottom: 1px solid rgba(202, 198, 188, 0.55);
    padding: 16px 0;
  }

  .nav-links a.active {
    padding-bottom: 16px;
  }

  .dropdown {
    border-bottom: 1px solid rgba(202, 198, 188, 0.55);
    padding: 16px 0;
  }

  .dropdown-trigger {
    justify-content: space-between;
    width: 100%;
  }

  .dropdown-menu {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: none;
    margin-top: 10px;
    min-width: 0;
    padding: 0 0 0 14px;
    position: static;
  }

  .dropdown.open .dropdown-menu {
    display: grid;
  }

  .dropdown:hover .dropdown-menu {
    display: none;
  }

  .dropdown.open:hover .dropdown-menu {
    display: grid;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .header-actions .btn {
    display: none;
  }

  .hero-grid,
  .split,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .cards,
  .blog-grid,
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mini-grid,
  .mockup-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .floating-note {
    left: 16px;
  }

  .split-offset {
    grid-template-columns: 1fr;
  }

  .cards-stagger .service-card:nth-child(2) {
    transform: none;
  }

  .book-promo {
    grid-template-columns: 1fr;
  }

  .faq-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .wellness-section-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .footer-bottom-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .section {
    padding: 64px 0;
  }

  .brand-sub {
    display: none;
  }

  .hero {
    min-height: auto;
    margin-top:80px;
  }

  .hero-actions,
  .actions {
    align-items: stretch;
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }

  .cards,
  .stat-grid,
  .mini-grid,
  .blog-grid,
  .footer-grid,
  .mockup-strip {
    grid-template-columns: 1fr;
  }

  .accordion-trigger {
    align-items: start;
    gap: 18px;
  }

  .floating-note {
    display: none;
  }
}

.hero-grid{
    align-items:center;
}

.hero-visual{
    position:relative;
}

.hero-visual .image-frame{
    border-radius:32px;
    overflow:hidden;
}

.hero-visual img{
    width:100%;
    height:auto;
    display:block;
}

.floating-note{
    position:absolute;
    left:-40px;
    bottom:-40px;
    background:#fdf8f6;
    padding:28px;
    border-radius:20px;
    max-width:280px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.quote-block{
    border-left:2px solid #f6bf5a;
    padding-left:20px;
    font-family:"Libre Caslon Text",serif;
    font-size:2rem;
    line-height:1.2;
}

.trust-row{
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:25px;
}

.trust-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#e8e4df;
    display:inline-block;
    margin-right:-10px;
}

.trust-label{
    color:#666;
    font-size:14px;
}



.primary-menu,
.primary-menu ul{
    margin:0;
    padding:0;
    list-style:none;
}

.primary-menu{
    display:flex;
    align-items:center;
    gap:40px;
}

.primary-menu > li{
    position:relative;
}

.primary-menu > li > a{
    display:block;
    padding:10px 0;
    font-size:1rem;
    font-weight:600;
    color:var(--muted);
    text-transform: capitalize;
}

.primary-menu > li:hover > a{
    color:var(--gold);
}

.primary-menu .sub-menu{
    display:none;
    position:absolute;
    top:100%;
    left:-20px;
    width:260px;
    background:#fdf8f6;
    border:1px solid #cac6bc;
    border-radius:18px;
    padding:14px;
    box-shadow:0 18px 45px rgba(28,27,26,.08);
    z-index:999;
}

.primary-menu li:hover > .sub-menu{
    display:block;
}

.primary-menu .sub-menu li{
    width:100%;
}

.primary-menu .sub-menu a{
    display:block;
    padding:14px;
    border-radius:10px;
    text-transform: capitalize;
}

.primary-menu .sub-menu a:hover{
    background:#f7f3f0;
}


.site-footer{
    background:#f4f1ee;
    padding:40px 0 35px;
}

.site-footer .container{
    max-width:1280px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1.15fr;
    gap:80px;
    align-items:start;
}

.footer-brand{
    max-width:430px;
}
.footer-brand .brand{
    display:flex;
    align-items:flex-start;
    margin-bottom:20px;
}

.footer-brand .brand-text{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.footer-brand .brand-name{
    font-family:"Libre Caslon Text",serif;
    font-size:3rem;
    font-weight:700;
    text-transform:uppercase;
    line-height:.9;
}

.footer-brand .brand-sub{
    display:block;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    margin-top:6px;
}
.footer-description{
    max-width:380px;
    color:#5d6774;
    font-size:16px;
    line-height:1.7;
    margin-top:0;
}
.footer-description p{
    margin:0;
}

.footer-title{
    font-size:12px;
    font-weight:800;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#9b6b00;
    margin-bottom:24px;
}

.footer-links,
.footer-legal{
    list-style:none;
    margin:0;
    padding:0;
}

.footer-links li{
    margin-bottom:18px;
}

.footer-links a,
.footer-contact p{
    color:#5d6774;
    font-size:16px;
    line-height:1.7;
    text-decoration:none;
    text-transform: capitalize;
}

.footer-links a:hover,
.footer-legal a:hover{
    color:#111;
}

.footer-contact p{
    margin-bottom:10px;
}

.footer-newsletter p{
    color:#5d6774;
    font-size:16px;
    line-height:1.6;
    margin-bottom:18px;
    max-width:340px;
}

.footer-newsletter .wpforms-container{
    margin:0 !important;
}

.footer-newsletter .wpforms-form{
    display:grid !important;
    gap:14px !important;
}

.footer-newsletter .wpforms-field{
    padding:0 !important;
    margin:0 !important;
}

.footer-newsletter .wpforms-field-label{
    display:none !important;
}

.footer-newsletter input[type="email"]{
    width:100% !important;
    height:52px !important;
    padding:0 20px !important;
    border:1px solid #d8d2cc !important;
    border-radius:12px !important;
    background:#fff !important;
    font-size:16px !important;
    box-sizing:border-box !important;
}

.footer-newsletter input[type="email"]::placeholder{
    color:#7b7b7b;
}

.footer-newsletter button[type="submit"]{
    width:100% !important;
    height:58px !important;
    border:none !important;
    border-radius:14px !important;
    background:#757160 !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
}

.footer-newsletter button[type="submit"]:hover{
    background:#5f5c4f !important;
}

.footer-bottom{
    margin-top:60px;
    padding-top:35px;
    border-top:1px solid #d8d2cc;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-bottom p{
    margin:0;
    color:#5d6774;
    font-size:15px;
}

.footer-legal{
    display:flex;
    gap:35px;
}

.footer-legal a{
    color:#5d6774;
    text-decoration:none;
    font-size:15px;
}

@media(max-width:1000px){

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:40px;
    }

    .footer-description{
        max-width:100%;
    }

}

@media(max-width:768px){

    .site-footer{
        padding:50px 0 25px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }

    .footer-legal{
        flex-wrap:wrap;
        gap:15px;
    }
}

.video-frame{
    position:relative;
    overflow:hidden;
}

.video-wrapper{
    position:relative;
    width:100%;
    height:100%;
}

.hero-video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:32px;
}

.video-embed iframe{
    width:100%;
    min-height:500px;
    border:0;
    border-radius:32px;
}

.play-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:90px;
    height:90px;
    border:none;
    border-radius:50%;
    background:#ffffff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:5;
    transition:all .3s ease;
}

.play-btn:hover{
    transform:translate(-50%,-50%) scale(1.08);
}

.play-icon{
    width:0;
    height:0;
    border-top:14px solid transparent;
    border-bottom:14px solid transparent;
    border-left:22px solid #111111;
    margin-left:4px;
}

.video-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:32px;
}
.video-frame{
    overflow:hidden;
    border-radius:32px;
}

.hero-video{
    width:100%;
    display:block;
    border-radius:32px;
    background:#000;
}

.video-embed iframe{
    width:100%;
    min-height:450px;
    border:0;
    border-radius:32px;
}
.single-blog-post{
    padding-bottom:80px;
}

.blog-hero{
    padding:80px 0 40px;
    background:transparent;
}

.blog-hero .container{
    max-width:1100px;
    margin:0 auto;
}

.blog-meta{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:25px;

    color:#666;
    font-size:15px;
    font-weight:600;

    flex-wrap:wrap;

    text-transform:none;
    letter-spacing:0;
}

.blog-meta span{
    display:flex;
    align-items:center;
}
.blog-title{
    font-size:72px;
    line-height:1.05;
    font-weight:400;
    color:#111;
    margin:0;
}

.blog-featured-image{
    padding:30px 0 60px;
    background:#f4f1ee;
}

.blog-featured-image .container{
    max-width:1200px;
    margin:0 auto;
}

.blog-featured-image img{
    width:100%;
    height:650px;
    object-fit:cover;
    border-radius:30px;
    display:block;
}

.blog-content-section{
    padding:40px 0 0;
}

.blog-content-section .container{
    max-width:850px;
    margin:0 auto;
}

.blog-content{
    font-size:20px;
    line-height:1.9;
    color:#333;
}

.blog-content p{
    margin-bottom:24px;
}

.blog-content h2{
    font-size:42px;
    margin:60px 0 25px;
}

.blog-content h3{
    font-size:32px;
    margin:45px 0 20px;
}

.blog-content img{
    width:100%;
    height:auto;
    border-radius:24px;
    margin:40px 0;
}

.blog-content ul,
.blog-content ol{
    padding-left:25px;
    margin-bottom:25px;
}

.blog-content li{
    margin-bottom:10px;
}

@media (max-width:768px){

    .blog-title{
        font-size:42px;
    }

    .blog-featured-image img{
        height:350px;
    }

    .blog-content{
        font-size:18px;
    }

}
.form .wpcf7{
    width:100%;
}

.form .wpcf7 p{
    margin:0;
    padding:0;
}

.form .wpcf7 p:not(:last-child){
    margin-bottom:12px;
}

.form .wpcf7-form-control-wrap{
    display:block;
    margin-top:4px;
}

.form .wpcf7 label{
    display:block;
    color:#23395d;
    font-size:13px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    line-height:1;
}

.form .wpcf7 input,
.form .wpcf7 select,
.form .wpcf7 textarea{
    width:100%;
    border:1px solid #d8d3cc;
    border-radius:20px;
    background:#f8f6f3;
    box-sizing:border-box;
    font-size:16px;
    outline:none;
    transition:.3s;
}

.form .wpcf7 input,
.form .wpcf7 select{
    height:64px;
    padding:0 22px;
}

.form .wpcf7 textarea{
    height:140px;
    padding:18px 22px;
    resize:none;
}

.form .wpcf7 input:focus,
.form .wpcf7 textarea:focus,
.form .wpcf7 select:focus{
    border-color:#9c6b00;
}

.form .wpcf7-submit{
    width:100%;
    height:58px;
    margin-top:0;
    background:#9c6b00 !important;
    color:#fff !important;
    border:none !important;
    border-radius:40px !important;
    font-size:16px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
    padding:0 !important;
    transition:.3s;
}

.form .wpcf7-submit:hover{
    opacity:.9;
}

.form .wpcf7-spinner{
    display:none;
}

.form .wpcf7-response-output{
    margin:15px 0 0 !important;
}
.hero{
    position:relative;
    overflow:hidden;
    padding:120px 0 90px;
    background:#fdf8f6;
    margin-top:80px;
}

.hero::before{
    content:"";
    position:absolute;
    top:-200px;
    left:-180px;
    width:700px;
    height:700px;
    background:radial-gradient(circle,rgba(246,191,90,.18),transparent 70%);
    pointer-events:none;
}

.hero::after{
    content:"";
    position:absolute;
    top:-120px;
    right:-150px;
    width:600px;
    height:600px;
    background:radial-gradient(circle,rgba(161,143,175,.12),transparent 70%);
    pointer-events:none;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr .92fr;
    align-items:center;
    gap:85px;
    position:relative;
    z-index:2;
}

.hero-content{
    max-width:500px;
}

.hero-eyebrow{
    display:block;
    color:#9b6b00;
    font-size:14px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:30px;
}

.hero-title{
    margin:0;
    font-family:"Libre Caslon Text",serif;
    font-size:5.2rem;
    line-height:.9;
    font-weight:400;
    letter-spacing:-1px;
}

.hero-title::after{
    content:"";
    display:block;
}

.hero-title span{
    display:block;
    margin-top:8px;
    color:#757160;
    font-style:italic;
    font-weight:400;
}

.hero-description{
    max-width: 560px;
    margin-top: 38px;

    color: #5f6672;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;

    letter-spacing: -0.01em;
}
.hero-buttons{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:38px;
}

.hero-buttons .btn{
    display:flex;
    align-items:center;
    justify-content:center;

    height:52px;
    padding:0 24px;

    font-family:"Manrope",sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;

    border-radius:999px;
    white-space:nowrap;
}
.btn-primary{
    width:235px;
    background:#f2bd55;
    color:#111;
    border:none;
}
.btn-primary:hover{
    background:#eab44c;
}

.btn-secondary{
    width:200px;
    background:#fff;
    color:#111;
    border:1px solid #d9d2cb;
}

.btn-secondary:hover{
    background:#faf8f6;
}
.trust-row{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:36px;
}
.trust-label{
    font-size:16px;
    color:#5f6672;
}

.trust-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#ece8e3;
    border:2px solid #fdf8f6;
    margin-right:-10px;
}

.trust-label{
    font-size:15px;
    color:#5f6672;
}

.hero-visual{
    position:relative;
}

.hero-visual .image-frame{
    overflow:hidden;
    border-radius:36px;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
}

.hero-visual img{
    width:100%;
    height:760px;
    object-fit:cover;
    object-position:center;
    display:block;
}

.floating-note{
    position:absolute;
    left:-30px;
    bottom:-30px;
    background:#fdf8f6;
    border:1px solid #ded7cf;
    border-radius:24px;
    padding:28px;
    width:290px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.quote-block{
    border-left:2px solid #f1bc52;
    padding-left:22px;
    font-family:"Libre Caslon Text",serif;
    font-size:2.7rem;
    line-height:1.1;
    color:#5d5a52;
}
.page-hero{
    padding-top:80px;
   
}
.footer-brand .brand{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:20px;
}

.footer-brand .custom-logo-link{
    display:block;
    flex-shrink:0;
}

.footer-brand .custom-logo{
    width:90px;
    height:auto;
    display:block;
}

.footer-brand .brand-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-decoration:none;
}

.footer-brand .brand-name{
    margin:0;
    padding:0;
}

.footer-brand .brand-sub{
    margin-top:8px;
    padding:0;
}

.footer-description{
    margin-top:10px;
}


.legal-page-template{
    max-width:900px;
    margin:80px auto;
    padding:0 20px;
}

.legal-page-template h1{
    font-size:52px;
    margin-bottom:25px;
}

.legal-page-template h2{
    font-size:32px;
    margin-top:40px;
    margin-bottom:15px;
}

.legal-page-template p,
.legal-page-template li{
    font-size:18px;
    line-height:1.8;
    color:#555;
}

.legal-page-template ul{
    margin-bottom:20px;
    padding-left:20px;
}
.service-card h3 a{
    color: inherit;
    text-decoration: none;
}

.service-card h3 a:hover{
    text-decoration: none;
}

.service-card .image-frame a{
    display: block;
    width: 100%;
    height: 100%;
}

.service-card .image-frame a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.testimonial-avatar{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
    background: #ece8e3;
}
.accordion-panel .card{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;

    min-height:210px;

    padding:28px;

    border:1px solid #e3ddd7;
    border-radius:18px;

    background:#ffffff;

    box-shadow:none;

    transition:.3s;
}

.accordion-panel .card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.accordion-panel .card h3{
    font-size:20px;
    line-height:1.15;
    margin-bottom:12px;
}

.accordion-panel .card p{
    font-size:14px;
    line-height:1.7;
    color:#666;
}

.accordion-panel{
    padding-top:25px;
}
@media(max-width:992px){

    .mini-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:640px){

    .mini-grid{
        grid-template-columns:1fr;
    }

}
.accordion-panel .split{
    display:block;
}

.accordion-panel .split .image-frame{
    margin-bottom:35px;
}

.accordion-panel .split .mini-grid{
    grid-template-columns:repeat(4,1fr);
}
.section-sm .lead{
color:#ffffff;
}
.menu-item-has-children > a{
    display:flex;
    align-items:center;
}

.menu-item-has-children > a::after{
    content:"";
    display:inline-block;

    width:6px;
    height:6px;

    margin-left:8px;

    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;

    transform:rotate(45deg);
    vertical-align:middle;
}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.gallery-grid .image-frame,
.clinic-slider .image-frame{
    border-radius:20px;
    overflow:hidden;
}

.gallery-grid img,
.clinic-slider img{
    width:100%;
    height:550px;
    object-fit:cover;
    display:block;
}

.clinic-slider{
    width:100%;
    overflow:hidden;
}

.swiper-slide{
    height:auto;
}
.swiper-button-next,
.swiper-button-prev{
    color:#9b6b00 !important;
}

.swiper-button-next::after,
.swiper-button-prev::after{
    color:#9b6b00 !important;
}
.comments-area{
    max-width:850px;
    margin:80px auto;
    padding:0 20px;
}

.comments-area h2,
.comments-area h3,
.comments-area .comment-reply-title{
    font-family:"Libre Caslon Text",serif;
    font-size:48px;
    font-weight:400;
    margin-bottom:25px;
    color:#111;
}

.comments-area p{
    color:#666;
    line-height:1.8;
}

.comments-area a{
    color:#9b6b00;
    text-decoration:none;
}

.comments-area a:hover{
    text-decoration:underline;
}

.comment-list{
    list-style:none;
    padding:0;
    margin:0 0 50px;
}

.comment{
    margin-bottom:30px;
    padding-bottom:25px;
    border-bottom:1px solid #ddd;
}

.comment-body{
    padding:20px 0;
}

.comment-author{
    font-weight:700;
    margin-bottom:10px;
}

.comment-meta{
    font-size:14px;
    color:#777;
    margin-bottom:15px;
}

.comment-content{
    color:#444;
    line-height:1.8;
}

.comment-form{
    margin-top:40px;
}

.comment-form label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:700;
    color:#444;
}

.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"]{
    width:100%;
    padding:18px;
    border:1px solid #d8d3cc;
    border-radius:18px;
    background:#f8f6f3;
    box-sizing:border-box;
    margin-bottom:20px;
    font-size:16px;
    outline:none;
}

.comment-form textarea{
    min-height:180px;
    resize:vertical;
}

.comment-form textarea:focus,
.comment-form input:focus{
    border-color:#9b6b00;
}

.comment-form input[type="submit"]{
    background:#d4b67d;
    color:#111;
    border:none;
    padding:16px 34px;
    border-radius:999px;
    font-size:14px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s;
}

.comment-form input[type="submit"]:hover{
    background:#c6a86c;
}

.logged-in-as{
    margin-bottom:20px;
}

.comment-notes{
    margin-bottom:20px;
}
.map-card{
    overflow:hidden;
    border-radius:24px;
}

.map-embed{
    width:100%;
    height:300px;
}

.map-embed iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.map-content{
    padding:40px;
    text-align:center;
}
.blog-card p,
.blog-card .muted{
    cursor: default;
}

.blog-page{
    position:relative;
    background:#fdf8f6;
    overflow:hidden;
    z-index:1;
}

.blog-page::before,
.blog-page::after{
    content:"";
    position:absolute;
    pointer-events:none;
    border:1px solid rgba(0,0,0,.05);
    transform:rotate(18deg);
    z-index:-1;
}

.blog-page::before{
    width:520px;
    height:520px;
    top:60px;
    left:-320px;
}

.blog-page::after{
    width:520px;
    height:520px;
    top:250px;
    right:-320px;
}

.blog-page .blog-grid{
    position:relative;
}

.blog-page .blog-grid::before,
.blog-page .blog-grid::after{
    content:"";
    position:absolute;
    pointer-events:none;
    border:1px solid rgba(0,0,0,.04);
    z-index:-1;
}

.blog-page .blog-grid::before{
    width:420px;
    height:420px;
    left:-260px;
    bottom:150px;
    transform:rotate(-18deg);
}

.blog-page .blog-grid::after{
    width:420px;
    height:420px;
    right:-260px;
    top:200px;
    transform:rotate(18deg);
}

.blog-page .blog-hero,
.blog-page .blog-filter,
.blog-page .blog-grid,
.blog-page .pagination{
    position:relative;
    z-index:2;
}