/**
Theme Name: TDI
Author: The Digital Intellect
Author URI: https://thedigitalintellect.com
Description: TDI Astra is a custom modified Astra theme made exclusively for clients of The Digital Intellect. It is fast, fully customizable and mobile responsive. 
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tdi
Template: astra
*/
:root {
  /* Palette (sampled from PSD) */
  --amar-navy: #0A2B47;
  --amar-blue: #043156;
  --amar-gold: #EFA620;
  --amar-gold-light: #E3BA60;
  --amar-gold-muted: #DBB25C;
  --amar-bronze: #8A5A00;      /* eyebrow text on light backgrounds */
  --amar-role: #AA8231;        /* staff role text */
  --amar-cream: #F8F6F0;
  --amar-card: #F7F5EF;
  --amar-sand: #F2E9D1;
  --amar-stone: #F8F5F5;
  --amar-line: #E2DCCF;
  --amar-line-card: #E8E3D8;
  --amar-rule: #DDDDDD;
  --amar-rule-faq: #E2E2E2;
  --amar-footer-rule: #0F4571;
  --amar-social: #2B4861;
  --amar-white: #FFFFFF;
  --amar-on-dark: #F7F5EF;
  --amar-gold-gradient: linear-gradient(90deg, #9C7830 0%, #E9C870 25%, #E0B761 50%, #C59C48 75%, #AD8533 100%);

  /* Type */
  --amar-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --amar-sans: "Poppins", "Helvetica Neue", Arial, sans-serif;

  /* Layout */
  --amar-section-y: 110px;
  --amar-radius: 20px;
  --amar-pill: 999px;

  /* Icons (inline SVG, recoloured with background-color via mask) */
  --amar-ic-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2.5M12 19.5V22M4.9 4.9l1.8 1.8M17.3 17.3l1.8 1.8M2 12h2.5M19.5 12H22M4.9 19.1l1.8-1.8M17.3 6.7l1.8-1.8'/%3E%3C/svg%3E");
  --amar-ic-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='16' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --amar-ic-dual: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='12' r='6'/%3E%3Ccircle cx='15' cy='12' r='6'/%3E%3C/svg%3E");
  --amar-ic-wine: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8l-.4 5.5a3.6 3.6 0 0 1-7.2 0L8 3zM8.3 7h7.4M12 12v8M8.5 21h7'/%3E%3C/svg%3E");
  --amar-ic-pills: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='8' height='16' rx='4'/%3E%3Cpath d='M3 12h8'/%3E%3Ccircle cx='17' cy='15' r='4.5'/%3E%3Cpath d='M13.8 18.2l6.4-6.4'/%3E%3C/svg%3E");
  --amar-ic-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C5 10.5 11 5 20 5c0 9-6 15-14 15H5v-1zM5 19l8-8'/%3E%3C/svg%3E");
  --amar-ic-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.4v2.8a1.9 1.9 0 0 1-2 1.9 18.6 18.6 0 0 1-8.1-2.9 18.3 18.3 0 0 1-5.6-5.6A18.6 18.6 0 0 1 2.4 4.4 1.9 1.9 0 0 1 4.3 2.4h2.8a1.9 1.9 0 0 1 1.9 1.6c.1.9.3 1.8.6 2.6a1.9 1.9 0 0 1-.4 2L8 9.8a15 15 0 0 0 5.6 5.6l1.2-1.2a1.9 1.9 0 0 1 2-.4c.8.3 1.7.5 2.6.6a1.9 1.9 0 0 1 1.6 2z'/%3E%3C/svg%3E");
  --amar-ic-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M13.5 21v-7.5H16l.5-3h-3V8.7c0-.9.3-1.5 1.6-1.5h1.6V4.5c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.1H8v3h2.5V21h3z'/%3E%3C/svg%3E");
  --amar-ic-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='.6' fill='%23000'/%3E%3C/svg%3E");
  --amar-ic-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M4.5 9h3.3v11H4.5zM6.2 3.8a1.9 1.9 0 1 1 0 3.8 1.9 1.9 0 0 1 0-3.8zM10 9h3.2v1.5c.5-.9 1.6-1.8 3.3-1.8 3.5 0 4.1 2.3 4.1 5.2V20h-3.3v-5.4c0-1.3 0-2.9-1.8-2.9s-2.1 1.4-2.1 2.8V20H10z'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   1. WPBakery resets inside Amar sections
   -------------------------------------------------------------------------- */
.amar-sec .wpb_content_element,
.amar-sec .wpb_text_column { margin-bottom: 0; }
:where(.amar-sec .wpb_text_column > .wpb_wrapper) > :last-child { margin-bottom: 0; }
.vc_row.amar-sec { padding-top: var(--amar-section-y); padding-bottom: var(--amar-section-y); margin-bottom: 0; }
.amar-sec h1, .amar-sec h2, .amar-sec h3, .amar-sec h4 { font-family: var(--amar-serif); font-weight: 500; color: var(--amar-navy); margin: 0; letter-spacing: 0; }
.amar-sec p { font-family: var(--amar-sans); font-weight: 300; color: var(--amar-navy); }
.amar-sec img { max-width: 100%; height: auto; display: block; }
.amar-sec a { text-decoration: none; }
.amar-sec a:focus-visible,
.amar-footer a:focus-visible { outline: 2px solid var(--amar-gold); outline-offset: 3px; border-radius: 4px; }

/* Equal-height card rows: let the text block fill the column */
.amar-cards > .wpb_column { display: flex; }
.amar-cards > .wpb_column > .vc_column-inner,
.amar-cards > .wpb_column > .vc_column-inner > .wpb_wrapper,
.amar-cards .wpb_text_column,
.amar-cards .wpb_text_column > .wpb_wrapper { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; }
.amar-cards .amar-card, .amar-cards .amar-tile { flex: 1 1 auto; }
.amar-cards > .wpb_column { margin-bottom: 30px; }

/* Section backgrounds */
.amar-bg-white { background-color: var(--amar-white); }
.amar-bg-cream { background-color: var(--amar-cream); }
.amar-bg-stone { background-color: var(--amar-stone); }
.amar-bg-navy  { background-color: var(--amar-navy); }
.amar-bg-blue  { background-color: var(--amar-blue); }
.amar-rule-top    { border-top: 8px solid transparent; border-image: var(--amar-gold-gradient) 1; }
.amar-rule-top-lg { border-top: 11px solid transparent; border-image: var(--amar-gold-gradient) 1; }

/* --------------------------------------------------------------------------
   2. Shared type: eyebrow, H2, lead, section header
   -------------------------------------------------------------------------- */
.amar-eyebrow {
  font-family: var(--amar-sans); font-weight: 400 !important; font-size: 16px; line-height: 1.3;
  letter-spacing: .08em; text-transform: uppercase; color: var(--amar-bronze) !important; margin: 0 0 14px;
}
.amar-on-dark .amar-eyebrow { color: var(--amar-gold-light) !important; }
.amar-sec h2 { font-size: 50px; line-height: 1.15; }
.amar-on-dark h2, .amar-on-dark h3 { color: var(--amar-white); }
.amar-on-dark p { color: var(--amar-on-dark); }
.amar-sec .amar-body { font-size: 16px; line-height: 30px; }

.amar-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.amar-sec-head--wide { margin-bottom: 50px; }
.amar-sec-head .amar-sec-head__aside { max-width: 450px; margin: 0 0 4px; font-size: 16px; line-height: 30px; }
.amar-sec-head--center { display: block; text-align: center; }

/* Underlined text link (Explore Programs, Meet our staff) */
.amar-link-underline {
  font-family: var(--amar-sans); font-size: 16px; color: var(--amar-navy); white-space: nowrap;
  padding-bottom: 6px; border-bottom: 1px solid var(--amar-gold); margin-bottom: 8px;
}
.amar-link-underline:hover { color: var(--amar-bronze); }

/* Arrow text link (Learn about…, About Amar) */
.amar-link-arrow { font-family: var(--amar-sans); font-weight: 300; font-size: 16px; color: var(--amar-navy); }
.amar-link-arrow::after { content: " \2192"; font-weight: 600; }
.amar-link-arrow:hover { color: var(--amar-bronze); }

/* --------------------------------------------------------------------------
   3. Buttons (plain links inside text blocks)
   -------------------------------------------------------------------------- */
.amar-btns { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.amar-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 53px; padding: 0 30px; border-radius: var(--amar-pill);
  font-family: var(--amar-sans); font-weight: 400; font-size: 16px; line-height: 1;
  border: 1px solid transparent; cursor: pointer;
}
.amar-btn--gold { background: var(--amar-gold); color: var(--amar-navy) !important; }
.amar-btn--gold:hover { background: #E09612; }
.amar-btn--outline { border-color: var(--amar-navy); color: var(--amar-navy) !important; background: transparent; }
.amar-btn--outline:hover { background: var(--amar-navy); color: var(--amar-white) !important; }
.amar-btn--outline-light { border-color: var(--amar-on-dark); color: var(--amar-on-dark) !important; }
.amar-btn--outline-light:hover { background: var(--amar-on-dark); color: var(--amar-navy) !important; }
.amar-btn--phone::before {
  content: ""; width: 20px; height: 20px; background-color: currentColor;
  -webkit-mask: var(--amar-ic-phone) center / contain no-repeat; mask: var(--amar-ic-phone) center / contain no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
  .amar-btn, .amar-link-arrow, .amar-link-underline, .amar-therapies a { transition: background-color .2s, color .2s, border-color .2s; }
}

/* --------------------------------------------------------------------------
   4. Hero + insurance strip
   -------------------------------------------------------------------------- */
.vc_row.amar-hero {
  padding-top: 85px; padding-bottom: 0;
  background: var(--amar-cream) url("UPLOAD_PATH/hero-bg.webp") center top / cover no-repeat;
}
.amar-hero__content { max-width: 600px; padding-bottom: 113px; }
.amar-hero .amar-eyebrow { max-width: 400px; margin-bottom: 26px; line-height: 1.25; }
.amar-sec h1.amar-hero__title { font-size: 96px; line-height: 103px; margin-bottom: 26px; }
.amar-hero__title em { font-style: italic; font-weight: 500; }
.amar-hero .amar-hero__lead { font-size: 18px; line-height: 36px; margin-bottom: 36px; }
.amar-hero .amar-hero__note { font-size: 16px; margin-top: 30px; }

.amar-insurance {
  position: relative; padding: 36px 0 46px;
  background: rgba(247, 245, 239, .93);
  box-shadow: 0 0 0 100vmax rgba(247, 245, 239, .93); clip-path: inset(0 -100vmax);
}
.amar-insurance__label { font-size: 16px; margin: 0 0 22px; }
.amar-insurance__label strong { font-weight: 500; }
.amar-logos { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.amar-logos img { height: 40px; width: auto; max-width: 150px; object-fit: contain; }

/* --------------------------------------------------------------------------
   5. Program cards
   -------------------------------------------------------------------------- */
.amar-card {
  display: flex; flex-direction: column; padding: 40px; border-radius: var(--amar-radius);
  background: var(--amar-card); border: 1px solid var(--amar-line-card);
}
.amar-card__icon { width: 30px; height: 30px; margin-bottom: 22px; background-color: var(--amar-navy);
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.amar-card .amar-eyebrow { margin-bottom: 12px; }
.amar-card h3 { font-size: 28px; line-height: 40px; margin-bottom: 20px; }
.amar-card p { font-size: 14px; line-height: 24px; margin-bottom: 28px; }
.amar-card .amar-link-arrow { margin-top: auto; }
.amar-card--featured { background: var(--amar-navy); border-color: var(--amar-navy); }
.amar-card--featured .amar-card__icon { background-color: var(--amar-gold-light); }
.amar-card--featured .amar-eyebrow { color: var(--amar-gold-light) !important; }
.amar-card--featured h3, .amar-card--featured p { color: var(--amar-on-dark); }
.amar-card--featured .amar-link-arrow { color: var(--amar-gold-light); }

.amar-icon-sun      { --icon: var(--amar-ic-sun); }
.amar-icon-calendar { --icon: var(--amar-ic-calendar); }
.amar-icon-dual     { --icon: var(--amar-ic-dual); }
.amar-icon-wine     { --icon: var(--amar-ic-wine); }
.amar-icon-pills    { --icon: var(--amar-ic-pills); }
.amar-icon-leaf     { --icon: var(--amar-ic-leaf); }

/* --------------------------------------------------------------------------
   6. "Come as you are"
   -------------------------------------------------------------------------- */
.vc_row.amar-welcome {
  padding-top: 110px; padding-bottom: 110px;
  background: var(--amar-sand) url("UPLOAD_PATH/come-as-you-are-bg.webp") left center / cover no-repeat;
}
.amar-welcome h2 { margin-bottom: 30px; }
.amar-welcome .amar-body { margin-bottom: 26px; }
.amar-points { list-style: none; margin: 0 0 30px; padding: 0; }
.amar-points li { position: relative; padding-left: 53px; margin-bottom: 18px; font-family: var(--amar-sans); font-weight: 300; font-size: 16px; line-height: 30px; color: var(--amar-navy); }
.amar-points li::before { content: ""; position: absolute; left: 0; top: 15px; width: 42px; height: 1px; background: var(--amar-gold-muted); }
.amar-points strong { font-weight: 500; }

/* --------------------------------------------------------------------------
   7. "What we treat" grid
   -------------------------------------------------------------------------- */
.amar-grid { margin-left: 0; margin-right: 0; }
.amar-grid > .wpb_column > .vc_column-inner { padding-left: 0; padding-right: 0; }
.amar-grid > .wpb_column + .wpb_column { margin-left: -1px; }
.amar-tile { display: flex; flex-direction: column; min-height: 300px; padding: 30px; border: 1px solid var(--amar-line); background: var(--amar-white); }
.amar-tile__icon { width: 55px; height: 55px; border-radius: 50%; background: var(--amar-line); position: relative; margin-bottom: 16px; }
.amar-tile__icon::after { content: ""; position: absolute; inset: 13px; background-color: var(--amar-navy);
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.amar-tile h3 { font-size: 22px; line-height: 32px; margin-bottom: 12px; }
.amar-tile p { font-size: 14px; line-height: 30px; margin-bottom: 24px; }
.amar-tile .amar-link-arrow { font-size: 14px; margin-top: auto; }

/* --------------------------------------------------------------------------
   8. Clinical approach
   -------------------------------------------------------------------------- */
.amar-clinical h2 { margin-bottom: 36px; }
.amar-clinical .amar-body { margin-bottom: 50px; }
.amar-photo { border-radius: var(--amar-radius); width: 100%; aspect-ratio: 565 / 413; object-fit: cover; }
.amar-therapies { list-style: none; margin: 0 0 46px; padding: 0; counter-reset: therapy; border-top: 1px solid var(--amar-rule); }
.amar-therapies li { counter-increment: therapy; border-bottom: 1px solid var(--amar-rule); }
.amar-therapies a { display: grid; grid-template-columns: 95px 1fr 24px; align-items: start; padding: 26px 14px 30px 4px; color: var(--amar-navy); }
.amar-therapies a::before { content: counter(therapy, decimal-leading-zero); font-family: var(--amar-serif); font-weight: 700; font-size: 16px; letter-spacing: .08em; color: var(--amar-bronze); padding-top: 9px; }
.amar-therapies a::after { content: "\2192"; font-weight: 600; font-size: 14px; padding-top: 8px; justify-self: end; }
.amar-therapies .amar-therapies__title { display: block; font-family: var(--amar-serif); font-weight: 500; font-size: 28px; line-height: 42px; }
.amar-therapies .amar-therapies__desc { display: block; font-family: var(--amar-sans); font-weight: 300; font-size: 14px; line-height: 30px; }
.amar-therapies a:hover .amar-therapies__title { color: var(--amar-bronze); }

/* --------------------------------------------------------------------------
   9. Why Amar (values)
   -------------------------------------------------------------------------- */
.amar-value { border-top: 1px solid var(--amar-gold-light); padding-top: 40px; }
.amar-sec .amar-value__num { font-family: var(--amar-serif); font-size: 16px; color: var(--amar-gold-light); margin-bottom: 8px !important; }
.amar-value h3 { font-size: 22px; line-height: 34px; color: var(--amar-on-dark); margin-bottom: 18px; }
.amar-value p { font-size: 14px; line-height: 24px; }

/* --------------------------------------------------------------------------
   10. Our space (photo collage)
   -------------------------------------------------------------------------- */
.vc_row.amar-space { padding-top: 100px; padding-bottom: 100px; }
.amar-space h2 { margin-bottom: 36px; }
.amar-space .amar-body { margin-bottom: 40px; max-width: 470px; }
.amar-collage { position: relative; width: 100%; max-width: 624px; margin-left: auto; aspect-ratio: 624 / 602; }
.amar-collage img { position: absolute; border-radius: var(--amar-radius); object-fit: cover; }
.amar-collage .amar-collage__main { left: 0; top: 0; width: 77.7%; height: 89.2%; }
.amar-collage .amar-collage__side { left: 58.8%; top: 54.5%; width: 41.2%; height: 33%; }
.amar-collage .amar-collage__front { left: 24.2%; top: 69.3%; width: 42.9%; height: 30.7%; }

/* --------------------------------------------------------------------------
   11. Team
   -------------------------------------------------------------------------- */
.amar-person { text-align: center; }
.amar-person img { width: 100%; aspect-ratio: 283 / 354; object-fit: cover; border: 1px solid var(--amar-line); margin-bottom: 30px; }
.amar-person h3 { font-size: 22px; line-height: 32px; margin-bottom: 4px; }
.amar-person p { font-size: 14px; line-height: 24px; color: var(--amar-role); }

/* --------------------------------------------------------------------------
   12. Admissions steps
   -------------------------------------------------------------------------- */
.amar-steps-head { margin-bottom: 56px; }
.amar-step__top { display: flex; align-items: center; gap: 7px; margin-bottom: 18px; }
.amar-step__top::after { content: ""; flex: 1; height: 1px; background: var(--amar-gold-muted); }
.amar-step__num { flex: 0 0 55px; height: 55px; border-radius: 50%; border: 1px solid var(--amar-gold-muted);
  display: inline-flex; align-items: center; justify-content: center; font-family: var(--amar-serif); font-size: 26px; color: var(--amar-navy); }
.amar-step h3 { font-size: 22px; line-height: 32px; margin-bottom: 10px; }
.amar-step p { font-size: 14px; line-height: 30px; max-width: 250px; }
.amar-steps-cta { margin-top: 28px; }

/* --------------------------------------------------------------------------
   13. FAQ (WPBakery accordion, el_class "amar-faq")
   -------------------------------------------------------------------------- */
.amar-faq-head { margin-bottom: 50px; }
.amar-faq-head p { font-size: 16px; line-height: 30px; margin-top: 18px; }
.amar-faq-head a { color: var(--amar-navy); border-bottom: 1px solid var(--amar-navy); }
.amar-faq.vc_tta.vc_general .vc_tta-panel { border-bottom: 1px solid var(--amar-rule-faq); }
.amar-faq.vc_tta.vc_general .vc_tta-panel-heading,
.amar-faq.vc_tta.vc_general .vc_tta-panel-body { background: transparent !important; border: 0 !important; }
.amar-faq.vc_tta.vc_general .vc_tta-panel-title { font-family: var(--amar-serif); font-weight: 500; font-size: 22px; line-height: 32px; }
.amar-faq.vc_tta.vc_general .vc_tta-panel-title > a { padding: 22px 40px 22px 0; color: var(--amar-navy) !important; }
.amar-faq.vc_tta.vc_general .vc_tta-controls-icon::before,
.amar-faq.vc_tta.vc_general .vc_tta-controls-icon::after { border-color: var(--amar-navy) !important; }
.amar-faq.vc_tta.vc_general .vc_tta-panel-body { padding: 0 0 26px !important; }
.amar-faq.vc_tta.vc_general .vc_tta-panel-body p { font-size: 14px; line-height: 30px; max-width: 640px; }

/* --------------------------------------------------------------------------
   14. Closing CTA
   -------------------------------------------------------------------------- */
.vc_row.amar-cta { padding-top: 128px; padding-bottom: 113px; text-align: center; }
.amar-cta .amar-eyebrow { color: var(--amar-gold-muted) !important; margin-bottom: 22px; }
.amar-sec h2.amar-cta__title { font-size: 66px; line-height: 1.1; color: var(--amar-on-dark); margin-bottom: 44px; }
.amar-cta__title em { font-style: italic; }
.amar-cta .amar-body { max-width: 880px; margin: 0 auto 44px; color: var(--amar-on-dark); font-size: 16px; line-height: 27px; }
.amar-cta .amar-btns { justify-content: center; }

/* --------------------------------------------------------------------------
   15. Footer (Astra Pro Site Builder layout built in WPBakery)
   -------------------------------------------------------------------------- */
.vc_row.amar-footer { padding-top: 90px; padding-bottom: 40px; }
.amar-footer p, .amar-footer li, .amar-footer a { font-family: var(--amar-sans); font-weight: 300; font-size: 16px; line-height: 30px; color: var(--amar-on-dark); }
.amar-footer a:hover { color: var(--amar-gold-light); }
.amar-footer .amar-footer__logo { width: 263px; margin-bottom: 40px; }
.amar-footer .amar-eyebrow { color: var(--amar-gold-muted) !important; margin-bottom: 18px; }
.amar-footer ul { list-style: none; margin: 0 0 36px; padding: 0; }
.amar-social { display: flex; gap: 10px; margin-top: 36px; }
.amar-social a { width: 56px; height: 56px; border-radius: 50%; background: var(--amar-social); position: relative; display: inline-block; }
.amar-social a::after { content: ""; position: absolute; inset: 19px; background-color: var(--amar-on-dark);
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.amar-social a:hover { background: var(--amar-gold); }
.amar-social a:hover::after { background-color: var(--amar-navy); }
.amar-social .amar-social--fb { --icon: var(--amar-ic-facebook); }
.amar-social .amar-social--ig { --icon: var(--amar-ic-instagram); }
.amar-social .amar-social--in { --icon: var(--amar-ic-linkedin); }
.amar-footer__map img { border-radius: var(--amar-radius); width: 100%; margin-bottom: 56px; }
.amar-badges { display: flex; gap: 16px; align-items: center; }
.amar-badges img { width: auto; height: auto; max-height: 100px; max-width: calc((100% - 32px) / 3); }
.amar-footer-bar { margin-top: 80px; padding-top: 30px; border-top: 1px solid var(--amar-footer-rule); display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.amar-footer-bar p { font-size: 14px; margin: 0; }
.amar-footer-bar .amar-gold-text, .amar-footer-bar .amar-gold-text a { color: var(--amar-gold-light); }

/* --------------------------------------------------------------------------
   16. Responsive (matches Astra breakpoints: tablet 921px, mobile 544px)
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
  .amar-sec h1.amar-hero__title { font-size: 80px; line-height: 88px; }
}
@media (max-width: 921px) {
  :root { --amar-section-y: 80px; }
  .vc_row.amar-hero { background-position: 70% top; }
  .amar-hero__content { background: rgba(248, 246, 240, .88); padding: 30px; border-radius: var(--amar-radius); margin-bottom: 60px; }
  .amar-sec h1.amar-hero__title { font-size: 64px; line-height: 70px; }
  .amar-sec h2 { font-size: 40px; }
  .amar-sec h2.amar-cta__title { font-size: 50px; }
  .amar-sec-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .vc_row.amar-welcome { background-image: none; }
  .amar-collage { margin: 50px auto 0; }
  .amar-clinical .amar-photo { margin-bottom: 50px; }
  .amar-value { margin-bottom: 40px; }
  .amar-step { margin-bottom: 36px; }
  .amar-person { margin-bottom: 40px; }
  .amar-grid > .wpb_column + .wpb_column { margin-left: 0; }
  .amar-grid > .wpb_column { margin-top: -1px; }
  .vc_row.amar-cta, .vc_row.amar-space { padding-top: 80px; padding-bottom: 80px; }
}
@media (max-width: 544px) {
  :root { --amar-section-y: 64px; }
  .amar-sec h1.amar-hero__title { font-size: 46px; line-height: 52px; }
  .amar-sec h2 { font-size: 34px; }
  .amar-sec h2.amar-cta__title { font-size: 38px; }
  .amar-card { padding: 30px; }
  .amar-card h3 { font-size: 24px; line-height: 34px; }
  .amar-therapies a { grid-template-columns: 52px 1fr 20px; }
  .amar-therapies .amar-therapies__title { font-size: 22px; line-height: 32px; }
  .amar-logos { justify-content: center; }
  .amar-logos img { height: 32px; }
  .amar-btns .amar-btn { width: 100%; }
  .amar-footer-bar { flex-direction: column; }
}
