/* Consolidated from R45 in original cascade order. */
 :root { --cream: #fbf7f1; --soft: #f2eadf; --sage: #7f9a8b; --sage-dark: #456556; --ink: #25302b; --muted: #6b746f; --white: #ffffff; --gold: #caa96a; --line: rgba(37,48,43,.12); --shadow: 0 24px 70px rgba(54, 72, 64, .12); --radius: 28px; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; background: var(--cream); color: var(--ink); line-height: 1.6; } a { color: inherit; text-decoration: none; } img { max-width: 100%; display: block; } .container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; } header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(18px); background: rgba(251,247,241,.88); border-bottom: 1px solid var(--line); } .nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .brand { display: flex; flex-direction: column; line-height: 1.1; font-weight: 700; letter-spacing: -.02em; } .brand span:first-child { font-size: 1.15rem; } .brand span:last-child { font-size: .78rem; color: var(--muted); font-weight: 500; margin-top: 4px; } .nav-links { display: flex; gap: 24px; align-items: center; color: var(--muted); font-size: .95rem; } .nav-links a:hover { color: var(--sage-dark); } .btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 13px 22px; font-weight: 700; border: 1px solid transparent; transition: .2s ease; cursor: pointer; white-space: nowrap; } .btn-primary { background: var(--sage-dark); color: var(--white); box-shadow: 0 14px 28px rgba(69,101,86,.18); } .btn-primary:hover { transform: translateY(-2px); background: #344f42; } .btn-secondary { border-color: var(--line); background: rgba(255,255,255,.58); color: var(--sage-dark); } .btn-secondary:hover { background: var(--white); transform: translateY(-2px); } .hero { padding: 72px 0 68px; position: relative; overflow: hidden; } .hero::before { content: ""; position: absolute; inset: -180px -120px auto auto; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(127,154,139,.28), transparent 68%); z-index: -1; } .hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 54px; align-items: center; } .eyebrow { display: inline-flex; gap: 8px; align-items: center; color: var(--sage-dark); background: rgba(127,154,139,.13); border: 1px solid rgba(127,154,139,.22); padding: 8px 13px; border-radius: 999px; font-size: .88rem; font-weight: 700; margin-bottom: 22px; } h1 { font-size: clamp(2.55rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -.07em; margin: 0 0 22px; } .hero p { font-size: 1.18rem; color: var(--muted); max-width: 640px; margin: 0 0 30px; } .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; } .trust-line { display: flex; gap: 16px; flex-wrap: wrap; color: var(--muted); font-size: .95rem; } .trust-line span { display: inline-flex; align-items: center; gap: 7px; } .hero-card { background: linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.58)), radial-gradient(circle at 80% 20%, rgba(202,169,106,.18), transparent 38%); border: 1px solid rgba(255,255,255,.75); border-radius: 36px; box-shadow: var(--shadow); padding: 22px; position: relative; } .portrait { min-height: 530px; border-radius: 28px; background: linear-gradient(140deg, rgba(69,101,86,.30), rgba(251,247,241,.10)), url("https://images.unsplash.com/photo-1544717305-2782549b5136?auto=format&fit=crop&w=1100&q=80") center/cover; position: relative; overflow: hidden; } .portrait-note { position: absolute; left: 24px; right: 24px; bottom: 24px; background: rgba(255,255,255,.86); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.9); border-radius: 24px; padding: 20px; box-shadow: 0 16px 40px rgba(0,0,0,.09); } .portrait-note strong { display: block; margin-bottom: 5px; } .portrait-note p { margin: 0; color: var(--muted); font-size: .95rem; } section { padding: 78px 0; } .section-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 34px; } .section-head h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.05em; max-width: 720px; } .section-head p { margin: 0; color: var(--muted); max-width: 390px; } .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; } .card { background: rgba(255,255,255,.66); border: 1px solid rgba(255,255,255,.85); border-radius: var(--radius); padding: 28px; box-shadow: 0 18px 46px rgba(54,72,64,.08); transition: .2s ease; } .card:hover { transform: translateY(-4px); box-shadow: var(--shadow); } .icon { width: 46px; height: 46px; border-radius: 16px; background: rgba(127,154,139,.16); display: grid; place-items: center; margin-bottom: 18px; color: var(--sage-dark); font-weight: 800; } .card h3 { margin: 0 0 10px; font-size: 1.22rem; letter-spacing: -.02em; } .card p { margin: 0; color: var(--muted); } .about { background: var(--soft); } .about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: center; } .about-image { min-height: 480px; border-radius: 36px; background: linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.15)), url("sheetal-singhania.webp") center/cover; box-shadow: var(--shadow); } .about-copy h2 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -.05em; margin: 0 0 18px; } .about-copy p { color: var(--muted); font-size: 1.05rem; } .ticks { display: grid; gap: 12px; margin-top: 24px; } .ticks div { background: rgba(255,255,255,.58); border: 1px solid rgba(255,255,255,.8); border-radius: 18px; padding: 14px 16px; color: var(--ink); font-weight: 650; } .process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: step; } .step { background: rgba(255,255,255,.68); border: 1px solid rgba(255,255,255,.86); border-radius: var(--radius); padding: 26px; position: relative; } .step::before { counter-increment: step; content: "0" counter(step); display: inline-block; color: var(--gold); font-weight: 800; margin-bottom: 28px; letter-spacing: .08em; } .step h3 { margin: 0 0 8px; } .step p { margin: 0; color: var(--muted); font-size: .96rem; } .cta { padding: 74px 0; } .cta-box { border-radius: 38px; background: radial-gradient(circle at 15% 20%, rgba(202,169,106,.24), transparent 34%), linear-gradient(135deg, #385645, #6f8b7c); color: white; padding: clamp(34px, 6vw, 64px); box-shadow: var(--shadow); display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; } .cta-box h2 { margin: 0 0 12px; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.08; letter-spacing: -.05em; } .cta-box p { margin: 0; max-width: 680px; color: rgba(255,255,255,.82); } .cta-box .btn { background: white; color: var(--sage-dark); } .faq { background: var(--soft); } .faq-list { display: grid; gap: 14px; max-width: 900px; margin: 0 auto; } details { background: rgba(255,255,255,.68); border: 1px solid rgba(255,255,255,.86); border-radius: 22px; padding: 18px 22px; } summary { cursor: pointer; font-weight: 800; color: var(--ink); } details p { margin: 12px 0 0; color: var(--muted); } .contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; align-items: start; } .contact-panel { background: rgba(255,255,255,.68); border: 1px solid rgba(255,255,255,.86); border-radius: 32px; padding: 30px; box-shadow: 0 18px 46px rgba(54,72,64,.08); } .contact-panel h2 { margin-top: 0; font-size: 2.2rem; letter-spacing: -.04em; line-height: 1.1; } .contact-panel p { color: var(--muted); } form { display: grid; gap: 14px; } input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 16px; padding: 15px 16px; font: inherit; background: rgba(255,255,255,.86); color: var(--ink); outline: none; } textarea { min-height: 130px; resize: vertical; } input:focus, textarea:focus, select:focus { border-color: rgba(69,101,86,.55); box-shadow: 0 0 0 4px rgba(127,154,139,.12); } footer { padding: 34px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .95rem; } .footer-inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }  70% { transform: scale(1.25); opacity: 0; } 100% { transform: scale(1.25); opacity: 0; }
} @media (max-width: 900px) { .top-strip{display:none!important;height:0!important;} .site-header .nav { align-items: flex-start; padding: 14px 0; } .site-header .nav-links { display: flex; flex-wrap: wrap; gap: 12px 18px; width: 100%; order: 3; } .site-header .btn-primary { width: auto; } .site-footer .footer-inner { grid-template-columns: 1fr; } .whatsapp { top: auto; bottom: 22px; transform: none; } .whatsapp:hover { transform: scale(1.06); }
} /* Restored navigation/footer based on videowall.sg structure only */
.site-nav{position:sticky;top:0;z-index:50;background:#ffffff;border-bottom:1px solid rgba(0,0,0,.05);padding:0 20px;height:68px;display:flex;align-items:center;font-family:'Manrope',sans-serif;font-size:15px;}
.site-nav .nav-inner{max-width:1200px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.site-nav .brand-link{text-decoration:none;color:#0e4b4a;font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1;white-space:nowrap;}
.site-nav .nav-menu{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:400;color:#56706f;}
.site-nav .nav-menu a{text-decoration:none;color:#56706f;line-height:1;}
.site-nav .nav-menu a:hover{color:#0e4b4a;}
.site-nav .nav-cta{display:inline-flex!important;align-items:center;justify-content:center;background:#15b7c8!important;color:#fff!important;padding:10px 20px!important;border-radius:14px!important;font-size:14px!important;font-weight:600!important;line-height:1!important;box-shadow:none!important;text-decoration:none!important;white-space:nowrap;}
.site-nav .nav-cta:hover{opacity:.95;transform:none!important;}
.footer-standard{margin-top:16px;padding:24px 0;text-align:center;color:#fff;font-size:14px;background:#111827;font-family:'Manrope',sans-serif;font-size:15px;}
.footer-standard a{text-decoration:none;color:rgba(255,255,255,.80);}
.footer-standard a:hover{color:#fff;}
.footer-standard .footer-box{max-width:620px;margin:0 auto;padding:0 24px;display:grid;gap:4px;}
.footer-standard .footer-title{font-weight:600;color:#fff;}
.footer-standard .footer-muted{color:rgba(255,255,255,.70);}
.footer-standard .footer-copy{padding-top:4px;color:rgba(255,255,255,.40);}

@media(max-width:900px){.site-nav{padding:0 16px}.site-nav .nav-menu{display:none}.site-nav .brand-link{font-size:22px}.whatsapp-float{right:16px;bottom:20px;top:auto;transform:none}.whatsapp-float:hover{transform:scale(1.05)}} /* Clean title system applied site-wide — no pill / bubble title styling */
.eyebrow { display: block !important; width: auto !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 0 14px !important; font-family: 'Manrope', sans-serif !important; font-size: 12px !important; line-height: 1.2 !important; font-weight: 800 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #15b7c8 !important;
} h1 { font-family: 'Manrope', sans-serif !important; font-size: clamp(2.7rem, 5.2vw, 4.35rem) !important; line-height: 1.03 !important; letter-spacing: -0.045em !important; font-weight: 800 !important; color: #0e4b4a !important; margin: 0 0 22px !important;
} .section-head h2,
.about-copy h2,
.contact-panel h2 { font-family: 'Manrope', sans-serif !important; font-size: clamp(2rem, 3.8vw, 3.05rem) !important; line-height: 1.06 !important; letter-spacing: -0.04em !important; font-weight: 800 !important; color: #0e4b4a !important; margin-top: 0 !important;
} .cta-box h2 { font-family: 'Manrope', sans-serif !important; font-size: clamp(2rem, 3.8vw, 3.05rem) !important; line-height: 1.06 !important; letter-spacing: -0.04em !important; font-weight: 800 !important; color: #ffffff !important;
} .card h3,
.step h3 { font-family: 'Manrope', sans-serif !important; font-weight: 800 !important; letter-spacing: -0.025em !important; color: #0e4b4a !important;
} .hero p,
.section-head p,
.about-copy p,
.contact-panel p { color: #56706f;
} /* FINAL NAVIGATION OVERRIDE — videowall-style spacing, corrected left/right indent */
.site-header,
.site-header * { all: unset;
} .site-nav { position: sticky; top: 0; z-index: 80; width: 100%; height: 68px; background: #ffffff; border-bottom: 1px solid rgba(0,0,0,.05); font-family: 'Manrope', sans-serif; box-sizing: border-box;
} .site-nav *,
.site-nav *::before,
.site-nav *::after { box-sizing: border-box;
} .site-nav .nav-inner { width: min(1720px, calc(100% - 48px)); height: 68px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between;
} .site-nav .brand-link { display: inline-flex; align-items: center; color: #0e4b4a; font-size: 22px; line-height: 1; font-weight: 800; letter-spacing: -0.04em; text-decoration: none; white-space: nowrap;
} .site-nav .nav-right { display: flex; align-items: center; gap: 28px; margin-left: auto;
} .site-nav .nav-menu { display: flex; align-items: center; gap: 28px; color: #56706f; font-size: 14px; line-height: 1; font-weight: 400;
} .site-nav .nav-menu a { color: #56706f; text-decoration: none; white-space: nowrap;
} .site-nav .nav-menu a:hover { color: #0e4b4a;
} .site-nav .nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border-radius: 14px; background: #15b7c8; color: #ffffff; font-size: 14px; line-height: 1; font-weight: 600; text-decoration: none; white-space: nowrap; box-shadow: none;
} .site-nav .nav-cta:hover { opacity: .95;
} @media (max-width: 900px) { .site-nav .nav-inner { width: min(100% - 32px, 1720px); } .site-nav .brand-link { font-size: 21px; } .site-nav .nav-menu { display: none; } .site-nav .nav-right { gap: 0; } .site-nav .nav-cta { min-height: 40px; padding: 0 16px; font-size: 13px; }
} @media (max-width: 560px) { .site-nav .brand-link { font-size: 18px; } .site-nav .nav-cta { font-size: 12px; padding: 0 13px; }
} /* VIDEOWALL.SG COLOUR SCHEME TEST — colour-only override */
:root { --bg: #edf2ea; --surface: #f8faf4; --surface-2: #f1f5ee; --ink: #0e4b4a; --muted: #56706f; --line: rgba(14,75,74,0.12); --brand: #0f5a52; --brand-2: #15b7c8;
} html,
body { background: var(--bg) !important; color: var(--ink) !important;
} section,
.hero,
.about,
.faq,
.testimonials { background-color: var(--bg) !important;
} .card,
.step,
.contact-panel,
.testimonial-card,
details,
.hero-card,
.portrait-note { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90)) !important; border-color: var(--line) !important;
} .section-label,
.eyebrow { color: var(--brand-2) !important;
} .section-title,
h1,
h2,
h3,
.brand-link { color: var(--ink) !important;
} .section-subtitle,
p,
.card p,
.step p,
details p,
.contact-panel p { color: var(--muted) !important;
} .btn-primary,
.nav-cta,
.cta-box .btn,
button.btn-primary { background: linear-gradient(135deg, var(--brand), var(--brand-2)) !important; color: #ffffff !important;
} .btn-secondary { background: rgba(255,255,255,.78) !important; color: var(--ink) !important; border-color: var(--line) !important;
} .cta-box { background: radial-gradient(circle at 15% 20%, rgba(21,183,200,.24), transparent 34%), linear-gradient(135deg, var(--brand), var(--brand-2)) !important;
} .site-nav { background: #ffffff !important; border-bottom: 1px solid rgba(0,0,0,.05) !important;
} .site-nav .brand-link { color: var(--ink) !important;
} .site-nav .nav-menu,
.site-nav .nav-menu a { color: var(--muted) !important;
} .site-nav .nav-menu a:hover { color: var(--ink) !important;
} .site-nav .nav-cta { background: #15b7c8 !important; color: #ffffff !important;
} footer,
.footer-standard { background: #111827 !important; color: #ffffff !important;
} .whatsapp,
.whatsapp-float { background: #25D366 !important;
} /* Homepage about summary with clickable card */
.about-summary-section { background: var(--bg) !important;
} .about-summary-card { display: block;
} .about-summary-link { display: block; color: inherit; text-decoration: none;
} .about-summary-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center; background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90)); border: 1px solid var(--line); border-radius: 32px; padding: clamp(24px, 4vw, 42px); box-shadow: 0 24px 60px rgba(15,23,42,.08); transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
} .about-summary-link:hover .about-summary-grid { transform: translateY(-3px); box-shadow: 0 28px 70px rgba(15,23,42,.12); border-color: rgba(21,183,200,.25);
} .about-summary-grid .about-copy p { font-size: 1.03rem; line-height: 1.78; margin: 0 0 14px;
} .about-photo-wrap { overflow: hidden; border-radius: 28px; box-shadow: 0 20px 55px rgba(15,23,42,.13); background: #fff;
} .about-photo { width: 100%; height: 520px; object-fit: cover; object-position: center; display: block; transition: transform .45s ease;
} .about-summary-link:hover .about-photo { transform: scale(1.025);
} .read-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; color: #0f5a52; font-weight: 800; font-size: 14px;
} .read-more span { transition: transform .2s ease;
} .about-summary-link:hover .read-more span { transform: translateX(4px);
} @media (max-width: 900px) { .about-summary-grid { grid-template-columns: 1fr; } .about-photo { height: auto; max-height: 520px; }
} @media (max-width: 760px) { footer > div { grid-template-columns: 1fr !important; gap: 26px !important; }
} 

/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}



/* Production consistency pass */
:root { --site-container: 1120px; }
main > section > .container,
main > section > .container.hero-grid,
main > section > .container.contact-grid,
main > section > .container.about-summary-card {
  width: min(var(--site-container), calc(100% - 48px)) !important;
  max-width: var(--site-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
section { padding-top: clamp(54px, 6vw, 78px); padding-bottom: clamp(54px, 6vw, 78px); }
.section-head { margin-bottom: clamp(24px, 3vw, 34px); }
.card, .step, .contact-panel, .service-panel { box-shadow: 0 18px 46px rgba(54,72,64,.08); }
.service-page .service-page-grid {
  display: block !important;
  width: min(var(--site-container), calc(100% - 48px)) !important;
  max-width: var(--site-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.service-page .service-page-intro {
  max-width: 980px;
  margin-bottom: clamp(28px, 4vw, 42px);
}
.service-page .hero-copy { max-width: 980px; }
.service-page .service-page-grid > div:last-child {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.service-page .service-panel { width: 100%; margin: 0; }
.service-page .service-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.service-page .service-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.service-page .service-step,
.service-page .service-list li { min-height: auto; }
.validated-contact-form input[name="country_code"] { max-width: 110px; }
.validated-contact-form input[name="contact_no"] { min-width: 0; }
.form-field.invalid input,
.form-field.invalid textarea,
.form-field.invalid select { border-color: #b84a4a !important; }
.form-field .error-message { display: none; color: #9b3333; font-size: .85rem; margin-top: 6px; }
.form-field.invalid .error-message { display: block; }
@media (max-width: 900px) {
  main > section > .container,
  main > section > .container.hero-grid,
  main > section > .container.contact-grid,
  main > section > .container.about-summary-card,
  .service-page .service-page-grid {
    width: min(100% - 32px, var(--site-container)) !important;
  }
  .service-page .service-list { grid-template-columns: 1fr; }
}



/* === Final global polish pass === */
:root { --brand: #0e6f69; --brand-2: #1bb4c4; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
section { padding-top: clamp(54px, 6vw, 78px); padding-bottom: clamp(54px, 6vw, 78px); }
.section-head h2, h1, h2 { text-wrap: balance; }
.card, .step, .contact-panel, details, .service-panel, .profile-card { border-color: rgba(255,255,255,.9) !important; box-shadow: 0 18px 48px rgba(54,72,64,.075) !important; }
.btn, button { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn:hover, button:hover { transform: translateY(-2px); }
input, textarea, select { min-height: 52px; }
textarea { min-height: 140px; }

/* Unified premium CTA style for About + Service pages */
.about-cta .cta-box,
.service-cta-panel,
.cta-box.final-polish-cta {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 16% 22%, rgba(255,255,255,.18), transparent 36%),
    linear-gradient(135deg, #0d6c66 0%, #18b9c8 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 38px !important;
  box-shadow: 0 28px 76px rgba(20, 96, 92, .18) !important;
}
.about-cta .cta-box::after,
.service-cta-panel::after,
.cta-box.final-polish-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.12), transparent 62%);
  pointer-events: none;
}
.about-cta .cta-box > *,
.service-cta-panel > *,
.cta-box.final-polish-cta > * { position: relative; z-index: 1; }
.about-cta .cta-box h2,
.service-cta-panel h2,
.cta-box.final-polish-cta h2 {
  color: #ffffff !important;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: clamp(2.1rem, 4.4vw, 4.1rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  font-weight: 800 !important;
  margin: 0 0 16px !important;
  max-width: 1040px;
}
.about-cta .cta-box p,
.service-cta-panel p,
.cta-box.final-polish-cta p {
  color: rgba(255,255,255,.92) !important;
  font-size: clamp(1.05rem, 1.6vw, 1.34rem) !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  margin: 0 !important;
  max-width: 980px !important;
}
.about-cta .cta-box .btn,
.cta-box.final-polish-cta .btn {
  background: rgba(5, 83, 78, .42) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.14) !important;
}
.about-cta .cta-box .btn:hover,
.cta-box.final-polish-cta .btn:hover { background: rgba(5, 83, 78, .58) !important; }
@media (max-width: 760px) {
  .about-cta .cta-box,
  .service-cta-panel,
  .cta-box.final-polish-cta { border-radius: 28px !important; padding: 34px 24px !important; }
  .about-cta .cta-box h2,
  .service-cta-panel h2,
  .cta-box.final-polish-cta h2 { font-size: clamp(2rem, 10vw, 3rem) !important; }
  .about-cta .cta-box p,
  .service-cta-panel p,
  .cta-box.final-polish-cta p { font-size: 1.05rem !important; }
}



/* FINAL USER REQUEST: logo/tagline left, navigation right, same constrained header width */
.site-nav.tep-approved-header{
  width:100% !important;
  background:#fff !important;
  border-bottom:0!important;
  overflow:visible !important;
}
.site-nav.tep-approved-header .tep-header-inner{
  width:min(1160px, calc(100% - 40px)) !important;
  max-width:1160px !important;
  margin:0 auto !important;
  min-height:118px !important;
  padding:14px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
.site-nav.tep-approved-header .tep-brand-block{
  flex:0 0 250px !important;
  width:250px !important;
  margin:0 !important;
}
.site-nav.tep-approved-header .tep-logo{width:250px !important;}
.site-nav.tep-approved-header .tep-divider{
  flex:0 0 2px !important;
  width:2px !important;
  height:72px !important;
  margin:0 24px !important;
}
.site-nav.tep-approved-header .tep-service-lockup{
  flex:0 0 295px !important;
  width:295px !important;
  font-size:13px !important;
  line-height:1.55 !important;
  letter-spacing:.28em !important;
}
.site-nav.tep-approved-header .tep-nav-menu{
  margin-left:auto !important;
  padding-top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:24px !important;
  flex:0 0 auto !important;
  min-width:0 !important;
}
.site-nav.tep-approved-header .tep-nav-menu a{
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1 !important;
}
.site-nav.tep-approved-header .tep-nav-menu a.active::after{
  bottom:-22px !important;
  width:54px !important;
  height:3px !important;
}
@media(max-width:1200px){
  .site-nav.tep-approved-header .tep-header-inner{width:min(1000px, calc(100% - 36px)) !important; min-height:104px !important;}
  .site-nav.tep-approved-header .tep-brand-block{flex-basis:205px !important; width:205px !important;}
  .site-nav.tep-approved-header .tep-logo{width:205px !important;}
  .site-nav.tep-approved-header .tep-divider{height:62px !important; margin:0 16px !important;}
  .site-nav.tep-approved-header .tep-service-lockup{flex-basis:245px !important; width:245px !important; font-size:10.5px !important;}
  .site-nav.tep-approved-header .tep-nav-menu{margin-left:auto !important; gap:16px !important;}
  .site-nav.tep-approved-header .tep-nav-menu a{font-size:13px !important;}
}
@media(max-width:900px){
  .site-nav.tep-approved-header .tep-header-inner{display:block !important; width:min(720px, calc(100% - 32px)) !important; min-height:0 !important; padding:18px 0 !important;}
  .site-nav.tep-approved-header .tep-brand-block{display:block !important; width:220px !important; margin:0 auto 12px !important;}
  .site-nav.tep-approved-header .tep-logo{width:220px !important; margin:0 auto !important;}
  .site-nav.tep-approved-header .tep-divider,.site-nav.tep-approved-header .tep-service-lockup{display:none !important;}
  .site-nav.tep-approved-header .tep-nav-menu{margin:12px 0 0 !important; justify-content:center !important; flex-wrap:wrap !important; gap:14px 22px !important;}
  .site-nav.tep-approved-header .tep-nav-menu a{font-size:14px !important;}
}




.about-page { padding: 86px 0 92px; background: var(--bg);
}
.about-page-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: start;
}
.about-page-copy { margin-top: 28px;
}
.about-page-copy p { color: #56706f !important; font-size: 1.05rem; line-height: 1.82; margin: 0 0 18px;
}
.about-page-copy strong { color: #0e4b4a;
}
.about-page-photo-wrap { position: sticky; top: 94px; border-radius: 30px; overflow: hidden; box-shadow: 0 24px 70px rgba(15,23,42,.13); background: #fff;
}
.about-page-photo { width: 100%; min-height: 620px; height: calc(100vh - 150px); max-height: 760px; object-fit: cover; object-position: center; display: block;
}
@media (max-width: 980px) { .about-page-grid { grid-template-columns: 1fr; } .about-page-photo-wrap { position: relative; top: auto; } .about-page-photo { min-height: 0; height: auto; }
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




.whatsapp-float {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 28px rgba(0,0,0,0.22);
  z-index: 9999;
  transition: transform .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover {
  transform: translateY(-50%) scale(1.08);
}
.whatsapp-float svg {
  width: 30px;
  height: 30px;
  fill: #ffffff;
}
@media (max-width: 768px) {
  .whatsapp-float {
    right: 16px;
    width: 52px;
    height: 52px;
  }
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




/* FIX HERO / STATEMENT VISIBILITY */
.hero p,
.hero .subtext,
.hero .highlight-text {
  color: #0e4b4a !important;
}

/* if it's inside light background */
section.hero,
.hero {
  color: #0e4b4a !important;
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




.hero .support-line {
  font-size: 21px;
  font-weight: 600;
  color: #0e4b4a;
  line-height: 1.6;
  max-width: 520px;
  margin-top: 16px;
  opacity: 0;
  transform: translateY(10px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.4s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




/* CTA support line visibility fix */
.cta-box .support-line,
.cta-box p.support-line {
  color: rgba(255,255,255,0.88) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  max-width: 720px !important;
  margin: 10px 0 0 !important;
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




.contact-reassurance {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}

.contact-reassurance div {
  background: rgba(21,183,200,.08);
  border: 1px solid rgba(14,75,74,.10);
  border-radius: 16px;
  padding: 14px 16px;
  color: #0e4b4a;
  font-weight: 700;
  font-size: 15px;
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




/* Contact form validation styling */
.validated-contact-form {
  display: grid;
  gap: 16px;
}

.form-field {
  display: grid;
  gap: 7px;
}

.form-field label {
  color: #0e4b4a;
  font-size: 14px;
  font-weight: 800;
}

.phone-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 10px;
}

.validated-contact-form input,
.validated-contact-form textarea {
  width: 100%;
}

.validated-contact-form textarea {
  min-height: 140px;
}

.error-message {
  display: none;
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
}

.form-field.invalid input,
.form-field.invalid textarea {
  border-color: #b42318 !important;
  box-shadow: 0 0 0 4px rgba(180,35,24,.10) !important;
}

.form-field.invalid .error-message {
  display: block;
}

@media (max-width: 560px) {
  .phone-row {
    grid-template-columns: 92px 1fr;
  }
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}




/* Final logo + favicon integration */
.site-nav .brand-link,
.brand-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}

.nav-logo-icon {
  width: 34px;
  height: 34px;
  display: block;
  flex: 0 0 auto;
}

.nav-logo-text {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  line-height: 1;
}

.nav-logo-title {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #0e4b4a;
  white-space: nowrap;
}

.nav-logo-tagline {
  font-size: 10px;
  font-weight: 600;
  color: #56706f;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.footer-logo-lockup {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.footer-logo-lockup img {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: block;
}

.footer-logo-lockup-title {
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.footer-logo-lockup-tagline {
  color: rgba(255,255,255,.70);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 4px;
}

.footer-four-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.25fr .85fr .85fr 1fr;
  gap: 34px;
}

.footer-four-grid a {
  color: inherit;
  text-decoration: none;
}

.footer-four-heading {
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 10px;
}

.footer-four-text {
  color: rgba(255,255,255,.82);
  font-size: 14px;
  line-height: 1.75;
}

@media (max-width: 900px) {
  .footer-four-grid {
    grid-template-columns: 1fr 1fr;
    gap: 26px;
  }
}

@media (max-width: 560px) {
  .nav-logo-icon {
    width: 30px;
    height: 30px;
  }

  .nav-logo-title {
    font-size: 15px;
  }

  .nav-logo-tagline {
    display: none;
  }

  .footer-four-grid {
    grid-template-columns: 1fr;
  }
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}





.footer-company-details {
  color: rgba(255,255,255,.84);
  font-size: 14px;
  line-height: 1.65;
  max-width: 310px;
}

.footer-company-name {
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Corrected premium logo spacing */
.footer-full-logo-wrap {
  display: block;
  max-width: 300px;
}

.footer-full-logo {
  width: 100%;
  max-width: 300px;
  height: auto;
  display: block;
}

.nav-logo-icon {
  width: 34px;
  height: 34px;
  object-fit: contain;
}


/* 0305a About page content imported from supplied about.html */
.about-hero {
  padding: 70px 0 46px;
}
.about-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.about-portrait {
  min-height: 520px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(37,48,43,.05), rgba(37,48,43,.14)),
    url("sheetal-singhania.webp") center/cover;
  box-shadow: var(--shadow);
}
.about-page-copy h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0 0 18px;
}
.about-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 16px;
}
.profile-section {
  padding: 34px 0 28px;
}
.profile-section hr {
  width: min(1160px, calc(100% - 40px));
  margin: 10px auto 34px !important;
}
.profile-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 30px;
  padding: clamp(26px, 4vw, 42px);
  box-shadow: 0 18px 46px rgba(54,72,64,.08);
  margin-bottom: 18px;
}
.profile-card h2 {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}
.profile-card p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 14px;
}
.profile-card ul {
  margin: 12px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.profile-card li,
.qual-list div {
  color: var(--muted);
  background: rgba(127,154,139,.10);
  border-radius: 16px;
  padding: 12px 14px;
}
.qual-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.qual-list div {
  color: var(--ink);
  font-weight: 650;
}
.about-cta {
  padding: 42px 0 64px;
}
.about-cta .cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
@media (max-width: 900px) {
  .about-hero-grid,
  .about-cta .cta-box { grid-template-columns: 1fr; }
  .about-portrait { min-height: 420px; }
}
@media (max-width: 560px) {
  .about-hero { padding: 52px 0 34px; }
  .about-portrait { min-height: 360px; }
}


/* 0305a update: About hero image on right, content on left */
.about-hero-grid {
  grid-template-columns: 1.05fr .95fr !important;
}
@media (max-width: 900px) {
  .about-hero-grid {
    grid-template-columns: 1fr !important;
  }
}



/* Form security and validation polish */
.form-honeypot { position:absolute !important; left:-10000px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
.recaptcha-wrap { margin: 18px 0 8px; }
.form-security-note { margin: 10px 0 0; font-size: .82rem; line-height: 1.45; color: rgba(95,115,114,.88); }
.form-status-message { display:none; margin: 12px 0 0; padding: 10px 12px; border-radius: 14px; background: rgba(31,111,104,.09); color: #0e4b4a; font-size: .9rem; }
.form-status-message.is-visible { display:block; }
.g-recaptcha { transform-origin: left top; }
@media (max-width: 380px) { .g-recaptcha { transform: scale(.88); } .recaptcha-wrap { min-height: 70px; } }



/* Final WhatsApp CTA position: fixed, right side, vertically centered on desktop */
.whatsapp,
.whatsapp-float {
  position: fixed !important;
  right: 22px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 9999 !important;
}
.whatsapp:hover,
.whatsapp-float:hover {
  transform: translateY(-50%) scale(1.06) !important;
}
@media (max-width: 768px) {
  .whatsapp,
  .whatsapp-float {
    right: 18px !important;
    top: auto !important;
    bottom: 20px !important;
    transform: none !important;
  }
  .whatsapp:hover,
  .whatsapp-float:hover {
    transform: scale(1.05) !important;
  }
}



/* FINAL approved Option 2 header/footer layout */
.site-nav.tep-approved-header, .site-nav.tep-approved-header * { box-sizing: border-box !important; }
.site-nav.tep-approved-header { all: unset; display:block !important; position:sticky !important; top:0 !important; z-index:999 !important; width:100% !important; background:#fff !important; border-bottom:0!important; box-shadow:0 1px 0 rgba(0,0,0,.08) !important; font-family:'Manrope',Arial,sans-serif !important; }
.tep-header-inner { width:min(1840px, calc(100% - 96px)) !important; min-height:176px !important; margin:0 auto !important; display:flex !important; align-items:center !important; gap:0 !important; }
.tep-brand-block { display:block !important; flex:0 0 372px !important; color:inherit !important; text-decoration:none !important; }
.tep-logo { width:372px !important; text-align:center !important; color:#0b4a47 !important; line-height:1 !important; font-family: Georgia, 'Times New Roman', serif !important; transform:translateY(2px) !important; }
.tep-logo-the { font:700 26px/1 Georgia,'Times New Roman',serif !important; letter-spacing:.45em !important; padding-left:.45em !important; color:#0b4a47 !important; margin-bottom:7px !important; }
.tep-logo-ember { font:700 63px/.86 Georgia,'Times New Roman',serif !important; letter-spacing:.18em !important; padding-left:.18em !important; color:#0b4a47 !important; text-shadow:0 8px 10px rgba(0,0,0,.10) !important; }
.tep-logo-practice { margin-top:10px !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:17px !important; color:#c8953d !important; font-family:'Manrope',Arial,sans-serif !important; }
.tep-logo-practice span { display:block !important; width:78px !important; height:2px !important; background:#c8953d !important; }
.tep-logo-practice b { font:800 21px/1 'Manrope',Arial,sans-serif !important; letter-spacing:.36em !important; color:#c8953d !important; }
.tep-divider { flex:0 0 2px !important; width:2px !important; height:104px !important; background:#c8953d !important; margin:0 42px !important; }
.tep-service-lockup { flex:0 0 420px !important; color:#0b4a47 !important; font-family:'Manrope',Arial,sans-serif !important; font-size:21px !important; line-height:1.55 !important; font-weight:800 !important; letter-spacing:.31em !important; white-space:nowrap !important; }
.tep-nav-menu { margin-left:96px !important; padding-top:2px !important; display:flex !important; align-items:center !important; gap:54px !important; font-family:'Manrope',Arial,sans-serif !important; }
.tep-nav-menu a { position:relative !important; display:inline-block !important; color:#192024 !important; text-decoration:none !important; font-size:22px !important; line-height:1 !important; font-weight:500 !important; white-space:nowrap !important; }
.tep-nav-menu a.active::after { content:'' !important; position:absolute !important; left:0 !important; bottom:-32px !important; width:84px !important; height:4px !important; background:#c8953d !important; }
.tep-nav-menu .chev { font-size:18px !important; padding-left:8px !important; color:#192024 !important; }

.tep-approved-footer, .tep-approved-footer * { box-sizing:border-box !important; }
.tep-approved-footer { display:block !important; margin:0 !important; padding:76px 0 !important; background:#f7fbf7 !important; color:#1b2428 !important; border-top:1px solid rgba(0,0,0,.06) !important; font-family:'Manrope',Arial,sans-serif !important; }
.tep-footer-inner { width:min(1840px, calc(100% - 96px)) !important; margin:0 auto !important; display:grid !important; grid-template-columns: 390px 2px 395px 2px minmax(390px, 1fr) 2px 330px !important; align-items:center !important; gap:46px !important; }
.tep-footer-brand .tep-logo { width:360px !important; transform:none !important; }
.tep-footer-brand .tep-logo-the { font-size:25px !important; }
.tep-footer-brand .tep-logo-ember { font-size:60px !important; }
.tep-footer-brand .tep-logo-practice b { font-size:20px !important; }
.tep-footer-brand .tep-logo-practice span { width:74px !important; }
.tep-footer-service .tep-service-lockup { width:100% !important; flex:unset !important; font-size:20px !important; line-height:1.55 !important; letter-spacing:.30em !important; }
.tep-footer-inner > .tep-divider { width:2px !important; height:128px !important; margin:0 !important; justify-self:center !important; background:#c8953d !important; flex:unset !important; }
.tep-footer-inner > .tep-divider.tep-soft-divider { height:208px !important; background:rgba(11,74,71,.18) !important; }
.tep-footer-contact h3, .tep-footer-social h3 { margin:0 0 24px !important; color:#0b4a47 !important; font-size:21px !important; line-height:1.2 !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.03em !important; }
.tep-footer-contact p { display:grid !important; grid-template-columns:34px 1fr !important; align-items:start !important; gap:14px !important; margin:0 0 18px !important; color:#1d2528 !important; font-size:18px !important; line-height:1.45 !important; }
.tep-footer-contact a { color:#1d2528 !important; text-decoration:none !important; }
.tep-icon { color:#c8953d !important; font-size:23px !important; line-height:1.2 !important; font-weight:700 !important; }
.tep-footer-social { text-align:center !important; }
.tep-socials { display:flex !important; justify-content:center !important; gap:16px !important; margin-bottom:42px !important; }
.tep-socials a { width:42px !important; height:42px !important; border-radius:10px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; background:#0b4a47 !important; color:#fff !important; font-weight:800 !important; text-decoration:none !important; font-size:22px !important; }
.tep-copy { margin:0 !important; color:#1d2528 !important; font-size:16px !important; line-height:1.8 !important; }

@media (max-width: 1600px) {
  .tep-header-inner { width:min(1360px, calc(100% - 64px)) !important; min-height:142px !important; }
  .tep-brand-block { flex-basis:300px !important; }
  .tep-logo { width:300px !important; }
  .tep-logo-the { font-size:21px !important; margin-bottom:6px !important; }
  .tep-logo-ember { font-size:51px !important; }
  .tep-logo-practice { margin-top:8px !important; gap:13px !important; }
  .tep-logo-practice span { width:60px !important; }
  .tep-logo-practice b { font-size:17px !important; }
  .tep-divider { height:88px !important; margin:0 32px !important; }
  .tep-service-lockup { flex-basis:360px !important; font-size:17px !important; letter-spacing:.27em !important; }
  .tep-nav-menu { margin-left:52px !important; gap:40px !important; }
  .tep-nav-menu a { font-size:19px !important; }
  .tep-nav-menu a.active::after { bottom:-24px !important; width:72px !important; height:3px !important; }
  .tep-footer-inner { width:min(1360px, calc(100% - 64px)) !important; grid-template-columns:300px 2px 330px 2px minmax(330px, 1fr) 2px 230px !important; gap:30px !important; }
  .tep-footer-brand .tep-logo { width:300px !important; }
  .tep-footer-brand .tep-logo-the { font-size:21px !important; }
  .tep-footer-brand .tep-logo-ember { font-size:50px !important; }
  .tep-footer-brand .tep-logo-practice b { font-size:17px !important; }
  .tep-footer-brand .tep-logo-practice span { width:58px !important; }
  .tep-footer-service .tep-service-lockup { font-size:16px !important; letter-spacing:.25em !important; }
  .tep-footer-contact h3, .tep-footer-social h3 { font-size:17px !important; }
  .tep-footer-contact p { font-size:16px !important; }
  .tep-copy { font-size:14px !important; }
}
@media (max-width: 1100px) {
  .site-nav.tep-approved-header { border-bottom-width:0!important; }
  .tep-header-inner { width:calc(100% - 32px) !important; min-height:120px !important; flex-wrap:wrap !important; padding:18px 0 !important; }
  .tep-brand-block { flex:0 0 245px !important; }
  .tep-header-inner > .tep-divider, .tep-header-inner > .tep-service-lockup { display:none !important; }
  .tep-logo { width:245px !important; text-align:left !important; }
  .tep-logo-the { font-size:18px !important; padding-left:.35em !important; }
  .tep-logo-ember { font-size:44px !important; padding-left:.08em !important; }
  .tep-logo-practice { justify-content:flex-start !important; gap:10px !important; }
  .tep-logo-practice span { width:46px !important; }
  .tep-logo-practice b { font-size:15px !important; }
  .tep-nav-menu { margin-left:auto !important; gap:18px !important; flex-wrap:wrap !important; justify-content:flex-end !important; }
  .tep-nav-menu a { font-size:15px !important; }
  .tep-nav-menu a.active::after { display:none !important; }
  .tep-approved-footer { padding:44px 0 !important; }
  .tep-footer-inner { width:calc(100% - 40px) !important; grid-template-columns:1fr !important; gap:28px !important; text-align:left !important; }
  .tep-footer-inner > .tep-divider { display:none !important; }
  .tep-footer-brand .tep-logo { width:270px !important; transform:none !important; }
  .tep-footer-social { text-align:left !important; }
  .tep-socials { justify-content:flex-start !important; margin-bottom:20px !important; }
}
@media (max-width: 560px) {
  .tep-header-inner { display:block !important; }
  .tep-nav-menu { margin:18px 0 0 !important; justify-content:flex-start !important; gap:14px 18px !important; }
  .tep-nav-menu a { font-size:14px !important; }
}



/* FINAL SIZE/POSITION CORRECTION - 2026-05-29 */
.site-nav.tep-approved-header { border-bottom:0!important; }
.tep-header-inner { width:min(1740px, calc(100% - 96px)) !important; min-height:150px !important; }
.tep-brand-block { flex:0 0 330px !important; }
.tep-logo { width:330px !important; }
.tep-logo-the { font-size:22px !important; margin-bottom:6px !important; letter-spacing:.45em !important; }
.tep-logo-ember { font-size:56px !important; letter-spacing:.18em !important; }
.tep-logo-practice { margin-top:8px !important; gap:14px !important; }
.tep-logo-practice span { width:68px !important; height:2px !important; }
.tep-logo-practice b { font-size:18px !important; letter-spacing:.34em !important; }
.tep-divider { height:96px !important; margin:0 36px !important; }
.tep-service-lockup { flex:0 0 410px !important; font-size:18px !important; line-height:1.55 !important; letter-spacing:.28em !important; }
.tep-nav-menu { margin-left:44px !important; gap:44px !important; }
.tep-nav-menu a { font-size:19px !important; }
.tep-nav-menu .chev { font-size:16px !important; padding-left:6px !important; }
.tep-nav-menu a.active::after { bottom:-27px !important; width:78px !important; height:3px !important; }

.tep-approved-footer { padding:62px 0 !important; overflow:hidden !important; }
.tep-footer-inner { width:min(1720px, calc(100% - 96px)) !important; grid-template-columns:330px 2px 410px 2px 440px 2px 250px !important; gap:36px !important; align-items:center !important; }
.tep-footer-brand .tep-logo { width:330px !important; }
.tep-footer-brand .tep-logo-the { font-size:22px !important; margin-bottom:6px !important; }
.tep-footer-brand .tep-logo-ember { font-size:56px !important; }
.tep-footer-brand .tep-logo-practice { margin-top:8px !important; gap:14px !important; }
.tep-footer-brand .tep-logo-practice b { font-size:18px !important; }
.tep-footer-brand .tep-logo-practice span { width:68px !important; }
.tep-footer-service .tep-service-lockup { font-size:17px !important; line-height:1.55 !important; letter-spacing:.27em !important; }
.tep-footer-inner > .tep-divider { height:112px !important; }
.tep-footer-inner > .tep-divider.tep-soft-divider { height:180px !important; background:rgba(11,74,71,.16) !important; }
.tep-footer-contact h3, .tep-footer-social h3 { font-size:18px !important; margin-bottom:20px !important; }
.tep-footer-contact p { grid-template-columns:28px 1fr !important; gap:12px !important; font-size:16px !important; line-height:1.45 !important; margin-bottom:16px !important; }
.tep-icon { font-size:18px !important; }
.tep-socials { gap:14px !important; margin-bottom:34px !important; }
.tep-socials a { width:42px !important; height:42px !important; font-size:20px !important; }
.tep-copy { font-size:14px !important; line-height:1.7 !important; }

@media (max-width: 1600px) {
  .tep-header-inner { width:min(1320px, calc(100% - 64px)) !important; min-height:132px !important; }
  .tep-brand-block { flex-basis:275px !important; }
  .tep-logo { width:275px !important; }
  .tep-logo-the { font-size:19px !important; }
  .tep-logo-ember { font-size:47px !important; }
  .tep-logo-practice b { font-size:15px !important; }
  .tep-logo-practice span { width:54px !important; }
  .tep-divider { height:82px !important; margin:0 28px !important; }
  .tep-service-lockup { flex-basis:335px !important; font-size:15px !important; letter-spacing:.25em !important; }
  .tep-nav-menu { margin-left:32px !important; gap:34px !important; }
  .tep-nav-menu a { font-size:17px !important; }
  .tep-nav-menu a.active::after { bottom:-22px !important; width:66px !important; }

  .tep-footer-inner { width:min(1320px, calc(100% - 64px)) !important; grid-template-columns:275px 2px 315px 2px 390px 2px 210px !important; gap:22px !important; }
  .tep-footer-brand .tep-logo { width:275px !important; }
  .tep-footer-brand .tep-logo-the { font-size:19px !important; }
  .tep-footer-brand .tep-logo-ember { font-size:47px !important; }
  .tep-footer-brand .tep-logo-practice b { font-size:15px !important; }
  .tep-footer-brand .tep-logo-practice span { width:54px !important; }
  .tep-footer-service .tep-service-lockup { font-size:14px !important; letter-spacing:.24em !important; }
  .tep-footer-contact h3, .tep-footer-social h3 { font-size:15px !important; }
  .tep-footer-contact p { font-size:14px !important; }
  .tep-copy { font-size:12px !important; }
}



/* Final container-width adjustment: match main site section width and approved Option 2 proportions */
.site-nav.tep-approved-header { background:#fff !important; border-bottom:0!important; overflow:visible !important; }
.site-nav.tep-approved-header .tep-header-inner {
  width:min(1120px, calc(100% - 48px)) !important;
  max-width:1120px !important;
  min-height:118px !important;
  margin:0 auto !important;
  padding:12px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  overflow:visible !important;
}
.site-nav.tep-approved-header .tep-brand-block { flex:0 0 245px !important; width:245px !important; }
.site-nav.tep-approved-header .tep-logo { width:245px !important; transform:none !important; }
.site-nav.tep-approved-header .tep-logo-the { font-size:17px !important; letter-spacing:.43em !important; padding-left:.43em !important; margin-bottom:5px !important; }
.site-nav.tep-approved-header .tep-logo-ember { font-size:42px !important; letter-spacing:.17em !important; padding-left:.17em !important; line-height:.9 !important; text-shadow:0 5px 8px rgba(0,0,0,.08) !important; }
.site-nav.tep-approved-header .tep-logo-practice { margin-top:7px !important; gap:10px !important; }
.site-nav.tep-approved-header .tep-logo-practice span { width:48px !important; height:2px !important; }
.site-nav.tep-approved-header .tep-logo-practice b { font-size:14px !important; letter-spacing:.34em !important; }
.site-nav.tep-approved-header .tep-divider { flex:0 0 2px !important; width:2px !important; height:74px !important; margin:0 24px !important; }
.site-nav.tep-approved-header .tep-service-lockup { flex:0 0 300px !important; width:300px !important; font-size:13.5px !important; line-height:1.55 !important; letter-spacing:.27em !important; white-space:nowrap !important; }
.site-nav.tep-approved-header .tep-nav-menu { margin-left:34px !important; padding-top:0 !important; display:flex !important; align-items:center !important; gap:24px !important; flex:1 1 auto !important; justify-content:flex-start !important; }
.site-nav.tep-approved-header .tep-nav-menu a { font-size:15px !important; line-height:1 !important; font-weight:500 !important; white-space:nowrap !important; }
.site-nav.tep-approved-header .tep-nav-menu .chev { font-size:12px !important; padding-left:4px !important; }
.site-nav.tep-approved-header .tep-nav-menu a.active::after { bottom:-20px !important; width:52px !important; height:3px !important; }

.tep-approved-footer { padding:56px 0 !important; overflow:hidden !important; }
.tep-approved-footer .tep-footer-inner {
  width:min(1120px, calc(100% - 48px)) !important;
  max-width:1120px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:230px 1px 280px 1px 340px 1px 190px !important;
  gap:12px !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
.tep-approved-footer .tep-footer-brand .tep-logo { width:230px !important; transform:none !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-the { font-size:16px !important; letter-spacing:.43em !important; padding-left:.43em !important; margin-bottom:5px !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-ember { font-size:39px !important; letter-spacing:.17em !important; padding-left:.17em !important; line-height:.9 !important; text-shadow:0 5px 8px rgba(0,0,0,.08) !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-practice { margin-top:7px !important; gap:9px !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-practice span { width:44px !important; height:2px !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-practice b { font-size:13px !important; letter-spacing:.34em !important; }
.tep-approved-footer .tep-footer-service .tep-service-lockup { width:280px !important; flex:unset !important; font-size:12.5px !important; line-height:1.55 !important; letter-spacing:.25em !important; white-space:nowrap !important; }
.tep-approved-footer .tep-footer-inner > .tep-divider { width:1px !important; height:86px !important; margin:0 !important; justify-self:center !important; flex:unset !important; }
.tep-approved-footer .tep-footer-inner > .tep-divider.tep-soft-divider { height:142px !important; background:rgba(11,74,71,.16) !important; }
.tep-approved-footer .tep-footer-contact h3, .tep-approved-footer .tep-footer-social h3 { font-size:14px !important; line-height:1.2 !important; margin:0 0 14px !important; letter-spacing:.03em !important; }
.tep-approved-footer .tep-footer-contact p { display:grid !important; grid-template-columns:20px 1fr !important; gap:8px !important; font-size:13px !important; line-height:1.42 !important; margin:0 0 10px !important; }
.tep-approved-footer .tep-icon { font-size:15px !important; line-height:1.25 !important; }
.tep-approved-footer .tep-footer-social { text-align:center !important; min-width:0 !important; }
.tep-approved-footer .tep-socials { gap:10px !important; margin-bottom:26px !important; }
.tep-approved-footer .tep-socials a { width:34px !important; height:34px !important; border-radius:8px !important; font-size:16px !important; }
.tep-approved-footer .tep-copy { font-size:11.5px !important; line-height:1.65 !important; margin:0 !important; }

@media (max-width: 1180px) {
  .site-nav.tep-approved-header .tep-header-inner { width:min(1000px, calc(100% - 36px)) !important; min-height:110px !important; }
  .site-nav.tep-approved-header .tep-brand-block { flex-basis:210px !important; width:210px !important; }
  .site-nav.tep-approved-header .tep-logo { width:210px !important; }
  .site-nav.tep-approved-header .tep-logo-the { font-size:15px !important; }
  .site-nav.tep-approved-header .tep-logo-ember { font-size:36px !important; }
  .site-nav.tep-approved-header .tep-logo-practice b { font-size:12px !important; }
  .site-nav.tep-approved-header .tep-logo-practice span { width:38px !important; }
  .site-nav.tep-approved-header .tep-divider { height:66px !important; margin:0 18px !important; }
  .site-nav.tep-approved-header .tep-service-lockup { flex-basis:260px !important; width:260px !important; font-size:12px !important; }
  .site-nav.tep-approved-header .tep-nav-menu { margin-left:22px !important; gap:18px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a { font-size:14px !important; }
  .tep-approved-footer .tep-footer-inner { width:min(1000px, calc(100% - 36px)) !important; grid-template-columns:200px 1px 245px 1px 315px 1px 160px !important; gap:10px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo { width:200px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-the { font-size:14px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-ember { font-size:34px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-practice b { font-size:11px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-practice span { width:36px !important; }
  .tep-approved-footer .tep-footer-service .tep-service-lockup { width:245px !important; font-size:11px !important; }
  .tep-approved-footer .tep-footer-contact h3, .tep-approved-footer .tep-footer-social h3 { font-size:12.5px !important; }
  .tep-approved-footer .tep-footer-contact p { font-size:11.5px !important; }
}
@media (max-width: 900px) {
  .site-nav.tep-approved-header .tep-header-inner { display:block !important; width:min(720px, calc(100% - 32px)) !important; min-height:0 !important; padding:18px 0 !important; }
  .site-nav.tep-approved-header .tep-brand-block { display:block !important; width:220px !important; margin:0 auto 12px !important; }
  .site-nav.tep-approved-header .tep-logo { width:220px !important; margin:0 auto !important; }
  .site-nav.tep-approved-header .tep-divider, .site-nav.tep-approved-header .tep-service-lockup { display:none !important; }
  .site-nav.tep-approved-header .tep-nav-menu { margin:12px 0 0 !important; justify-content:center !important; flex-wrap:wrap !important; gap:14px 22px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a { font-size:14px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a.active::after { display:none !important; }
  .tep-approved-footer .tep-footer-inner { width:min(720px, calc(100% - 32px)) !important; display:grid !important; grid-template-columns:1fr !important; gap:22px !important; text-align:center !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo { width:220px !important; margin:0 auto !important; }
  .tep-approved-footer .tep-footer-service .tep-service-lockup { width:auto !important; text-align:center !important; }
  .tep-approved-footer .tep-footer-inner > .tep-divider { display:none !important; }
  .tep-approved-footer .tep-footer-contact p { display:block !important; text-align:center !important; }
}



/* Match the approved logo sample: same visual weight, height and proportions; no page content/font changes. */
.site-nav.tep-approved-header {
  background:#fff !important;
  border-bottom:0!important;
  overflow:hidden !important;
}
.site-nav.tep-approved-header .tep-header-inner {
  width:min(1840px, calc(100% - 128px)) !important;
  max-width:1840px !important;
  min-height:168px !important;
  margin:0 auto !important;
  padding:18px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
.site-nav.tep-approved-header .tep-brand-block { flex:0 0 382px !important; width:382px !important; }
.site-nav.tep-approved-header .tep-logo {
  width:382px !important;
  text-align:center !important;
  transform:none !important;
  color:#0b4a47 !important;
  font-family:Georgia,'Times New Roman',serif !important;
  line-height:1 !important;
}
.site-nav.tep-approved-header .tep-logo-the {
  font:700 25px/1 Georgia,'Times New Roman',serif !important;
  letter-spacing:.44em !important;
  padding-left:.44em !important;
  margin:0 0 7px !important;
  color:#0b4a47 !important;
}
.site-nav.tep-approved-header .tep-logo-ember {
  font:700 62px/.88 Georgia,'Times New Roman',serif !important;
  letter-spacing:.18em !important;
  padding-left:.18em !important;
  color:#0b4a47 !important;
  text-shadow:0 7px 10px rgba(0,0,0,.11) !important;
}
.site-nav.tep-approved-header .tep-logo-practice {
  margin-top:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:17px !important;
  color:#c8953d !important;
  font-family:'Manrope',Arial,sans-serif !important;
}
.site-nav.tep-approved-header .tep-logo-practice span { width:74px !important; height:2px !important; background:#c8953d !important; }
.site-nav.tep-approved-header .tep-logo-practice b {
  font:800 20px/1 'Manrope',Arial,sans-serif !important;
  letter-spacing:.35em !important;
  color:#c8953d !important;
}
.site-nav.tep-approved-header .tep-divider { flex:0 0 2px !important; width:2px !important; height:104px !important; margin:0 44px !important; background:#c8953d !important; }
.site-nav.tep-approved-header .tep-service-lockup {
  flex:0 0 430px !important;
  width:430px !important;
  color:#0b4a47 !important;
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:20px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  letter-spacing:.30em !important;
  white-space:nowrap !important;
}
.site-nav.tep-approved-header .tep-nav-menu {
  margin-left:auto !important;
  padding-top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:48px !important;
  flex:1 1 auto !important;
  font-family:'Manrope',Arial,sans-serif !important;
}
.site-nav.tep-approved-header .tep-nav-menu a { font-size:20px !important; line-height:1 !important; font-weight:500 !important; white-space:nowrap !important; color:#192024 !important; text-decoration:none !important; }
.site-nav.tep-approved-header .tep-nav-menu .chev { font-size:16px !important; padding-left:7px !important; }
.site-nav.tep-approved-header .tep-nav-menu a.active::after { bottom:-32px !important; width:82px !important; height:4px !important; background:#c8953d !important; }

.tep-approved-footer { background:#f7fbf7 !important; padding:74px 0 !important; overflow:hidden !important; }
.tep-approved-footer .tep-footer-inner {
  width:min(1840px, calc(100% - 128px)) !important;
  max-width:1840px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:382px 2px 430px 2px minmax(440px, 1fr) 2px 260px !important;
  gap:38px !important;
  align-items:center !important;
}
.tep-approved-footer .tep-footer-brand .tep-logo { width:382px !important; transform:none !important; text-align:center !important; font-family:Georgia,'Times New Roman',serif !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-the { font-size:25px !important; letter-spacing:.44em !important; padding-left:.44em !important; margin-bottom:7px !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-ember { font-size:62px !important; line-height:.88 !important; letter-spacing:.18em !important; padding-left:.18em !important; text-shadow:0 7px 10px rgba(0,0,0,.11) !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-practice { margin-top:10px !important; gap:17px !important; justify-content:center !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-practice span { width:74px !important; height:2px !important; }
.tep-approved-footer .tep-footer-brand .tep-logo-practice b { font-size:20px !important; letter-spacing:.35em !important; }
.tep-approved-footer .tep-footer-service .tep-service-lockup { width:430px !important; flex:unset !important; font-size:19px !important; line-height:1.55 !important; letter-spacing:.29em !important; white-space:nowrap !important; }
.tep-approved-footer .tep-footer-inner > .tep-divider { width:2px !important; height:118px !important; margin:0 !important; justify-self:center !important; background:#c8953d !important; flex:unset !important; }
.tep-approved-footer .tep-footer-inner > .tep-divider.tep-soft-divider { height:190px !important; background:rgba(11,74,71,.16) !important; }
.tep-approved-footer .tep-footer-contact h3, .tep-approved-footer .tep-footer-social h3 { font-size:18px !important; margin:0 0 22px !important; color:#0b4a47 !important; font-weight:800 !important; }
.tep-approved-footer .tep-footer-contact p { grid-template-columns:30px 1fr !important; gap:12px !important; font-size:16px !important; line-height:1.45 !important; margin:0 0 16px !important; }
.tep-approved-footer .tep-icon { font-size:20px !important; color:#c8953d !important; }
.tep-approved-footer .tep-socials a { width:42px !important; height:42px !important; border-radius:9px !important; font-size:19px !important; }
.tep-approved-footer .tep-copy { font-size:14px !important; line-height:1.7 !important; }

@media (max-width: 1600px) {
  .site-nav.tep-approved-header .tep-header-inner { width:min(1360px, calc(100% - 64px)) !important; min-height:142px !important; padding:16px 0 !important; }
  .site-nav.tep-approved-header .tep-brand-block { flex-basis:305px !important; width:305px !important; }
  .site-nav.tep-approved-header .tep-logo { width:305px !important; }
  .site-nav.tep-approved-header .tep-logo-the { font-size:20px !important; margin-bottom:6px !important; }
  .site-nav.tep-approved-header .tep-logo-ember { font-size:50px !important; }
  .site-nav.tep-approved-header .tep-logo-practice { margin-top:8px !important; gap:13px !important; }
  .site-nav.tep-approved-header .tep-logo-practice span { width:58px !important; }
  .site-nav.tep-approved-header .tep-logo-practice b { font-size:16px !important; }
  .site-nav.tep-approved-header .tep-divider { height:84px !important; margin:0 30px !important; }
  .site-nav.tep-approved-header .tep-service-lockup { flex-basis:340px !important; width:340px !important; font-size:16px !important; letter-spacing:.27em !important; }
  .site-nav.tep-approved-header .tep-nav-menu { gap:34px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a { font-size:17px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a.active::after { bottom:-25px !important; width:68px !important; height:3px !important; }

  .tep-approved-footer .tep-footer-inner { width:min(1360px, calc(100% - 64px)) !important; grid-template-columns:305px 2px 340px 2px minmax(360px, 1fr) 2px 205px !important; gap:24px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo { width:305px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-the { font-size:20px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-ember { font-size:50px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-practice b { font-size:16px !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo-practice span { width:58px !important; }
  .tep-approved-footer .tep-footer-service .tep-service-lockup { width:340px !important; font-size:15px !important; letter-spacing:.26em !important; }
  .tep-approved-footer .tep-footer-contact h3, .tep-approved-footer .tep-footer-social h3 { font-size:15px !important; }
  .tep-approved-footer .tep-footer-contact p { font-size:13.5px !important; }
  .tep-approved-footer .tep-copy { font-size:12px !important; }
}
@media (max-width: 1050px) {
  .site-nav.tep-approved-header .tep-header-inner { display:block !important; width:min(720px, calc(100% - 32px)) !important; min-height:0 !important; padding:18px 0 !important; }
  .site-nav.tep-approved-header .tep-brand-block { display:block !important; width:240px !important; margin:0 auto 12px !important; }
  .site-nav.tep-approved-header .tep-logo { width:240px !important; margin:0 auto !important; }
  .site-nav.tep-approved-header .tep-logo-the { font-size:16px !important; }
  .site-nav.tep-approved-header .tep-logo-ember { font-size:40px !important; }
  .site-nav.tep-approved-header .tep-logo-practice b { font-size:13px !important; }
  .site-nav.tep-approved-header .tep-divider, .site-nav.tep-approved-header .tep-service-lockup { display:none !important; }
  .site-nav.tep-approved-header .tep-nav-menu { margin:14px 0 0 !important; justify-content:center !important; flex-wrap:wrap !important; gap:14px 22px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a { font-size:14px !important; }
  .site-nav.tep-approved-header .tep-nav-menu a.active::after { display:none !important; }
  .tep-approved-footer .tep-footer-inner { width:min(720px, calc(100% - 32px)) !important; display:grid !important; grid-template-columns:1fr !important; gap:24px !important; text-align:center !important; }
  .tep-approved-footer .tep-footer-brand .tep-logo { width:250px !important; margin:0 auto !important; }
  .tep-approved-footer .tep-footer-service .tep-service-lockup { width:auto !important; text-align:center !important; }
  .tep-approved-footer .tep-footer-inner > .tep-divider { display:none !important; }
  .tep-approved-footer .tep-footer-contact p { display:block !important; text-align:center !important; }
}



/* FINAL OVERRIDE: keep header/footer inside the same central width as site sections, with scaled Option 2 lockup. */
.site-nav.tep-approved-header{background:#fff!important;border-bottom:0!important;overflow:visible!important;}
.site-nav.tep-approved-header .tep-header-inner{
  width:min(1160px,calc(100% - 40px))!important;max-width:1160px!important;margin:0 auto!important;
  min-height:118px!important;padding:14px 0!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;gap:0!important;overflow:visible!important;
}
.site-nav.tep-approved-header .tep-brand-block{flex:0 0 250px!important;width:250px!important;}
.site-nav.tep-approved-header .tep-logo{width:250px!important;text-align:center!important;transform:none!important;color:#0b4a47!important;font-family:Georgia,'Times New Roman',serif!important;line-height:1!important;}
.site-nav.tep-approved-header .tep-logo-the{font:700 16px/1 Georgia,'Times New Roman',serif!important;letter-spacing:.44em!important;padding-left:.44em!important;margin:0 0 5px!important;color:#0b4a47!important;}
.site-nav.tep-approved-header .tep-logo-ember{font:700 41px/.88 Georgia,'Times New Roman',serif!important;letter-spacing:.18em!important;padding-left:.18em!important;color:#0b4a47!important;text-shadow:0 5px 8px rgba(0,0,0,.10)!important;}
.site-nav.tep-approved-header .tep-logo-practice{margin-top:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;color:#c8953d!important;font-family:'Manrope',Arial,sans-serif!important;}
.site-nav.tep-approved-header .tep-logo-practice span{width:48px!important;height:2px!important;background:#c8953d!important;}
.site-nav.tep-approved-header .tep-logo-practice b{font:800 13px/1 'Manrope',Arial,sans-serif!important;letter-spacing:.35em!important;color:#c8953d!important;}
.site-nav.tep-approved-header .tep-divider{flex:0 0 2px!important;width:2px!important;height:72px!important;margin:0 24px!important;background:#c8953d!important;}
.site-nav.tep-approved-header .tep-service-lockup{flex:0 0 295px!important;width:295px!important;color:#0b4a47!important;font-family:'Manrope',Arial,sans-serif!important;font-size:13px!important;line-height:1.55!important;font-weight:800!important;letter-spacing:.28em!important;white-space:nowrap!important;}
.site-nav.tep-approved-header .tep-nav-menu{margin-left:28px!important;padding-top:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:22px!important;flex:1 1 auto!important;font-family:'Manrope',Arial,sans-serif!important;min-width:0!important;}
.site-nav.tep-approved-header .tep-nav-menu a{font-size:14px!important;line-height:1!important;font-weight:500!important;white-space:nowrap!important;color:#192024!important;text-decoration:none!important;}
.site-nav.tep-approved-header .tep-nav-menu .chev{font-size:11px!important;padding-left:3px!important;}
.site-nav.tep-approved-header .tep-nav-menu a.active::after{bottom:-22px!important;width:54px!important;height:3px!important;background:#c8953d!important;}

.tep-approved-footer{background:#f7fbf7!important;padding:52px 0!important;overflow:visible!important;}
.tep-approved-footer .tep-footer-inner{
  width:min(1160px,calc(100% - 40px))!important;max-width:1160px!important;margin:0 auto!important;
  display:grid!important;grid-template-columns:235px 1px 285px 1px minmax(290px,1fr) 1px 145px!important;
  gap:22px!important;align-items:center!important;overflow:visible!important;
}
.tep-approved-footer .tep-footer-brand .tep-logo{width:235px!important;transform:none!important;text-align:center!important;font-family:Georgia,'Times New Roman',serif!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-the{font-size:15px!important;letter-spacing:.44em!important;padding-left:.44em!important;margin-bottom:5px!important;color:#0b4a47!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-ember{font-size:38px!important;line-height:.88!important;letter-spacing:.18em!important;padding-left:.18em!important;color:#0b4a47!important;text-shadow:0 5px 8px rgba(0,0,0,.10)!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-practice{margin-top:7px!important;gap:9px!important;justify-content:center!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-practice span{width:44px!important;height:2px!important;background:#c8953d!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-practice b{font-size:12px!important;letter-spacing:.35em!important;color:#c8953d!important;}
.tep-approved-footer .tep-footer-service .tep-service-lockup{width:285px!important;flex:unset!important;font-size:12px!important;line-height:1.55!important;letter-spacing:.27em!important;white-space:nowrap!important;color:#0b4a47!important;font-weight:800!important;}
.tep-approved-footer .tep-footer-inner>.tep-divider{width:1px!important;height:86px!important;margin:0!important;justify-self:center!important;background:#c8953d!important;flex:unset!important;}
.tep-approved-footer .tep-footer-inner>.tep-divider.tep-soft-divider{height:146px!important;background:rgba(11,74,71,.16)!important;}
.tep-approved-footer .tep-footer-contact h3,.tep-approved-footer .tep-footer-social h3{font-size:13px!important;line-height:1.2!important;margin:0 0 14px!important;color:#0b4a47!important;font-weight:800!important;}
.tep-approved-footer .tep-footer-contact p{display:grid!important;grid-template-columns:20px 1fr!important;gap:8px!important;font-size:12px!important;line-height:1.42!important;margin:0 0 10px!important;color:#192024!important;}
.tep-approved-footer .tep-icon{font-size:14px!important;color:#c8953d!important;line-height:1.2!important;}
.tep-approved-footer .tep-footer-social{text-align:center!important;min-width:0!important;}
.tep-approved-footer .tep-socials{gap:10px!important;margin-bottom:24px!important;display:flex!important;justify-content:center!important;}
.tep-approved-footer .tep-socials a{width:34px!important;height:34px!important;border-radius:8px!important;font-size:16px!important;}
.tep-approved-footer .tep-copy{font-size:11px!important;line-height:1.65!important;margin:0!important;}
@media(max-width:1200px){
 .site-nav.tep-approved-header .tep-header-inner{width:min(1000px,calc(100% - 36px))!important;min-height:104px!important;}
 .site-nav.tep-approved-header .tep-brand-block{flex-basis:205px!important;width:205px!important}.site-nav.tep-approved-header .tep-logo{width:205px!important}.site-nav.tep-approved-header .tep-logo-the{font-size:13px!important}.site-nav.tep-approved-header .tep-logo-ember{font-size:34px!important}.site-nav.tep-approved-header .tep-logo-practice b{font-size:10.5px!important}.site-nav.tep-approved-header .tep-logo-practice span{width:36px!important}.site-nav.tep-approved-header .tep-divider{height:62px!important;margin:0 16px!important}.site-nav.tep-approved-header .tep-service-lockup{flex-basis:245px!important;width:245px!important;font-size:10.5px!important}.site-nav.tep-approved-header .tep-nav-menu{margin-left:18px!important;gap:16px!important}.site-nav.tep-approved-header .tep-nav-menu a{font-size:13px!important}
 .tep-approved-footer .tep-footer-inner{width:min(1000px,calc(100% - 36px))!important;grid-template-columns:190px 1px 235px 1px minmax(260px,1fr) 1px 130px!important;gap:16px!important}.tep-approved-footer .tep-footer-brand .tep-logo{width:190px!important}.tep-approved-footer .tep-footer-brand .tep-logo-the{font-size:12px!important}.tep-approved-footer .tep-footer-brand .tep-logo-ember{font-size:31px!important}.tep-approved-footer .tep-footer-brand .tep-logo-practice b{font-size:10px!important}.tep-approved-footer .tep-footer-brand .tep-logo-practice span{width:32px!important}.tep-approved-footer .tep-footer-service .tep-service-lockup{width:235px!important;font-size:10px!important}.tep-approved-footer .tep-footer-contact p{font-size:11px!important}.tep-approved-footer .tep-footer-contact h3,.tep-approved-footer .tep-footer-social h3{font-size:12px!important}
}
@media(max-width:900px){
 .site-nav.tep-approved-header .tep-header-inner{display:block!important;width:min(720px,calc(100% - 32px))!important;min-height:0!important;padding:18px 0!important}.site-nav.tep-approved-header .tep-brand-block{display:block!important;width:220px!important;margin:0 auto 12px!important}.site-nav.tep-approved-header .tep-logo{width:220px!important;margin:0 auto!important}.site-nav.tep-approved-header .tep-logo-the{font-size:14px!important}.site-nav.tep-approved-header .tep-logo-ember{font-size:36px!important}.site-nav.tep-approved-header .tep-logo-practice b{font-size:11px!important}.site-nav.tep-approved-header .tep-divider,.site-nav.tep-approved-header .tep-service-lockup{display:none!important}.site-nav.tep-approved-header .tep-nav-menu{margin:12px 0 0!important;justify-content:center!important;flex-wrap:wrap!important;gap:14px 22px!important}.site-nav.tep-approved-header .tep-nav-menu a{font-size:14px!important}.site-nav.tep-approved-header .tep-nav-menu a.active::after{display:none!important}
 .tep-approved-footer .tep-footer-inner{width:min(720px,calc(100% - 32px))!important;display:grid!important;grid-template-columns:1fr!important;gap:22px!important;text-align:center!important}.tep-approved-footer .tep-footer-brand .tep-logo{width:220px!important;margin:0 auto!important}.tep-approved-footer .tep-footer-service .tep-service-lockup{width:auto!important;text-align:center!important}.tep-approved-footer .tep-footer-inner>.tep-divider{display:none!important}.tep-approved-footer .tep-footer-contact p{display:block!important;text-align:center!important}
}



/* FINAL FIX: left brand lockup, right-aligned navigation, contained footer. */
.site-nav.tep-approved-header,
.site-nav.tep-approved-header *{box-sizing:border-box!important;}
.site-nav.tep-approved-header{
  all:unset!important;display:block!important;position:sticky!important;top:0!important;z-index:999!important;
  width:100%!important;background:#fff!important;border-bottom:0!important;
  font-family:'Manrope',Arial,sans-serif!important;overflow:visible!important;
}
.site-nav.tep-approved-header .tep-header-inner{
  width:min(1280px,calc(100% - 80px))!important;max-width:1280px!important;margin:0 auto!important;
  min-height:118px!important;padding:14px 0!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;gap:0!important;overflow:visible!important;
}
.site-nav.tep-approved-header .tep-brand-block{display:block!important;flex:0 0 250px!important;width:250px!important;margin:0!important;text-decoration:none!important;}
.site-nav.tep-approved-header .tep-logo{width:250px!important;text-align:center!important;color:#0b4a47!important;font-family:Georgia,'Times New Roman',serif!important;line-height:1!important;}
.site-nav.tep-approved-header .tep-logo-the{font:700 16px/1 Georgia,'Times New Roman',serif!important;letter-spacing:.44em!important;padding-left:.44em!important;margin:0 0 5px!important;color:#0b4a47!important;}
.site-nav.tep-approved-header .tep-logo-ember{font:700 41px/.88 Georgia,'Times New Roman',serif!important;letter-spacing:.18em!important;padding-left:.18em!important;color:#0b4a47!important;text-shadow:0 5px 8px rgba(0,0,0,.10)!important;}
.site-nav.tep-approved-header .tep-logo-practice{margin-top:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;color:#c8953d!important;font-family:'Manrope',Arial,sans-serif!important;}
.site-nav.tep-approved-header .tep-logo-practice span{display:block!important;width:48px!important;height:2px!important;background:#c8953d!important;}
.site-nav.tep-approved-header .tep-logo-practice b{font:800 13px/1 'Manrope',Arial,sans-serif!important;letter-spacing:.35em!important;color:#c8953d!important;}
.site-nav.tep-approved-header .tep-divider{display:block!important;flex:0 0 2px!important;width:2px!important;height:72px!important;margin:0 24px!important;background:#c8953d!important;}
.site-nav.tep-approved-header .tep-service-lockup{display:block!important;flex:0 0 295px!important;width:295px!important;color:#0b4a47!important;font-family:'Manrope',Arial,sans-serif!important;font-size:13px!important;line-height:1.55!important;font-weight:800!important;letter-spacing:.28em!important;white-space:nowrap!important;}
.site-nav.tep-approved-header .tep-nav-menu{
  margin-left:auto!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:34px!important;flex:0 1 auto!important;min-width:0!important;font-family:'Manrope',Arial,sans-serif!important;
}
.site-nav.tep-approved-header .tep-nav-menu a{position:relative!important;display:inline-block!important;font-size:15px!important;line-height:1!important;font-weight:500!important;white-space:nowrap!important;color:#192024!important;text-decoration:none!important;}
.site-nav.tep-approved-header .tep-nav-menu .chev{font-size:11px!important;padding-left:4px!important;color:#192024!important;}
.site-nav.tep-approved-header .tep-nav-menu a.active::after{content:''!important;position:absolute!important;left:0!important;bottom:-24px!important;width:58px!important;height:3px!important;background:#c8953d!important;}

.tep-approved-footer{background:#f7fbf7!important;padding:52px 0!important;overflow:hidden!important;}
.tep-approved-footer .tep-footer-inner{
  width:min(1160px,calc(100% - 40px))!important;max-width:1160px!important;margin:0 auto!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;overflow:hidden!important;
}
.tep-approved-footer .tep-footer-brand{flex:0 0 220px!important;min-width:220px!important;}
.tep-approved-footer .tep-footer-brand .tep-logo{width:220px!important;transform:none!important;text-align:center!important;font-family:Georgia,'Times New Roman',serif!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-the{font-size:14px!important;letter-spacing:.44em!important;padding-left:.44em!important;margin-bottom:5px!important;color:#0b4a47!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-ember{font-size:36px!important;line-height:.88!important;letter-spacing:.18em!important;padding-left:.18em!important;color:#0b4a47!important;text-shadow:0 5px 8px rgba(0,0,0,.10)!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-practice{margin-top:7px!important;gap:8px!important;justify-content:center!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-practice span{width:40px!important;height:2px!important;background:#c8953d!important;}
.tep-approved-footer .tep-footer-brand .tep-logo-practice b{font-size:11px!important;letter-spacing:.35em!important;color:#c8953d!important;}
.tep-approved-footer .tep-footer-service{flex:0 0 260px!important;min-width:260px!important;}
.tep-approved-footer .tep-footer-service .tep-service-lockup{width:260px!important;flex:unset!important;font-size:11px!important;line-height:1.55!important;letter-spacing:.25em!important;white-space:nowrap!important;color:#0b4a47!important;font-weight:800!important;}
.tep-approved-footer .tep-footer-inner>.tep-divider{flex:0 0 1px!important;width:1px!important;height:82px!important;margin:0!important;background:#c8953d!important;}
.tep-approved-footer .tep-footer-inner>.tep-divider.tep-soft-divider{height:140px!important;background:rgba(11,74,71,.16)!important;}
.tep-approved-footer .tep-footer-contact{flex:0 1 330px!important;min-width:300px!important;}
.tep-approved-footer .tep-footer-contact h3,.tep-approved-footer .tep-footer-social h3{font-size:13px!important;line-height:1.2!important;margin:0 0 14px!important;color:#0b4a47!important;font-weight:800!important;}
.tep-approved-footer .tep-footer-contact p{display:grid!important;grid-template-columns:20px 1fr!important;gap:8px!important;font-size:12px!important;line-height:1.42!important;margin:0 0 10px!important;color:#192024!important;}
.tep-approved-footer .tep-icon{font-size:14px!important;color:#c8953d!important;line-height:1.2!important;}
.tep-approved-footer .tep-footer-social{flex:0 0 130px!important;text-align:center!important;min-width:130px!important;}
.tep-approved-footer .tep-socials{gap:10px!important;margin-bottom:24px!important;display:flex!important;justify-content:center!important;}
.tep-approved-footer .tep-socials a{width:34px!important;height:34px!important;border-radius:8px!important;font-size:16px!important;}
.tep-approved-footer .tep-copy{font-size:11px!important;line-height:1.65!important;margin:0!important;}

@media(max-width:1320px){
  .site-nav.tep-approved-header .tep-header-inner{width:min(1160px,calc(100% - 40px))!important;min-height:108px!important;}
  .site-nav.tep-approved-header .tep-brand-block{flex-basis:210px!important;width:210px!important}.site-nav.tep-approved-header .tep-logo{width:210px!important}.site-nav.tep-approved-header .tep-logo-the{font-size:13.5px!important}.site-nav.tep-approved-header .tep-logo-ember{font-size:34px!important}.site-nav.tep-approved-header .tep-logo-practice b{font-size:10.5px!important}.site-nav.tep-approved-header .tep-logo-practice span{width:36px!important}.site-nav.tep-approved-header .tep-divider{height:62px!important;margin:0 16px!important}.site-nav.tep-approved-header .tep-service-lockup{flex-basis:245px!important;width:245px!important;font-size:10.5px!important}.site-nav.tep-approved-header .tep-nav-menu{gap:20px!important}.site-nav.tep-approved-header .tep-nav-menu a{font-size:13.5px!important}.site-nav.tep-approved-header .tep-nav-menu a.active::after{bottom:-21px!important;width:52px!important}
}
@media(max-width:980px){
  .site-nav.tep-approved-header .tep-header-inner{display:block!important;width:min(720px,calc(100% - 32px))!important;min-height:0!important;padding:18px 0!important}.site-nav.tep-approved-header .tep-brand-block{display:block!important;width:220px!important;margin:0 auto 12px!important}.site-nav.tep-approved-header .tep-logo{width:220px!important;margin:0 auto!important}.site-nav.tep-approved-header .tep-logo-the{font-size:14px!important}.site-nav.tep-approved-header .tep-logo-ember{font-size:36px!important}.site-nav.tep-approved-header .tep-logo-practice b{font-size:11px!important}.site-nav.tep-approved-header .tep-divider,.site-nav.tep-approved-header .tep-service-lockup{display:none!important}.site-nav.tep-approved-header .tep-nav-menu{margin:12px 0 0!important;justify-content:center!important;flex-wrap:wrap!important;gap:14px 22px!important}.site-nav.tep-approved-header .tep-nav-menu a{font-size:14px!important}.site-nav.tep-approved-header .tep-nav-menu a.active::after{display:none!important}
  .tep-approved-footer .tep-footer-inner{width:min(720px,calc(100% - 32px))!important;display:grid!important;grid-template-columns:1fr!important;gap:22px!important;text-align:center!important;overflow:visible!important}.tep-approved-footer .tep-footer-brand{min-width:0!important}.tep-approved-footer .tep-footer-brand .tep-logo{width:220px!important;margin:0 auto!important}.tep-approved-footer .tep-footer-service{min-width:0!important}.tep-approved-footer .tep-footer-service .tep-service-lockup{width:auto!important;text-align:center!important}.tep-approved-footer .tep-footer-inner>.tep-divider{display:none!important}.tep-approved-footer .tep-footer-contact{min-width:0!important}.tep-approved-footer .tep-footer-contact p{display:block!important;text-align:center!important}.tep-approved-footer .tep-footer-social{min-width:0!important}
}



/* FINAL WIDTH ALIGNMENT: match all page content to approved header width */
:root { --approved-content-width: 1160px; --approved-content-gutter: 40px; }

/* Keep section backgrounds full-width, but constrain the content inside them */
.container,
main > section > .container,
main > section > .container.hero-grid,
main > section > .container.contact-grid,
main > section > .container.about-summary-card,
.experiences-refined .container,
.faq-preview .container,
.about-summary-section .container,
.cta .container,
.faq .container,
.about .container,
.testimonials .container,
.cred-strip .container,
section > .container {
  width: min(var(--approved-content-width), calc(100% - var(--approved-content-gutter))) !important;
  max-width: var(--approved-content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Make wider feature grids align to the same container instead of stretching */
.experiences-refined .container,
.experiences-grid,
.service-cards,
.cards,
.process,
.faq-preview-grid,
.contact-grid,
.hero-grid,
.about-summary-card,
.about-summary-grid {
  max-width: var(--approved-content-width) !important;
}

/* Header and footer stay on the same visual grid as the rest of the site */
.site-nav.tep-approved-header .tep-header-inner,
.site-footer.tep-approved-footer .tep-footer-inner {
  width: min(var(--approved-content-width), calc(100% - var(--approved-content-gutter))) !important;
  max-width: var(--approved-content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 900px) {
  :root { --approved-content-gutter: 32px; }
}

@media (max-width: 560px) {
  :root { --approved-content-gutter: 24px; }
}



/* Hero flush edge fix */
.hero.hero-full { background: #fff !important; margin-top: 0 !important; border-top: 0 !important; }
.hero.hero-full > .container, .hero-art { background: transparent !important; }
.hero-art { line-height: 0 !important; }
.hero-art img { width: 100% !important; height: auto !important; transform: none !important; object-fit: contain !important; object-position: center center !important; }
header, .site-nav, .tep-approved-header { margin-bottom: 0 !important; }
header + main, header + main > .hero.hero-full { margin-top: 0 !important; }



/* Final fix: remove any green/cream separator above the hero and make hero image flush full-width */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}
body::before, body::after,
main::before, main::after,
.site-nav::before, .site-nav::after,
.tep-approved-header::before, .tep-approved-header::after,
.hero.hero-full::before, .hero.hero-full::after {
  display: none !important;
  content: none !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.site-nav,
.tep-approved-header,
header.site-nav {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
main {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}
header + main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
main > .hero.hero-full:first-child {
  margin-top: -1px !important; /* closes any sub-pixel seam under header */
}
.hero.hero-full {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
  line-height: 0 !important;
}
.hero.hero-full > .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  line-height: 0 !important;
}
.hero-art {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  line-height: 0 !important;
}
.hero-art img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: contain !important;
  object-position: center top !important;
  transform: none !important;
}



/* Final override: remove the pale green header separator above the hero */
html, body { margin:0 !important; padding:0 !important; }
.site-nav.tep-approved-header,
header.site-nav.tep-approved-header,
header[aria-label="Primary navigation"],
.site-nav {
  border-bottom: 0 !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.site-nav.tep-approved-header::after,
.site-nav.tep-approved-header::before,
header.site-nav.tep-approved-header::after,
header.site-nav.tep-approved-header::before {
  display:none !important;
  content:none !important;
  height:0 !important;
  background:transparent !important;
  border:0 !important;
}
header + main, main, main > section.hero.hero-full:first-child, .hero.hero-full {
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}



/* Final hero correction: make therapy image cover the full hero height and keep stat bar inside hero image area */
@media (min-width: 901px) {
  body main > section.hero-layered-section {
    position: relative !important;
    height: 704px !important;
    min-height: 704px !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #fbf7f1 !important;
  }
  body main > section.hero-layered-section .hero-layered-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: url('hero-session-clean.webp') !important;
    background-size: cover !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    z-index: 0 !important;
  }
  body main > section.hero-layered-section .hero-layered-fade {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg,
      #fbf7f1 0%,
      #fbf7f1 24%,
      rgba(251,247,241,.92) 34%,
      rgba(251,247,241,.60) 45%,
      rgba(251,247,241,.16) 58%,
      rgba(251,247,241,0) 74%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }
  body main > section.hero-layered-section .hero-layered-inner {
    height: 704px !important;
    min-height: 704px !important;
    z-index: 2 !important;
  }
  body main > section.hero-layered-section .hero-layered-copy {
    top: 64px !important;
    width: min(500px, 42vw) !important;
  }
  body main > section.hero-layered-section .hero-layered-copy h1 {
    font-size: clamp(48px, 4.75vw, 74px) !important;
    margin-bottom: 18px !important;
  }
  body main > section.hero-layered-section .hero-layered-copy p {
    font-size: 18px !important;
    line-height: 1.48 !important;
    margin-bottom: 22px !important;
    max-width: 500px !important;
  }
  body main > section.hero-layered-section .hero-layered-btn {
    height: 52px !important;
    padding: 0 24px !important;
    font-size: 16px !important;
  }
  body main > section.hero-layered-section .hero-layered-statbar {
    left: 0 !important;
    right: 0 !important;
    bottom: 32px !important;
    min-height: 112px !important;
    padding: 16px 32px !important;
    z-index: 4 !important;
  }
}
/* Hide only the company address line; keep the older approved footer layout intact */
.tep-footer-address { display: none !important; }



/* Force WhatsApp button to the right-centre of the viewport */
.whatsapp-float,
a.whatsapp-float {
  position: fixed !important;
  right: 24px !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  z-index: 99999 !important;
}
.whatsapp-float:hover,
a.whatsapp-float:hover {
  transform: translateY(-50%) scale(1.05) !important;
}
@media (max-width: 900px) {
  .whatsapp-float, a.whatsapp-float {
    right: 16px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }
  .whatsapp-float:hover, a.whatsapp-float:hover {
    transform: translateY(-50%) scale(1.05) !important;
  }
}



/* Navigation refinement: chevrons only for items with sub-pages, with elegant dropdowns. */
.tep-nav-menu{align-items:center!important;}
.tep-nav-menu .nav-dropdown{position:relative;display:flex;align-items:center;}
.tep-nav-menu .nav-dropdown>a{display:inline-flex;align-items:center;gap:5px;}
.tep-nav-menu .nav-dropdown .chev{font-size:.9em;line-height:1;opacity:.9;}
.tep-nav-menu .nav-submenu{
  position:absolute;
  top:calc(100% + 16px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:230px;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(37,48,43,.10);
  box-shadow:0 18px 45px rgba(37,48,43,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:1000;
}
.tep-nav-menu .nav-submenu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px;
}
.tep-nav-menu .nav-dropdown:hover .nav-submenu,
.tep-nav-menu .nav-dropdown:focus-within .nav-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.tep-nav-menu .nav-submenu a{
  display:block!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  font-size:14px!important;
  line-height:1.2!important;
  color:#1f2d2a!important;
  white-space:nowrap!important;
}
.tep-nav-menu .nav-submenu a:hover{
  background:#f2eadf!important;
  color:#0b4a47!important;
}
@media(max-width:900px){
  .tep-nav-menu .nav-submenu{display:none!important;}
}



/* Mobile responsiveness hardening for all small screens */
html, body { max-width:100%; overflow-x:hidden !important; }
*, *::before, *::after { box-sizing:border-box; }
img, svg, video { max-width:100%; height:auto; }

@media (max-width: 980px){
  .container,
  .loc-wrap,
  .locations-page-redesign .loc-wrap,
  .tep-header-inner,
  .hero-layered-inner,
  .tep-home-hero__inner{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }
  section { padding-left:0 !important; padding-right:0 !important; }
  .cards,
  .service-cards,
  .service-grid,
  .process,
  .about-grid,
  .about-summary-grid,
  .contact-grid,
  .loc-hero-grid,
  .loc-choice-strip,
  .loc-card,
  .loc-card:nth-child(even),
  .loc-access-grid,
  .loc-booking-note,
  .locations-summary,
  .locations-hero-grid,
  .locations-list-v2,
  .experiences-grid,
  .faq-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }
  .loc-card:nth-child(even) .loc-card-aside,
  .loc-card:nth-child(even) .loc-card-main { order:initial !important; }
  .section-head,
  .loc-section-head,
  .experiences-head {
    display:block !important;
    text-align:left !important;
  }
  .section-head p,
  .loc-section-head p,
  .experiences-head p { margin-top:14px !important; max-width:100% !important; }
  .card,
  .service-card-link,
  .step,
  .contact-panel,
  .loc-card-main,
  .loc-card-aside,
  .faq-preview-card,
  .experience-card {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .contact-panel { padding:24px !important; }
  .contact-panel h2,
  .section-head h2,
  .about-copy h2,
  .loc-section-head h2 {
    font-size:clamp(2rem, 8vw, 3rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  .contact-panel p,
  .card p,
  .service-card-link p,
  .step p,
  .loc-access p,
  .loc-lede {
    font-size:1rem !important;
    line-height:1.6 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  .validated-contact-form,
  .validated-contact-form .form-field,
  .validated-contact-form input,
  .validated-contact-form textarea,
  .validated-contact-form button {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .phone-row {
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
  }
  .validated-contact-form input[name="country_code"] { max-width:96px !important; }
  .recaptcha-wrap { width:100% !important; overflow:hidden !important; }
  .g-recaptcha { transform-origin:left top !important; max-width:100% !important; }
  .whatsapp-float,
  a.whatsapp-float {
    width:58px !important;
    height:58px !important;
    right:16px !important;
    bottom:18px !important;
    top:auto !important;
    transform:none !important;
    z-index:9999 !important;
  }
  .whatsapp-float:hover,
  a.whatsapp-float:hover { transform:scale(1.04) !important; }
}

@media (min-width: 641px) and (max-width: 980px){
  .cards,
  .service-cards,
  .service-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 640px){
  .container,
  .loc-wrap,
  .locations-page-redesign .loc-wrap,
  .tep-header-inner,
  .hero-layered-inner,
  .tep-home-hero__inner { width:calc(100% - 28px) !important; }
  body { font-size:16px !important; }
  h1,
  .hero h1,
  .tep-home-hero__copy h1,
  .hero-layered-copy h1,
  .loc-hero h1,
  .locations-hero h1 {
    font-size:clamp(2.65rem, 13vw, 4rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
    max-width:100% !important;
  }
  .hero p,
  .tep-home-hero__copy p,
  .hero-layered-copy p,
  .loc-lede { font-size:1rem !important; max-width:100% !important; }
  .hero-actions,
  .hero-layered-actions,
  .tep-home-hero__actions { display:grid !important; grid-template-columns:1fr !important; gap:12px !important; width:100% !important; }
  .btn,
  .btn-primary,
  .btn-secondary,
  .hero-layered-btn,
  .tep-home-hero__btn { width:100% !important; min-width:0 !important; max-width:100% !important; text-align:center !important; }
  /* Homepage hero: avoid content/stat bar overlapping the image on phones */
  .tep-home-hero,
  .hero-layered-section { height:auto !important; min-height:0 !important; overflow:hidden !important; }
  .tep-home-hero__inner,
  .hero-layered-inner { height:auto !important; min-height:0 !important; display:flex !important; flex-direction:column !important; padding:34px 0 24px !important; }
  .tep-home-hero__copy,
  .hero-layered-copy { position:relative !important; left:auto !important; top:auto !important; width:100% !important; max-width:100% !important; z-index:4 !important; padding:0 !important; }
  .tep-home-hero__media,
  .hero-layered-bg { position:relative !important; inset:auto !important; order:2 !important; width:100vw !important; margin-left:calc(50% - 50vw) !important; height:360px !important; min-height:360px !important; background-position:center center !important; background-size:cover !important; opacity:1 !important; }
  .tep-home-hero__fade,
  .hero-layered-fade { display:none !important; }
  .tep-home-hero__stats,
  .hero-layered-statbar {
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    order:3 !important;
    width:100% !important;
    margin:18px 0 0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    min-height:0 !important;
    padding:18px 18px !important;
    border-radius:24px !important;
  }
  .tep-home-hero__stat,
  .hero-layered-stat {
    display:grid !important;
    grid-template-columns:58px 1fr !important;
    gap:14px !important;
    padding:14px 4px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(7,88,77,.12) !important;
  }
  .tep-home-hero__stat:last-child,
  .hero-layered-stat:last-child { border-bottom:0 !important; }
  .tep-home-hero__stat::after { display:none !important; }
  .tep-home-hero__icon,
  .hero-layered-stat i { width:52px !important; height:52px !important; font-size:26px !important; }
  .tep-home-hero__meta strong,
  .hero-layered-stat strong { font-size:28px !important; }
  .tep-home-hero__meta span,
  .hero-layered-stat span { font-size:16px !important; }
  .cards,
  .service-cards,
  .service-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .service-card-link,
  .card { padding:24px !important; }
  .service-card-link h3,
  .card h3 { font-size:1.65rem !important; line-height:1.18 !important; word-break:normal !important; overflow-wrap:normal !important; }
  .service-card-link p,
  .card p { font-size:1rem !important; line-height:1.55 !important; }
  .contact-grid { gap:18px !important; }
  .contact-panel h2 { font-size:2.25rem !important; }
  input, textarea, select { font-size:16px !important; padding:14px 15px !important; }
  .g-recaptcha { transform:scale(.92) !important; }
  .tep-approved-footer .tep-footer-inner { width:calc(100% - 28px) !important; }
}

@media (max-width: 380px){
  .g-recaptcha { transform:scale(.84) !important; }
  .phone-row { grid-template-columns:84px minmax(0,1fr) !important; gap:10px !important; }
  .validated-contact-form input[name="country_code"] { max-width:84px !important; }
}

/* R49 privacy page: service-page visual system */
.privacy-page {
  padding: 0 0 80px;
  background: #fbf7f1;
}

/* R50 privacy page: match the established service-page template */
.privacy-page {
  padding-bottom: clamp(72px, 8vw, 108px);
}
.privacy-service-hero {
  padding: clamp(62px, 7vw, 94px) 0 clamp(48px, 6vw, 74px);
  border-bottom: 1px solid rgba(11, 74, 71, .08);
  background:
    radial-gradient(circle at 88% 18%, rgba(127, 154, 139, .14), transparent 30%),
    #fbf7f1;
}
.privacy-hero-grid {
  width: min(1120px, calc(100% - 48px));
  display: block;
}
.privacy-hero-intro {
  max-width: 820px;
}
.privacy-section-number {
  margin-bottom: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #c09a59;
  font-size: .84rem;
  letter-spacing: .16em;
}
.privacy-eyebrow {
  margin-bottom: 14px;
  color: #0b4a47;
}
.privacy-page .privacy-hero-intro h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(3.1rem, 5.7vw, 5rem);
}
.privacy-hero-intro p {
  max-width: 760px;
  font-size: clamp(1.04rem, 1.5vw, 1.18rem);
}
.privacy-policy-content {
  width: min(1120px, calc(100% - 48px));
  display: grid;
  gap: 24px;
  padding-top: clamp(48px, 6vw, 76px);
}
.privacy-policy-section {
  margin: 0;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(11, 74, 71, .09);
  border-radius: 28px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 14px 38px rgba(54, 72, 64, .065);
}
.privacy-policy-section h2 {
  margin: 0 0 14px;
  color: #0b4a47;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.privacy-policy-section p {
  margin: 0;
  color: #53605b;
  font-size: 1rem;
  line-height: 1.78;
}
.privacy-policy-section p + p {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(11, 74, 71, .08);
}
.privacy-policy-section a {
  color: #0b4a47;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(11, 74, 71, .35);
  text-underline-offset: 3px;
}
@media (max-width: 480px) {
  .privacy-service-hero {
    padding: 46px 0 40px;
  }
  .privacy-hero-grid,
  .privacy-policy-content {
    width: calc(100% - 28px);
  }
  .privacy-policy-content {
    gap: 16px;
    padding-top: 34px;
  }
  .privacy-policy-section {
    padding: 24px 22px;
    border-radius: 22px;
  }
}
.privacy-service-hero {
  padding: clamp(54px, 6vw, 78px) 0 clamp(32px, 4vw, 48px);
}
.privacy-hero-grid {
  width: min(1120px, calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: end;
}
.privacy-hero-intro {
  max-width: 720px;
}
.privacy-section-number {
  width: fit-content;
  margin: 0 0 22px;
  padding: 7px 12px;
  border: 1px solid rgba(11, 74, 71, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #0b4a47;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}
.privacy-eyebrow {
  margin: 0 0 12px;
  color: #7b6440;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.privacy-page .privacy-hero-intro h1 {
  margin: 0 0 18px;
  color: #0b4a47;
  font-size: clamp(3rem, 6vw, 5.25rem);
  line-height: .98;
  letter-spacing: -.06em;
}
.privacy-hero-intro p {
  max-width: 680px;
  margin: 0;
  color: #53605b;
  font-size: 1.08rem;
  line-height: 1.72;
}
.privacy-overview {
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 28px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 18px 46px rgba(54, 72, 64, .08);
}
.privacy-overview h2 {
  margin: 0 0 18px;
  color: #0b4a47;
  font-size: 1.35rem;
  line-height: 1.2;
  letter-spacing: -.03em;
}
.privacy-overview ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.privacy-overview li {
  position: relative;
  padding: 12px 14px 12px 42px;
  border-radius: 15px;
  background: rgba(127, 154, 139, .10);
  color: #53605b;
  line-height: 1.45;
}
.privacy-overview li::before {
  content: "✓";
  position: absolute;
  left: 15px;
  top: 12px;
  color: #0b4a47;
  font-weight: 800;
}
.privacy-policy-content {
  width: min(1120px, calc(100% - 48px));
}
.privacy-card {
  border-radius: 30px;
}
@media (max-width: 820px) {
  .privacy-hero-grid {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .privacy-overview {
    max-width: 620px;
  }
}
@media (max-width: 480px) {
  .privacy-service-hero {
    padding: 42px 0 28px;
  }
  .privacy-hero-grid,
  .privacy-policy-content {
    width: calc(100% - 28px);
  }
  .privacy-page .privacy-hero-intro h1 {
    font-size: clamp(2.8rem, 14vw, 4rem);
  }
  .privacy-overview,
  .privacy-card {
    border-radius: 24px;
  }
}

/* R51: align Privacy Policy to the approved Individual Counselling content grid */
main.privacy-page {
  padding-bottom: clamp(64px, 7vw, 96px) !important;
  background: #ffffff !important;
}

.privacy-hero-grid,
.privacy-policy-content {
  width: min(1160px, calc(100% - 40px)) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 900px) {
  .privacy-hero-grid,
  .privacy-policy-content {
    width: min(1160px, calc(100% - 32px)) !important;
  }
}

@media (max-width: 560px) {
  main.privacy-page {
    padding-bottom: 56px !important;
  }

  .privacy-hero-grid,
  .privacy-policy-content {
    width: min(1160px, calc(100% - 24px)) !important;
  }
}
