/* ==========================================================================
   SPIXWORTH DENTAL — BRAND OVERRIDE LAYER
   Sits on top of Hello Elementor + Elementor Pro defaults so widgets can
   stay native (= GUI-editable) while the rendered look matches the source
   HTML mockup at /staging/.

   Naming convention: every project-specific class is prefixed `.sw-*` so
   it's clear what was added and easy to clean up.
   ========================================================================== */

/* ---- 1. Document baselines -------------------------------------------- */
html { scroll-behavior: smooth; }

body,
.elementor-widget-container {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--sw-navy);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--sw-navy);
  margin: 0;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }

/* ---- 2. Container widths --------------------------------------------- */
.elementor-section-boxed > .elementor-container,
.e-con-boxed,
.sw-container {
  max-width: var(--sw-container);
  margin-inline: auto;
  padding-inline: 28px;
}
@media (max-width: 650px) {
  .elementor-section-boxed > .elementor-container,
  .e-con-boxed,
  .sw-container { padding-inline: 20px; }
}

/* ---- 3. Buttons ------------------------------------------------------- */
.sw-btn,
.elementor-button.sw-btn-primary,
.elementor-button.sw-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: var(--sw-radius-pill);
  padding: 15px 25px;
  font-weight: 800;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1;
  border: 1px solid var(--sw-purple);
  background: #fff;
  color: var(--sw-navy);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.elementor-button.sw-btn-primary {
  border: 0;
  color: #fff;
  background: var(--sw-grad);
  box-shadow: 0 14px 30px rgba(139, 44, 255, .25);
}
.elementor-button.sw-btn-primary:hover { transform: translateY(-1px); }
.elementor-button.sw-btn-outline:hover { background: #faf6ff; }

/* ---- 4. Brand pill / eyebrow ----------------------------------------- */
.sw-pill {
  display: inline-block;
  background: var(--sw-bg-pill);
  color: var(--sw-purple);
  border-radius: var(--sw-radius-pill);
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 25px;
  font-family: Arial, Helvetica, sans-serif;
}
.sw-eyebrow {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--sw-purple);
  font-weight: 900;
  font-family: Arial, Helvetica, sans-serif;
  display: block;
  margin-bottom: 12px;
}

/* ---- 5. Gradient text utility ---------------------------------------- */
.sw-text-gradient {
  background: var(--sw-grad-text);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}

/* ---- 6. Hero section ------------------------------------------------- */
.sw-hero {
  background: radial-gradient(circle at 70% 20%, #edf3ff 0, #fff 42%, var(--sw-bg-soft) 100%);
  overflow: hidden;
}
.sw-hero h1 {
  font-size: var(--sw-h1-size);
  line-height: 1.04;
  margin: 0 0 20px;
  letter-spacing: -2px;
}
.sw-hero p.sw-hero-lede {
  font-size: 21px;
  line-height: 1.55;
  color: var(--sw-text-2);
  max-width: 590px;
  margin: 0 0 30px;
}
.sw-hero-photo-wrap {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: stretch;
}
.sw-hero-blob {
  position: absolute;
  right: -80px;
  top: 42px;
  width: 720px;
  height: 540px;
  border-radius: var(--sw-radius-pill);
  background: var(--sw-grad);
  opacity: .88;
  z-index: 1;
  display: block !important;
  pointer-events: none;
}
.sw-hero-photo img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 620px;
  object-fit: cover;
  border-bottom-left-radius: 130px;
  box-shadow: var(--sw-shadow-lg);
}
.sw-hero-reviews {
  margin-top: 25px;
  display: flex;
  gap: 14px;
  align-items: center;
  color: #4e5875;
  font-size: 15px;
}
.sw-hero-reviews .sw-stars { color: #12b76a; font-size: 22px; }

@media (max-width: 1050px) {
  .sw-hero-photo-wrap, .sw-hero-photo img {
    height: auto; min-height: 420px;
  }
  .sw-hero-photo img { height: 420px; border-bottom-left-radius: 80px; }
  .sw-hero-blob { right: -40px; width: 480px; height: 360px; top: 60px; }
}
@media (max-width: 650px) {
  .sw-hero h1 { font-size: 46px; letter-spacing: -1px; }
  .sw-hero p.sw-hero-lede { font-size: 18px; }
  .sw-hero-blob { display: none; }
  .sw-hero-photo img { border-bottom-left-radius: 50px; height: 320px; }
}

/* ---- 7. Trust bar (4 icon items in a card) -------------------------- */
/* .sw-trust - bubble removed */
.sw-trust {
  background: transparent;
  border: none;
  border-radius: 24px;
  box-shadow: none;
  padding: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  position: relative;
  z-index: 5;
}
.sw-trust-item {
  display: flex; gap: 17px; align-items: center;
  border-right: 1px solid var(--sw-line-2);
  padding-right: 15px;
}
.sw-trust-item:last-child { border-right: 0; }
.sw-trust-item h3 { font-size: 17px; margin: 0 0 6px; font-family: Arial, Helvetica, sans-serif; }
.sw-trust-item p  { margin: 0; color: var(--sw-muted); font-size: 14px; line-height: 1.55; }
.sw-icon-circle {
  width: 62px; height: 62px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 27px;
  background: linear-gradient(135deg, rgba(239,53,210,.14), rgba(6,77,245,.14));
  color: var(--sw-purple);
  flex: 0 0 auto;
}
@media (max-width: 1050px) {
  .sw-trust { grid-template-columns: repeat(2, 1fr); }
  .sw-trust-item { border-right: 0; }
}
@media (max-width: 650px) {
  .sw-trust { grid-template-columns: 1fr; }
  .sw-trust-item { border-bottom: 1px solid var(--sw-line-2); padding-bottom: 14px; }
  .sw-trust-item:last-child { border-bottom: 0; }
}






/* ---- 8. Service / generic section heading --------------------------- */
.sw-section h2 {
  font-size: var(--sw-h2-size);
  line-height: 1.12;
  margin: 12px 0 18px;
  font-family: Georgia, 'Times New Roman', serif;
}
.sw-section-intro {
  max-width: 980px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--sw-muted);
  margin: 0 0 24px;
}
.sw-section-head {
  display: flex; justify-content: space-between; align-items: end;
  margin-bottom: 24px; gap: 20px;
}
.sw-section-head h2 { font-weight: 700; }
@media (max-width: 650px) {

}
/* ---- 9. Service cards grid ------------------------------------------ */
.sw-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.sw-card {
  border: 1px solid var(--sw-line-2);
  border-radius: var(--sw-radius-card);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(7,21,74,.05);
  transition: transform .2s, box-shadow .2s;
  display: block;
  cursor: pointer;
  color: inherit;
}
.sw-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(7,21,74,.12);
}
.sw-card .sw-card-img {
  height: 160px;
  width: 100%;
  object-fit: cover;
  display: block;
  background: linear-gradient(135deg, rgba(239,53,210,.12), rgba(6,77,245,.12));
}
.sw-card .sw-card-body { padding: 20px; }
.sw-card h3 { font-size: 18px; margin: 0 0 6px; font-family: Arial, Helvetica, sans-serif; }
.sw-card p  { color: var(--sw-muted); margin: 0; font-size: 14px; line-height: 1.55; }
.sw-card .sw-card-cta {
  display: block; margin-top: 14px;
  color: var(--sw-purple);
  font-size: 13px;
  text-transform: uppercase;
  font-weight: 800;
}
@media (max-width: 1050px) { .sw-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 650px)  { .sw-cards { grid-template-columns: 1fr; } }

/* ---- 10. Service block alternating background ---------------------- */
.sw-service-block       { border-top: 1px solid var(--sw-line-3); padding: 58px 0 20px; }
.sw-service-block.alt   { background: var(--sw-bg-pillow); }

/* ---- 11. Local trust block (dark navy card) ------------------------- */
.sw-local {
  background: #06164a;
  color: #fff;
  border-radius: 20px;
  padding: 38px;
  box-shadow: 0 18px 45px rgba(7,21,74,.18);
}
.sw-local h2 { color: #fff; }
.sw-local p  { color: rgba(255,255,255,.85); font-size: 18px; line-height: 1.7; }
.sw-local .sw-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 30px;
}
.sw-local .sw-stats strong { display: block; font-size: 32px; }
@media (max-width: 650px) {

}
/* ---- 12. Visit-us card --------------------------------------------- */
.sw-visit {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  overflow: hidden;
  border-radius: 20px;
  background: var(--sw-bg-pillow);
  border: 1px solid var(--sw-line-3);
  box-shadow: var(--sw-shadow);
}
.sw-visit img {
  width: 100%; height: 100%; min-height: 290px;
  object-fit: cover;
}
.sw-visit-copy {
  padding: 36px;
  display: flex; flex-direction: column; justify-content: center;
}
.sw-visit-copy h3 { font-size: 24px; margin: 0 0 16px; font-family: Arial, Helvetica, sans-serif; }
@media (max-width: 650px) {

}
/* ---- 13. Reviews section -------------------------------------------- */
.sw-reviews {
  background: var(--sw-bg-pillow);
  padding: 70px 0;
}
.sw-review-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px;
}
.sw-review-card {
  background: #fff;
  border: 1px solid var(--sw-line);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 10px 25px rgba(7,21,74,.06);
}
.sw-review-card .sw-stars {
  color: #f5a400; letter-spacing: 2px; margin-bottom: 12px; display: block;
}
.sw-pagination {
  display: flex; justify-content: center; gap: 8px; margin-top: 24px;
}
.sw-pagination span {
  width: 34px; height: 34px;
  border-radius: 50%;
  display: grid; place-items: center;
  border: 1px solid var(--sw-line-2);
  color: var(--sw-navy);
  font-weight: 700;
}
.sw-pagination span:first-child { background: var(--sw-purple); color: #fff; border-color: var(--sw-purple); }
@media (max-width: 1050px) { .sw-review-grid { grid-template-columns: 1fr; } }

/* ---- 14. Site footer ------------------------------------------------- */
.sw-site-footer {
  background: #06164a;
  color: #fff;
  padding: 70px 0;
}
.sw-footer-grid {
  display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr; gap: 36px;
}
.sw-footer-logo {
  height: 110px;
  background: #fff;
  border-radius: 14px;
  padding: 10px;
  margin-bottom: 22px;
  width: max-content;
}
.sw-site-footer h3 { margin: 0 0 18px; font-size: 20px; color: #fff; font-family: Arial, Helvetica, sans-serif; }
.sw-site-footer p,
.sw-site-footer a,
.sw-site-footer li { color: rgba(255,255,255,.82); line-height: 1.8; }
.sw-site-footer ul { list-style: none; margin: 0; padding: 0; }
.sw-footer-bottom {
  margin-top: 70px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.sw-legal { display: flex; gap: 20px; flex-wrap: wrap; }
@media (max-width: 1050px) { .sw-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px)  { .sw-footer-grid { grid-template-columns: 1fr; } }

/* ---- 15. Header / nav ------------------------------------------------ */
.sw-site-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--sw-line);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.sw-nav {
  max-width: var(--sw-container);
  margin: auto;
  padding: 14px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
}
.sw-nav .sw-logo { height: 240px; width: auto; display: block; margin: -60px 0; }
.sw-menu {
  display: flex; align-items: center; gap: 32px;
  font-size: 15px; font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
}
.sw-menu a.current { color: var(--sw-blue); border-bottom: 3px solid var(--sw-purple); padding-bottom: 22px; }
.sw-menu .sw-dropdown { position: relative; padding: 22px 0; cursor: default; }
.sw-menu .sw-dropdown-menu {
  display: none;
  position: absolute;
  top: 60px; left: 0;
  width: 250px;
  background: #fff;
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-soft);
  box-shadow: 0 20px 45px rgba(7,21,74,.14);
  padding: 12px;
  z-index: 50;
}
.sw-menu .sw-dropdown:hover .sw-dropdown-menu { display: block; }
.sw-menu .sw-dropdown-menu a {
  display: block; padding: 13px 15px;
  border-radius: 10px; font-weight: 600;
}
.sw-menu .sw-dropdown-menu a:hover { background: #f4f7ff; color: var(--sw-blue); }
.sw-book {
  border: 0;
  border-radius: var(--sw-radius-pill);
  color: #fff;
  padding: 16px 26px;
  font-weight: 800;
  background: var(--sw-grad);
  box-shadow: 0 14px 30px rgba(139,44,255,.25);
  font-family: Arial, Helvetica, sans-serif;
  cursor: pointer;
}
@media (max-width: 1050px) {
  .sw-menu { display: none; }
  .sw-nav .sw-logo { height: 90px; margin: -20px 0; }
  .sw-book { display: none; }
}

/* ---- 16. Misc utility ------------------------------------------------ */
.sw-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.sw-image-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}
.sw-image-grid img {
  width: 100%; height: 180px;
  object-fit: cover;
  border-radius: var(--sw-radius-card);
  box-shadow: 0 12px 28px rgba(7,21,74,.10);
}
.sw-image-grid img:first-child { grid-row: span 2; height: 374px; }
@media (max-width: 650px) {
  .sw-image-grid { grid-template-columns: 1fr; }
  .sw-image-grid img,
  .sw-image-grid img:first-child { height: 230px; }
}

/* iter3 polish */
.sw-hero-blob {
  width: 760px;
  height: 600px;
  right: -140px;
  top: 0;
  opacity: .92;
}
.sw-hero-photo img {
  border-bottom-left-radius: 160px;
  height: 600px;
}
.sw-trust { padding: 32px 24px; gap: 8px; }
.sw-trust-item { padding-right: 18px; }
.sw-trust-item h3 { font-size: 18px; }
.sw-trust-item p  { font-size: 14.5px; }
.sw-icon-circle { width: 70px; height: 70px; font-size: 30px; }
.sw-card .sw-card-img { height: 200px; }
.sw-card h3 { font-size: 19px; }
.sw-card p  { font-size: 14.5px; }
.sw-section h2 { font-size: 44px; }
.sw-pill { padding: 14px 22px; font-size: 13.5px; }


/* ========= SOURCE PAGE CSS ========= */

/* from: general-dentistry.html */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#07154a;background:#fff}a{text-decoration:none;color:inherit}.gradient{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%)}.muted{color:#59607a}.container{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf7;backdrop-filter:blur(10px)}.nav{max-width:1320px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{height:240px;width:auto;display:block;margin:-60px 0}.menu{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:700}.active{color:#064df5;border-bottom:3px solid #8b2cff;padding-bottom:22px}.dropdown{position:relative;padding:22px 0;cursor:default}.dropdown-menu{display:none;position:absolute;top:60px;left:0;width:250px;background:#fff;border:1px solid #e8ecf7;border-radius:14px;box-shadow:0 20px 45px rgba(7,21,74,.14);padding:12px;z-index:50}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:13px 15px;border-radius:10px;font-weight:600}.dropdown-menu a:hover{background:#f4f7ff;color:#064df5}.book{border:0;border-radius:999px;color:#fff;padding:16px 26px;font-weight:800;box-shadow:0 14px 30px rgba(139,44,255,.25)}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 25px;font-weight:800;border:1px solid #8b2cff;background:#fff;white-space:nowrap}.btn.primary{border:0;color:#fff;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5)}.hero{background:radial-gradient(circle at 70% 20%,#edf3ff 0,#fff 42%,#f7faff 100%);overflow:hidden}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:35px;min-height:620px;padding:0 28px}.pill{display:inline-block;background:#f1e8ff;color:#8b2cff;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:25px}.breadcrumbs{font-size:14px;color:#59607a;margin-bottom:18px}.breadcrumbs a{color:#8b2cff;font-weight:800}h1{font-family:Georgia,'Times New Roman',serif;font-size:72px;line-height:1.04;margin:0 0 20px;color:#07154a;letter-spacing:-2px}.hero p{font-size:21px;line-height:1.55;color:#29324f;max-width:620px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-photo-wrap{position:relative;min-height:620px;display:flex;align-items:stretch}.blob{position:absolute;right:-80px;top:42px;width:720px;height:540px;border-radius:999px;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5);opacity:.88}.hero-photo{position:relative;z-index:2;width:100%;height:620px;object-fit:cover;border-bottom-left-radius:130px;box-shadow:0 25px 70px rgba(7,21,74,.22)}.trust{max-width:1320px;margin:0 auto;padding:0 28px;position:relative;z-index:5}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border:1px solid #edf1fa;border-radius:24px;box-shadow:0 18px 45px rgba(7,21,74,.10);padding:28px}.trust-item{display:flex;gap:17px;align-items:center;border-right:1px solid #dde4f4;padding-right:15px}.trust-item:last-child{border-right:0}.icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,rgba(239,53,210,.14),rgba(6,77,245,.14));color:#8b2cff;flex:0 0 auto}.trust h3{margin:0 0 6px}.trust p{margin:0;color:#59607a;line-height:1.55}.page{padding:78px 0}.page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#8b2cff;font-weight:900}.content h2,.side-card h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.12;margin:12px 0 18px;color:#07154a}.content h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;margin:0 0 14px;color:#07154a}.content h4{font-size:22px;margin:24px 0 10px;color:#07154a}.content p,.content li,.side-card p{font-size:17px;line-height:1.75;color:#59607a}.content-card{background:#fff;border:1px solid #e8ecf7;border-radius:24px;padding:30px;box-shadow:0 12px 30px rgba(7,21,74,.06);margin-bottom:22px}.intro-card{background:#f8fbff;border:1px solid #e8ecf7;border-radius:26px;padding:34px;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{border:1px solid #dde4f4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(7,21,74,.05);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,21,74,.12)}a.card{display:block;cursor:pointer;color:inherit}.card-img{height:160px;width:100%;object-fit:cover;display:block;background:linear-gradient(135deg,rgba(239,53,210,.12),rgba(6,77,245,.12))}.card-body{padding:20px}.card strong{display:block;margin-top:14px;color:#8b2cff;font-size:13px;text-transform:uppercase}.sidebar{position:sticky;top:120px}.image-card{border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(7,21,74,.12);background:#f4f7ff;margin-bottom:22px}.image-card img{width:100%;height:330px;object-fit:cover;display:block}.side-card{background:#06164a;color:#fff;border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(7,21,74,.18);margin-bottom:22px}.side-card h2{font-size:30px;color:#fff;margin-top:0}.side-card p{color:rgba(255,255,255,.82)}.quick-links{background:#fff;border:1px solid #e8ecf7;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(7,21,74,.06)}.quick-links h3{margin:0 0 14px}.quick-links a{display:block;padding:11px 0;border-bottom:1px solid #eef2fb;color:#8b2cff;font-weight:800}.quick-links a:last-child{border-bottom:0}.lower{max-width:1320px;margin:auto;padding:58px 28px 70px;display:grid;grid-template-columns:1fr 1.08fr;gap:26px}.local{background:#06164a;color:#fff;border-radius:20px;padding:38px;box-shadow:0 18px 45px rgba(7,21,74,.18)}.local h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;color:#fff;margin:0 0 18px}.local p{color:rgba(255,255,255,.85);font-size:18px;line-height:1.7}.visit{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:20px;background:#f7f9ff;border:1px solid #edf1fa;box-shadow:0 18px 45px rgba(7,21,74,.10)}.visit img{width:100%;height:100%;min-height:290px;object-fit:cover}.visit-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.visit h3{font-size:24px;margin:0 0 16px}.site-footer{background:#06164a;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px}.footer-logo{height:110px;background:#fff;border-radius:14px;padding:10px;margin-bottom:22px}.site-footer h3{margin:0 0 18px;font-size:20px}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.82);line-height:1.8}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:1050px){.menu{display:none}.hero-inner,.page-grid,.lower{grid-template-columns:1fr}.hero-photo-wrap,.hero-photo{height:auto;min-height:420px}.trust-inner{grid-template-columns:repeat(2,1fr)}.trust-item{border-right:0}.sidebar{position:static}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){h1{font-size:46px}.hero-inner{padding:35px 20px}.section{padding-left:20px;padding-right:20px}.lower{padding-left:20px;padding-right:20px}.trust-inner,.cards,.visit,.footer-grid{grid-template-columns:1fr}.logo{height:90px;margin:-20px 0}.book{display:none}.content h2{font-size:34px}.hero-photo{border-bottom-left-radius:60px}.trust-item{border-bottom:1px solid #dde4f4;padding-bottom:18px}.trust-item:last-child{border-bottom:0}}

/* from: oral-health-education.html */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#07154a;background:#fff}a{text-decoration:none;color:inherit}.gradient{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%)}.muted{color:#59607a}.container{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf7;backdrop-filter:blur(10px)}.nav{max-width:1320px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{height:240px;width:auto;display:block;margin:-60px 0}.menu{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:700}.active{color:#064df5;border-bottom:3px solid #8b2cff;padding-bottom:22px}.dropdown{position:relative;padding:22px 0;cursor:default}.dropdown-menu{display:none;position:absolute;top:60px;left:0;width:250px;background:#fff;border:1px solid #e8ecf7;border-radius:14px;box-shadow:0 20px 45px rgba(7,21,74,.14);padding:12px;z-index:50}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:13px 15px;border-radius:10px;font-weight:600}.dropdown-menu a:hover{background:#f4f7ff;color:#064df5}.book{border:0;border-radius:999px;color:#fff;padding:16px 26px;font-weight:800;box-shadow:0 14px 30px rgba(139,44,255,.25)}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 25px;font-weight:800;border:1px solid #8b2cff;background:#fff;white-space:nowrap}.btn.primary{border:0;color:#fff;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5)}.hero{background:radial-gradient(circle at 70% 20%,#edf3ff 0,#fff 42%,#f7faff 100%);overflow:hidden}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:35px;min-height:620px;padding:0 28px}.pill{display:inline-block;background:#f1e8ff;color:#8b2cff;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:25px}.breadcrumbs{font-size:14px;color:#59607a;margin-bottom:18px}.breadcrumbs a{color:#8b2cff;font-weight:800}h1{font-family:Georgia,'Times New Roman',serif;font-size:72px;line-height:1.04;margin:0 0 20px;color:#07154a;letter-spacing:-2px}.hero p{font-size:21px;line-height:1.55;color:#29324f;max-width:620px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-photo-wrap{position:relative;min-height:620px;display:flex;align-items:stretch}.blob{position:absolute;right:-80px;top:42px;width:720px;height:540px;border-radius:999px;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5);opacity:.88}.hero-photo{position:relative;z-index:2;width:100%;height:620px;object-fit:cover;border-bottom-left-radius:130px;box-shadow:0 25px 70px rgba(7,21,74,.22)}.trust{max-width:1320px;margin:0 auto;padding:0 28px;position:relative;z-index:5}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border:1px solid #edf1fa;border-radius:24px;box-shadow:0 18px 45px rgba(7,21,74,.10);padding:28px}.trust-item{display:flex;gap:17px;align-items:center;border-right:1px solid #dde4f4;padding-right:15px}.trust-item:last-child{border-right:0}.icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,rgba(239,53,210,.14),rgba(6,77,245,.14));color:#8b2cff;flex:0 0 auto}.trust h3{margin:0 0 6px}.trust p{margin:0;color:#59607a;line-height:1.55}.page{padding:78px 0}.page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#8b2cff;font-weight:900}.content h2,.side-card h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.12;margin:12px 0 18px;color:#07154a}.content h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;margin:0 0 14px;color:#07154a}.content h4{font-size:22px;margin:24px 0 10px;color:#07154a}.content p,.content li,.side-card p{font-size:17px;line-height:1.75;color:#59607a}.content-card{background:#fff;border:1px solid #e8ecf7;border-radius:24px;padding:30px;box-shadow:0 12px 30px rgba(7,21,74,.06);margin-bottom:22px}.intro-card{background:#f8fbff;border:1px solid #e8ecf7;border-radius:26px;padding:34px;margin-bottom:24px}.types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.type-card{background:#fff;border:1px solid #e8ecf7;border-radius:22px;padding:24px;box-shadow:0 10px 26px rgba(7,21,74,.05)}.type-card ul{padding-left:20px;margin-bottom:0}.process{display:grid;grid-template-columns:1fr;gap:10px}.step{background:linear-gradient(135deg,#f1e8ff,#eef4ff);border-radius:14px;padding:12px 20px;display:flex;align-items:center;gap:16px}.step strong{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border-radius:50%;background:#8b2cff;color:#fff;margin-bottom:0;font-size:15px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare-box{border-radius:22px;padding:26px;background:#f8fbff;border:1px solid #e8ecf7}.compare-box.private{background:linear-gradient(135deg,#fdf1ff,#eef4ff)}.sidebar{position:sticky;top:120px}.image-card{border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(7,21,74,.12);background:#f4f7ff;margin-bottom:22px}.image-card img{width:100%;height:330px;object-fit:cover;display:block}.side-card{background:#06164a;color:#fff;border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(7,21,74,.18);margin-bottom:22px}.side-card h2{font-size:30px;color:#fff;margin-top:0}.side-card p{color:rgba(255,255,255,.82)}.quick-links{background:#fff;border:1px solid #e8ecf7;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(7,21,74,.06)}.quick-links h3{margin:0 0 14px}.quick-links a{display:block;padding:11px 0;border-bottom:1px solid #eef2fb;color:#8b2cff;font-weight:800}.quick-links a:last-child{border-bottom:0}.lower{max-width:1320px;margin:auto;padding:58px 28px 70px;display:grid;grid-template-columns:1fr 1.08fr;gap:26px}.local{background:#06164a;color:#fff;border-radius:20px;padding:38px;box-shadow:0 18px 45px rgba(7,21,74,.18)}.local h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;color:#fff;margin:0 0 18px}.local p{color:rgba(255,255,255,.85);font-size:18px;line-height:1.7}.visit{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:20px;background:#f7f9ff;border:1px solid #edf1fa;box-shadow:0 18px 45px rgba(7,21,74,.10)}.visit img{width:100%;height:100%;min-height:290px;object-fit:cover}.visit-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.visit h3{font-size:24px;margin:0 0 16px}.site-footer{background:#06164a;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px}.footer-logo{height:110px;background:#fff;border-radius:14px;padding:10px;margin-bottom:22px}.site-footer h3{margin:0 0 18px;font-size:20px}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.82);line-height:1.8}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:1050px){.menu{display:none}.hero-inner,.page-grid,.lower{grid-template-columns:1fr}.hero-photo-wrap,.hero-photo{height:auto;min-height:420px}.trust-inner{grid-template-columns:repeat(2,1fr)}.trust-item{border-right:0}.sidebar{position:static}.process{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){h1{font-size:46px}.hero-inner{padding:35px 20px}.section{padding-left:20px;padding-right:20px}.lower{padding-left:20px;padding-right:20px}.trust-inner,.types-grid,.compare,.process,.visit,.footer-grid{grid-template-columns:1fr}.logo{height:90px;margin:-20px 0}.book{display:none}.content h2{font-size:34px}.hero-photo{border-bottom-left-radius:60px}.trust-item{border-bottom:1px solid #dde4f4;padding-bottom:18px}.trust-item:last-child{border-bottom:0}}

/* from: emergency-services.html */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#07154a;background:#fff}a{text-decoration:none;color:inherit}.gradient{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%)}.muted{color:#59607a}.container{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf7;backdrop-filter:blur(10px)}.nav{max-width:1320px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{height:240px;width:auto;display:block;margin:-60px 0}.menu{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:700}.active{color:#064df5;border-bottom:3px solid #8b2cff;padding-bottom:22px}.dropdown{position:relative;padding:22px 0;cursor:default}.dropdown-menu{display:none;position:absolute;top:60px;left:0;width:250px;background:#fff;border:1px solid #e8ecf7;border-radius:14px;box-shadow:0 20px 45px rgba(7,21,74,.14);padding:12px;z-index:50}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:13px 15px;border-radius:10px;font-weight:600}.dropdown-menu a:hover{background:#f4f7ff;color:#064df5}.book{border:0;border-radius:999px;color:#fff;padding:16px 26px;font-weight:800;box-shadow:0 14px 30px rgba(139,44,255,.25)}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 25px;font-weight:800;border:1px solid #8b2cff;background:#fff;white-space:nowrap}.btn.primary{border:0;color:#fff;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5)}.hero{background:radial-gradient(circle at 70% 20%,#edf3ff 0,#fff 42%,#f7faff 100%);overflow:hidden}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:35px;min-height:620px;padding:0 28px}.pill{display:inline-block;background:#f1e8ff;color:#8b2cff;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:25px}.breadcrumbs{font-size:14px;color:#59607a;margin-bottom:18px}.breadcrumbs a{color:#8b2cff;font-weight:800}h1{font-family:Georgia,'Times New Roman',serif;font-size:72px;line-height:1.04;margin:0 0 20px;color:#07154a;letter-spacing:-2px}.hero p{font-size:21px;line-height:1.55;color:#29324f;max-width:620px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-photo-wrap{position:relative;min-height:620px;display:flex;align-items:stretch}.blob{position:absolute;right:-80px;top:42px;width:720px;height:540px;border-radius:999px;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5);opacity:.88}.hero-photo{position:relative;z-index:2;width:100%;height:620px;object-fit:cover;border-bottom-left-radius:130px;box-shadow:0 25px 70px rgba(7,21,74,.22)}.trust{max-width:1320px;margin:0 auto;padding:0 28px;position:relative;z-index:5}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border:1px solid #edf1fa;border-radius:24px;box-shadow:0 18px 45px rgba(7,21,74,.10);padding:28px}.trust-item{display:flex;gap:17px;align-items:center;border-right:1px solid #dde4f4;padding-right:15px}.trust-item:last-child{border-right:0}.icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,rgba(239,53,210,.14),rgba(6,77,245,.14));color:#8b2cff;flex:0 0 auto}.trust h3{margin:0 0 6px}.trust p{margin:0;color:#59607a;line-height:1.55}.page{padding:78px 0}.page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#8b2cff;font-weight:900}.content h2,.side-card h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.12;margin:12px 0 18px;color:#07154a}.content h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;margin:0 0 14px;color:#07154a}.content h4{font-size:22px;margin:24px 0 10px;color:#07154a}.content p,.content li,.side-card p{font-size:17px;line-height:1.75;color:#59607a}.content-card{background:#fff;border:1px solid #e8ecf7;border-radius:24px;padding:30px;box-shadow:0 12px 30px rgba(7,21,74,.06);margin-bottom:22px}.intro-card{background:#f8fbff;border:1px solid #e8ecf7;border-radius:26px;padding:34px;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{border:1px solid #dde4f4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(7,21,74,.05);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,21,74,.12)}a.card{display:block;cursor:pointer;color:inherit}.card-img{height:160px;width:100%;object-fit:cover;display:block;background:linear-gradient(135deg,rgba(239,53,210,.12),rgba(6,77,245,.12))}.card-body{padding:20px}.card strong{display:block;margin-top:14px;color:#8b2cff;font-size:13px;text-transform:uppercase}.sidebar{position:sticky;top:120px}.image-card{border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(7,21,74,.12);background:#f4f7ff;margin-bottom:22px}.image-card img{width:100%;height:330px;object-fit:cover;display:block}.side-card{background:#06164a;color:#fff;border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(7,21,74,.18);margin-bottom:22px}.side-card h2{font-size:30px;color:#fff;margin-top:0}.side-card p{color:rgba(255,255,255,.82)}.quick-links{background:#fff;border:1px solid #e8ecf7;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(7,21,74,.06)}.quick-links h3{margin:0 0 14px}.quick-links a{display:block;padding:11px 0;border-bottom:1px solid #eef2fb;color:#8b2cff;font-weight:800}.quick-links a:last-child{border-bottom:0}.lower{max-width:1320px;margin:auto;padding:58px 28px 70px;display:grid;grid-template-columns:1fr 1.08fr;gap:26px}.local{background:#06164a;color:#fff;border-radius:20px;padding:38px;box-shadow:0 18px 45px rgba(7,21,74,.18)}.local h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;color:#fff;margin:0 0 18px}.local p{color:rgba(255,255,255,.85);font-size:18px;line-height:1.7}.visit{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:20px;background:#f7f9ff;border:1px solid #edf1fa;box-shadow:0 18px 45px rgba(7,21,74,.10)}.visit img{width:100%;height:100%;min-height:290px;object-fit:cover}.visit-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.visit h3{font-size:24px;margin:0 0 16px}.site-footer{background:#06164a;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px}.footer-logo{height:110px;background:#fff;border-radius:14px;padding:10px;margin-bottom:22px}.site-footer h3{margin:0 0 18px;font-size:20px}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.82);line-height:1.8}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:1050px){.menu{display:none}.hero-inner,.page-grid,.lower{grid-template-columns:1fr}.hero-photo-wrap,.hero-photo{height:auto;min-height:420px}.trust-inner{grid-template-columns:repeat(2,1fr)}.trust-item{border-right:0}.sidebar{position:static}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){h1{font-size:46px}.hero-inner{padding:35px 20px}.section{padding-left:20px;padding-right:20px}.lower{padding-left:20px;padding-right:20px}.trust-inner,.cards,.visit,.footer-grid{grid-template-columns:1fr}.logo{height:90px;margin:-20px 0}.book{display:none}.content h2{font-size:34px}.hero-photo{border-bottom-left-radius:60px}.trust-item{border-bottom:1px solid #dde4f4;padding-bottom:18px}.trust-item:last-child{border-bottom:0}}

/* from: meet-our-team.html */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#07154a;background:#fff}a{text-decoration:none;color:inherit}.gradient{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%)}.muted{color:#59607a}.container{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}

    /* ── Header ── */
    header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf7;backdrop-filter:blur(10px)}.nav{max-width:1320px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{height:240px;width:auto;display:block;margin:-60px 0}.menu{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:700}.active{color:#064df5;border-bottom:3px solid #8b2cff;padding-bottom:22px}.dropdown{position:relative;padding:22px 0;cursor:default}.dropdown-menu{display:none;position:absolute;top:60px;left:0;width:250px;background:#fff;border:1px solid #e8ecf7;border-radius:14px;box-shadow:0 20px 45px rgba(7,21,74,.14);padding:12px;z-index:50}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:13px 15px;border-radius:10px;font-weight:600}.dropdown-menu a:hover{background:#f4f7ff;color:#064df5}.book{border:0;border-radius:999px;color:#fff;padding:16px 26px;font-weight:800;box-shadow:0 14px 30px rgba(139,44,255,.25);cursor:pointer}

    /* ── Hero banner ── */
    .team-hero{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%);padding:80px 28px 70px;text-align:center;color:#fff}.team-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:56px;line-height:1.1;margin:0 0 18px;color:#fff;letter-spacing:-1.5px}.team-hero p{font-size:20px;line-height:1.6;max-width:700px;margin:0 auto;opacity:.92}

    /* ── Section titles ── */
    .team-section{padding:60px 0 20px}.team-section:first-of-type{padding-top:50px}.team-section-head{margin-bottom:32px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#8b2cff;font-weight:900}.team-section h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.12;margin:12px 0 10px;color:#07154a}.team-section-intro{font-size:17px;line-height:1.7;color:#59607a;margin:0}

    /* ── Team cards grid (3 col for clinical) ── */
    .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.team-grid-support{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

    /* ── Card styling ── */
    .team-card{border:1px solid #dde4f4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(7,21,74,.05);transition:.2s}.team-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,21,74,.12)}.team-card img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;display:block}.team-card-body{padding:20px 22px 24px}.team-card-body h3{margin:0 0 6px;font-size:19px;color:#07154a}.team-card-body .role{color:#8b2cff;font-size:14px;font-weight:700;margin:0 0 4px}.team-card-body .gdc{color:#59607a;font-size:13px;margin:0}

    /* ── Support card slightly smaller text ── */
    .team-grid-support .team-card-body h3{font-size:17px}.team-grid-support .team-card-body .role{font-size:13px}

    /* ── Alternating section backgrounds ── */
    .section-alt{background:#f8fbff}

    /* ── Footer ── */
    .site-footer{background:#06164a;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px}.footer-logo{height:110px;background:#fff;border-radius:14px;padding:10px;margin-bottom:22px}.site-footer h3{margin:0 0 18px;font-size:20px}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.82);line-height:1.8}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:20px;flex-wrap:wrap}

    /* ── Responsive ── */
    @media(max-width:1050px){
      .menu{display:none}
      .team-grid{grid-template-columns:repeat(2,1fr)}
      .team-grid-support{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:650px){
      .team-hero h1{font-size:36px}
      .team-hero p{font-size:17px}
      .team-hero{padding:55px 20px 50px}
      .team-section h2{font-size:32px}
      .team-grid,.team-grid-support{grid-template-columns:1fr}
      .logo{height:90px;margin:-20px 0}
      .book{display:none}
      .footer-grid{grid-template-columns:1fr}
      .container{padding-left:20px;padding-right:20px}
    }

/* from: about.html */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#07154a;background:#fff}a{text-decoration:none;color:inherit}.gradient{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%)}.muted{color:#59607a}.container{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf7;backdrop-filter:blur(10px)}.nav{max-width:1320px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{height:240px;width:auto;display:block;margin:-60px 0}.menu{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:700}.active{color:#064df5;border-bottom:3px solid #8b2cff;padding-bottom:22px}.dropdown{position:relative;padding:22px 0;cursor:default}.dropdown-menu{display:none;position:absolute;top:60px;left:0;width:250px;background:#fff;border:1px solid #e8ecf7;border-radius:14px;box-shadow:0 20px 45px rgba(7,21,74,.14);padding:12px;z-index:50}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:13px 15px;border-radius:10px;font-weight:600}.dropdown-menu a:hover{background:#f4f7ff;color:#064df5}.book{border:0;border-radius:999px;color:#fff;padding:16px 26px;font-weight:800;box-shadow:0 14px 30px rgba(139,44,255,.25);cursor:pointer}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 25px;font-weight:800;border:1px solid #8b2cff;background:#fff;white-space:nowrap}.btn.primary{border:0;color:#fff;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5)}.hero{background:radial-gradient(circle at 70% 20%,#edf3ff 0,#fff 42%,#f7faff 100%);overflow:hidden}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:35px;min-height:620px;padding:0 28px}.pill{display:inline-block;background:#f1e8ff;color:#8b2cff;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:25px}.breadcrumbs{font-size:14px;color:#59607a;margin-bottom:18px}.breadcrumbs a{color:#8b2cff;font-weight:800}h1{font-family:Georgia,'Times New Roman',serif;font-size:72px;line-height:1.04;margin:0 0 20px;color:#07154a;letter-spacing:-2px}.hero p{font-size:21px;line-height:1.55;color:#29324f;max-width:620px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-photo-wrap{position:relative;min-height:auto;display:flex;align-items:center;justify-content:center}.blob{position:absolute;right:-80px;top:42px;width:720px;height:540px;border-radius:999px;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5);opacity:.88}.hero-photo{position:relative;z-index:2;width:100%;height:auto;object-fit:contain;border-radius:24px;box-shadow:0 25px 70px rgba(7,21,74,.22)}.trust{max-width:1320px;margin:0 auto;padding:0 28px;position:relative;z-index:5}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border:1px solid #edf1fa;border-radius:24px;box-shadow:0 18px 45px rgba(7,21,74,.10);padding:28px}.trust-item{display:flex;gap:17px;align-items:center;border-right:1px solid #dde4f4;padding-right:15px}.trust-item:last-child{border-right:0}.icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,rgba(239,53,210,.14),rgba(6,77,245,.14));color:#8b2cff;flex:0 0 auto}.trust h3{margin:0 0 6px}.trust p{margin:0;color:#59607a;line-height:1.55}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#8b2cff;font-weight:900}

    /* ── Page layout (matches service pages) ── */
    .page{padding:78px 0}.page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}.content h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.12;margin:12px 0 18px;color:#07154a}.content h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;margin:0 0 14px;color:#07154a}.content p,.content li{font-size:17px;line-height:1.75;color:#59607a}.content-card{background:#fff;border:1px solid #e8ecf7;border-radius:24px;padding:30px;box-shadow:0 12px 30px rgba(7,21,74,.06);margin-bottom:22px}.intro-card{background:#f8fbff;border:1px solid #e8ecf7;border-radius:26px;padding:34px;margin-bottom:24px}.intro-card img{width:100%;border-radius:18px;margin:20px 0 10px;box-shadow:0 12px 28px rgba(7,21,74,.10)}.sidebar{position:sticky;top:120px}.image-card{border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(7,21,74,.12);background:#f4f7ff;margin-bottom:22px}.image-card img{width:100%;height:330px;object-fit:cover;display:block}.side-card{background:#06164a;color:#fff;border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(7,21,74,.18);margin-bottom:22px}.side-card h2{font-family:Georgia,'Times New Roman',serif;font-size:30px;color:#fff;margin:0 0 18px}.side-card p{color:rgba(255,255,255,.82);font-size:17px;line-height:1.75}.quick-links{background:#fff;border:1px solid #e8ecf7;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(7,21,74,.06)}.quick-links h3{margin:0 0 14px}.quick-links a{display:block;padding:11px 0;border-bottom:1px solid #eef2fb;color:#8b2cff;font-weight:800}.quick-links a:last-child{border-bottom:0}

    /* ── Team cards ── */
    .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:22px}.team-grid-support{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:22px}.team-card{border:1px solid #dde4f4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(7,21,74,.05);transition:.2s}.team-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,21,74,.12)}.team-card img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;display:block}.team-placeholder{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,#f1e8ff,#eaf1ff);display:grid;place-items:center;color:#8b2cff;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.team-card-body{padding:20px 22px 24px}.team-card-body h3{margin:0 0 6px;font-size:19px;color:#07154a}.team-card-body .role{color:#8b2cff;font-size:14px;font-weight:700;margin:0 0 4px}.team-card-body .gdc{color:#59607a;font-size:13px;margin:0}.team-names{font-size:17px;line-height:1.8;color:#07154a;font-weight:600}

    /* ── Lower section ── */
    .lower{max-width:1320px;margin:auto;padding:58px 28px 70px;display:grid;grid-template-columns:1fr 1.08fr;gap:26px}.local{background:#06164a;color:#fff;border-radius:20px;padding:38px;box-shadow:0 18px 45px rgba(7,21,74,.18)}.local h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;color:#fff;margin:0 0 18px}.local p{color:rgba(255,255,255,.85);font-size:18px;line-height:1.7}.visit{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:20px;background:#f7f9ff;border:1px solid #edf1fa;box-shadow:0 18px 45px rgba(7,21,74,.10)}.visit img{width:100%;height:100%;min-height:290px;object-fit:cover}.visit-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.visit h3{font-size:24px;margin:0 0 16px}

    /* ── Footer ── */
    .site-footer{background:#06164a;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px}.footer-logo{height:110px;background:#fff;border-radius:14px;padding:10px;margin-bottom:22px}.site-footer h3{margin:0 0 18px;font-size:20px}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.82);line-height:1.8}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:20px;flex-wrap:wrap}

    /* ── Responsive ── */
    @media(max-width:1050px){.menu{display:none}.hero-inner,.page-grid,.lower{grid-template-columns:1fr}.hero-photo-wrap,.hero-photo{height:auto;min-height:420px}.trust-inner{grid-template-columns:repeat(2,1fr)}.trust-item{border-right:0}.sidebar{position:static}.team-grid{grid-template-columns:repeat(2,1fr)}.team-grid-support{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:650px){h1{font-size:46px}.hero-inner{padding:35px 20px}.lower{padding-left:20px;padding-right:20px}.trust-inner,.visit,.footer-grid{grid-template-columns:1fr}.team-grid,.team-grid-support{grid-template-columns:1fr}.logo{height:90px;margin:-20px 0}.book{display:none}.content h2{font-size:34px}.hero-photo{border-bottom-left-radius:60px}.trust-item{border-bottom:1px solid #dde4f4;padding-bottom:18px}.trust-item:last-child{border-bottom:0}}

/* from: index.html */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#07154a;background:#fff}a{text-decoration:none;color:inherit}.gradient{background:linear-gradient(135deg,#ef35d2 0%,#8b2cff 45%,#064df5 100%)}.muted{color:#59607a}.container{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf7;backdrop-filter:blur(10px)}.nav{max-width:1320px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{height:240px;width:auto;display:block;margin:-60px 0}.menu{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:700}.active{color:#064df5;border-bottom:3px solid #8b2cff;padding-bottom:22px}.dropdown{position:relative;padding:22px 0;cursor:default}.dropdown-menu{display:none;position:absolute;top:60px;left:0;width:250px;background:#fff;border:1px solid #e8ecf7;border-radius:14px;box-shadow:0 20px 45px rgba(7,21,74,.14);padding:12px;z-index:50}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:13px 15px;border-radius:10px;font-weight:600}.dropdown-menu a:hover{background:#f4f7ff;color:#064df5}.book{border:0;border-radius:999px;color:#fff;padding:16px 26px;font-weight:800;box-shadow:0 14px 30px rgba(139,44,255,.25)}.hero{background:radial-gradient(circle at 70% 20%,#edf3ff 0,#fff 42%,#f7faff 100%);overflow:hidden}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:35px;min-height:620px;padding:0 28px}.pill{display:inline-block;background:#f1e8ff;color:#8b2cff;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:25px}h1{font-family:Georgia,'Times New Roman',serif;font-size:72px;line-height:1.04;margin:0 0 20px;color:#07154a;letter-spacing:-2px}.highlight{background:linear-gradient(135deg,#ef35d2,#064df5);-webkit-background-clip:text;color:transparent}.hero p{font-size:21px;line-height:1.55;color:#29324f;max-width:590px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 25px;font-weight:800;border:1px solid #8b2cff;background:#fff;white-space:nowrap}.btn.primary{border:0;color:#fff;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5)}.reviews{margin-top:25px;display:flex;gap:14px;align-items:center;color:#4e5875}.hero-photo-wrap{position:relative;min-height:620px;display:flex;align-items:stretch}.blob{position:absolute;right:-80px;top:42px;width:720px;height:540px;border-radius:999px;background:linear-gradient(135deg,#ef35d2,#8b2cff,#064df5);opacity:.88}.hero-photo{position:relative;z-index:2;width:100%;height:620px;object-fit:cover;border-bottom-left-radius:130px;box-shadow:0 25px 70px rgba(7,21,74,.22)}.trust{max-width:1320px;margin:0 auto;padding:0 28px;position:relative;z-index:5}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border:1px solid #edf1fa;border-radius:24px;box-shadow:0 18px 45px rgba(7,21,74,.10);padding:28px}.trust-item{display:flex;gap:17px;align-items:center;border-right:1px solid #dde4f4;padding-right:15px}.trust-item:last-child{border-right:0}.icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,rgba(239,53,210,.14),rgba(6,77,245,.14));color:#8b2cff;flex:0 0 auto}.trust h3,.card h3{margin:0 0 6px}.trust p,.card p,.visit p{margin:0;color:#59607a;line-height:1.55}.overview{padding:76px 0 30px}.overview-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:center}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#8b2cff;font-weight:900}.overview h2,.section h2,.local h2,.reviews-section h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.12;margin:12px 0 18px;color:#07154a}.overview p{font-size:18px;line-height:1.75;color:#59607a}.image-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.image-grid img{width:100%;height:180px;object-fit:cover;border-radius:18px;box-shadow:0 12px 28px rgba(7,21,74,.10)}.image-grid img:first-child{grid-row:span 2;height:374px}.section{padding:58px 0 20px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px;gap:20px}.section-intro{max-width:980px;font-size:17px;line-height:1.7;color:#59607a;margin:0 0 24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid #dde4f4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(7,21,74,.05);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,21,74,.12)}a.card{display:block;cursor:pointer;color:inherit}.card-img{height:160px;width:100%;object-fit:cover;display:block;background:linear-gradient(135deg,rgba(239,53,210,.12),rgba(6,77,245,.12))}.placeholder{background:linear-gradient(135deg,#f1e8ff,#eaf1ff);position:relative}.placeholder:after{content:'Image placeholder';position:absolute;inset:0;display:grid;place-items:center;color:#8b2cff;font-weight:800;font-size:13px}.img-bridges{background:url('https://images.unsplash.com/photo-1609207825181-52d3214556b0?auto=format&fit=crop&w=900&q=80') center/cover}.img-fillings{background:url('https://images.unsplash.com/photo-1609840114035-3c981b782dfe?auto=format&fit=crop&w=900&q=80') center/cover}.img-extractions{background:url('https://images.unsplash.com/photo-1588776814546-1ffcf47267a5?auto=format&fit=crop&w=900&q=80') center/cover}.img-crowns{background:url('https://images.unsplash.com/photo-1606811841689-23dfddce3e95?auto=format&fit=crop&w=900&q=80') center/cover}.img-dentures{background:url('https://images.unsplash.com/photo-1598256989800-fe5f95da9787?auto=format&fit=crop&w=900&q=80') center/cover}.img-implants{background:url('https://images.unsplash.com/photo-1629909615184-74f495363b67?auto=format&fit=crop&w=900&q=80') center/cover}.img-veneers{background:url('https://images.unsplash.com/photo-1606811971618-4486d14f3f99?auto=format&fit=crop&w=900&q=80') center/cover}.img-smile{background:url('https://images.unsplash.com/photo-1588776813677-77aaf5595b83?auto=format&fit=crop&w=900&q=80') center/cover}.img-bonding{background:url('https://images.unsplash.com/photo-1609840114035-3c981b782dfe?auto=format&fit=crop&w=900&q=80') center/cover}.img-whitening{background:url('https://images.unsplash.com/photo-1606811971618-4486d14f3f99?auto=format&fit=crop&w=900&q=80') center/cover}.img-daytime{background:url('https://images.unsplash.com/photo-1629909613654-28e377c37b09?auto=format&fit=crop&w=900&q=80') center/cover}.img-ooh{background:url('https://images.unsplash.com/photo-1588776814546-1ffcf47267a5?auto=format&fit=crop&w=900&q=80') center/cover}.img-gum{background:url('https://images.unsplash.com/photo-1606811841689-23dfddce3e95?auto=format&fit=crop&w=900&q=80') center/cover}.img-education{background:url('https://images.unsplash.com/photo-1609840114035-3c981b782dfe?auto=format&fit=crop&w=900&q=80') center/cover}.img-airflow{background:url('https://images.unsplash.com/photo-1606811971618-4486d14f3f99?auto=format&fit=crop&w=900&q=80') center/cover}.img-deepclean{background:url('https://images.unsplash.com/photo-1598256989800-fe5f95da9787?auto=format&fit=crop&w=900&q=80') center/cover}.img-scalepolish{background:url('/staging/mockup-images/scale-polish.jpeg?v=2') center/cover}.card-body{padding:20px}.card strong{display:block;margin-top:14px;color:#8b2cff;font-size:13px;text-transform:uppercase}.service-block{border-top:1px solid #edf1fa}.service-block.alt{background:#f8fbff}.lower{max-width:1320px;margin:auto;padding:58px 28px 70px;display:grid;grid-template-columns:1fr 1.08fr;gap:26px}.local{background:#06164a;color:#fff;border-radius:20px;padding:38px;box-shadow:0 18px 45px rgba(7,21,74,.18)}.local h2{color:#fff}.local p{color:rgba(255,255,255,.85);font-size:18px;line-height:1.7}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.stats strong{display:block;font-size:32px}.visit{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:20px;background:#f7f9ff;border:1px solid #edf1fa;box-shadow:0 18px 45px rgba(7,21,74,.10)}.visit img{width:100%;height:100%;min-height:290px;object-fit:cover}.visit-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.visit h3{font-size:24px;margin:0 0 16px}.reviews-section{background:#f8fbff;padding:70px 0}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.review-card{background:#fff;border:1px solid #e8ecf7;border-radius:20px;padding:24px;box-shadow:0 10px 25px rgba(7,21,74,.06)}.stars{color:#f5a400;letter-spacing:2px;margin-bottom:12px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:24px}.pagination span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #dce3f5;color:#07154a}.pagination span:first-child{background:#8b2cff;color:#fff}.site-footer{background:#06164a;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:36px}.footer-logo{height:110px;background:#fff;border-radius:14px;padding:10px;margin-bottom:22px}.site-footer h3{margin:0 0 18px;font-size:20px}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.82);line-height:1.8}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:1050px){.menu{display:none}.hero-inner,.overview-grid,.lower{grid-template-columns:1fr}.hero-photo-wrap,.hero-photo{height:auto;min-height:420px}.trust-inner{grid-template-columns:repeat(2,1fr)}.trust-item{border-right:0}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}}@media(max-width:650px){h1{font-size:46px}.hero-inner{padding:35px 20px}.section{padding-left:20px;padding-right:20px}.lower{padding-left:20px;padding-right:20px}.trust-inner,.cards,.stats,.visit,.footer-grid,.image-grid{grid-template-columns:1fr}.image-grid img,.image-grid img:first-child{height:230px}.logo{height:90px;margin:-20px 0}.book{display:none}.section-head{display:block}.trust-item{border-bottom:1px solid #dde4f4;padding-bottom:18px}.trust-item:last-child{border-bottom:0}}



/* ========= NATIVE-WIDGET POLISH (Phase 7 v3) ========= */

/* ---- Hero ---- */
.sw-hero-section {
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  position: relative;
  overflow-x: clip !important;
  overflow-y: visible !important;
  background: radial-gradient(circle at 70% 20%, #EDF3FF 0, #fff 42%, #F7FAFF 100%) !important;
}
.sw-hero-section .elementor-container { align-items: center; gap: 35px !important; }

/* Left column: inline buttons via flex on the widget-wrap */
.sw-hero-left-col { padding: 0 !important; }
.sw-hero-left-col > .elementor-widget-wrap { display: block !important; }
/* When two .sw-hero-btn buttons sit side-by-side, render them inline */
.sw-hero-btn { display: inline-block !important; width: auto !important; margin-right: 16px; margin-top: 8px; }
.sw-hero-btn .elementor-widget-container { display: inline-block; }

.sw-breadcrumbs-w .elementor-widget-container .breadcrumbs {
  font-size: 14px; color: #59607a; margin-bottom: 18px;
}
.sw-breadcrumbs-w .breadcrumbs a { color: #8B2CFF; font-weight: 800; }

.sw-hero-h1-w .elementor-heading-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 72px !important;
  line-height: 1.04 !important;
  letter-spacing: -2px !important;
  color: #07154A !important;
  margin: 0 0 20px !important;
}
.sw-hero-lede-w .elementor-widget-container p {
  font-size: 21px !important; line-height: 1.55 !important; color: #29324F !important; margin: 0 0 30px !important;
}

.sw-btn-primary-w .elementor-button,
.sw-side-card-btn .elementor-button {
  background: linear-gradient(135deg, #EF35D2, #8B2CFF, #064DF5) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 25px !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 30px rgba(139,44,255,.25);
}
.sw-btn-outline-w .elementor-button {
  background: #fff !important;
  color: #07154A !important;
  border: 1px solid #8B2CFF !important;
  border-radius: 999px !important;
  padding: 15px 25px !important;
  font-weight: 800 !important;
}

/* Right column: blob as pseudo-element BEHIND the image */
.sw-hero-right-col {
  position: relative;
  min-height: 620px;
}
.sw-hero-right-col::before {
  content: "";
  position: absolute;
  right: -80px;
  top: 42px;
  width: 720px;
  height: 540px;
  border-radius: 999px;
  background: linear-gradient(135deg, #EF35D2, #8B2CFF, #064DF5) !important;
  opacity: .88;
  pointer-events: none;
  z-index: 1;
  display: block !important;
}
.sw-hero-right-col > .elementor-widget-wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex !important;
  align-items: center;
}
.sw-hero-photo-img {
  position: relative;
  z-index: 2;
  width: 100%;
}
.sw-hero-photo-img .elementor-widget-container { width: 100%; }
.sw-hero-photo-img img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  border-bottom-left-radius: 130px;
  box-shadow: 0 25px 70px rgba(7,21,74,.22);
  display: block;
  position: relative;
  z-index: 2;
}

@media (max-width: 1050px) {
  .sw-hero-section .elementor-container { flex-direction: column !important; }
  .sw-hero-right-col { min-height: 420px; }
  .sw-hero-right-col::before { width: 480px; height: 360px; right: -40px; top: 30px; }
  .sw-hero-photo-img img { height: 420px; border-bottom-left-radius: 80px; }
}
@media (max-width: 650px) {
  .sw-hero-h1-w .elementor-heading-title { font-size: 46px !important; letter-spacing: -1px !important; }
  .sw-hero-lede-w .elementor-widget-container p { font-size: 18px !important; }
  .sw-hero-right-col::before { display: none; }
  .sw-hero-photo-img img { height: 320px; border-bottom-left-radius: 50px; }
}

/* ---- Trust bar ---- */
.sw-trust-section {
  position: relative;
  z-index: 5;
  margin-top: -50px !important;
  margin-bottom: -20px !important;
  padding: 0 !important;
}
.sw-trust-section > .elementor-container {
  background: #fff !important;
  border: 1px solid #EDF1FA !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 45px rgba(7,21,74,.10);
  padding: 12px 20px !important;
}
.sw-trust-item-col {
  border-right: 1px solid #DDE4F4;
}
.sw-trust-item-col:last-child { border-right: 0 !important; }
.sw-trust-item-col > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: 70px 1fr !important;
  grid-template-rows: auto auto !important;
  grid-template-areas: "icon h" "icon p" !important;
  align-items: center;
  align-content: center;
  gap: 4px 14px !important;
  height: 100%;
}
.sw-trust-icon-h { grid-area: icon !important; align-self: center !important; }
.sw-trust-h3-w  { grid-area: h !important; }
.sw-trust-p-w   { grid-area: p !important; }

.sw-trust-icon-h .elementor-heading-title {
  width: 62px !important; height: 62px !important;
  border-radius: 50% !important;
  display: grid !important; place-items: center !important;
  font-size: 27px !important;
  background: linear-gradient(135deg, rgba(239,53,210,.14), rgba(6,77,245,.14)) !important;
  color: #8B2CFF !important;
  margin: 0 !important;
}
.sw-trust-h3-w .elementor-heading-title {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  margin: 0 !important;
  color: #07154A !important;
  line-height: 1.2 !important;
}
.sw-trust-p-w .elementor-widget-container p {
  margin: 0 !important;
  font-size: 14px !important;
  color: #59607a !important;
  line-height: 1.45 !important;
}

@media (max-width: 1050px) {
  .sw-trust-section > .elementor-container { flex-wrap: wrap !important; }
  .sw-trust-item-col { flex: 0 0 50% !important; max-width: 50% !important; border-right: 0 !important; padding: 14px !important; }
}
@media (max-width: 650px) {
  .sw-trust-item-col { flex: 0 0 100% !important; max-width: 100% !important; padding: 10px 12px !important; border-bottom: 1px solid #dde4f4; }
  .sw-trust-item-col:last-child { border-bottom: 0 !important; }
}

/* ---- Side card / intro card / content cards ---- */
.sw-side-card-native { border-radius: 20px !important; overflow: hidden; padding: 32px 28px !important; }
.sw-side-card-h2 .elementor-heading-title { color: #fff !important; font-size: 28px !important; margin: 0 0 14px !important; font-family: Georgia, 'Times New Roman', serif !important; font-weight: 700 !important; line-height: 1.25 !important; }
.sw-side-card-text .elementor-widget-container p, .sw-side-card-text p { color: #ffffff !important; margin: 0 0 18px !important; font-family: Georgia, 'Times New Roman', serif !important; }
.sw-side-card-btn .elementor-button, .sw-side-card-btn .elementor-button-text { width: 100%; font-family: Arial, Helvetica, sans-serif !important; white-space: nowrap; }
.sw-intro-h2 .elementor-heading-title { font-size: 42px !important; line-height: 1.12 !important; font-family: Georgia, 'Times New Roman', serif !important; color: #07154A !important; }
.sw-intro-body .elementor-widget-container p { font-size: 18px !important; line-height: 1.75 !important; color: #59607a !important; }
.sw-card-h3 .elementor-heading-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 30px !important;
  margin: 0 0 14px !important;
  color: #07154A !important;
}
.sw-card-body .elementor-widget-container,
.sw-card-body .elementor-widget-container p,
.sw-card-body .elementor-widget-container li { color: #59607a !important; font-size: 17px !important; line-height: 1.75 !important; }
.sw-card-body .types-grid {
  display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 18px !important; margin-top: 12px !important;
}
.sw-card-body .type-card {
  background: #fff !important; border: 1px solid #E8ECF7 !important; border-radius: 22px !important;
  padding: 24px !important; box-shadow: 0 10px 26px rgba(7,21,74,.05);
}
.sw-card-body .compare {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; margin: 12px 0 !important;
}
.sw-card-body .compare-box {
  border-radius: 22px !important; padding: 26px !important; background: #F8FBFF !important; border: 1px solid #E8ECF7 !important;
}
.sw-card-body .compare-box.private { background: linear-gradient(135deg, #FDF1FF, #EEF4FF) !important; }
.sw-card-body .process { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin-top: 8px !important; }
.sw-card-body .step {
  background: linear-gradient(135deg, #F1E8FF, #EEF4FF) !important;
  border-radius: 14px !important; padding: 12px 20px !important;
  display: flex !important; align-items: center !important; gap: 16px !important;
}
.sw-card-body .step strong {
  display: grid !important; place-items: center !important;
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  border-radius: 50% !important; background: #8B2CFF !important; color: #fff !important;
  font-size: 15px !important;
}

/* ---- Sidebar image ---- */
.sw-sidebar-img img {
  border-radius: 24px !important;
  box-shadow: 0 18px 45px rgba(7,21,74,.12) !important;
  display: block;
  width: 100%;
  height: 330px;
  object-fit: cover;
}
.sw-sidebar-col > .elementor-widget-wrap > .elementor-widget-image {
  margin-bottom: 22px;
}

/* ---- Quick links ---- */
.sw-quick-links-w .elementor-widget-container .quick-links {
  background: #fff;
  border: 1px solid #E8ECF7;
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(7,21,74,.06);
}
.sw-quick-links-w .quick-links h3 { margin: 0 0 14px; font-family: Arial, Helvetica, sans-serif; font-size: 18px; }
.sw-quick-links-w .quick-links a {
  display: block; padding: 11px 0;
  border-bottom: 1px solid #EEF2FB;
  color: #8B2CFF; font-weight: 800; text-decoration: none;
}
.sw-quick-links-w .quick-links a:last-child { border-bottom: 0; }

/* Eyebrow utility for native heading */
.eyebrow .elementor-heading-title {
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #8B2CFF !important;
  font-weight: 900 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  margin: 0 0 12px !important;
}

/* ===== v8.1 PATCH: inline hero buttons + larger blob ===== */
.sw-hero-left-col > .elementor-widget-wrap .elementor-widget.sw-hero-btn {
  display: inline-block !important;
  width: auto !important;
  vertical-align: top;
  margin: 8px 16px 0 0;
}
.sw-hero-right-col::before {
  width: 760px !important;
  height: 580px !important;
  right: -100px !important;
  opacity: .92 !important;
}
/* Trust bar — bigger icon circles to match source */
.sw-trust-icon-h .elementor-heading-title {
  width: 70px !important; height: 70px !important; font-size: 30px !important;
}

/* ===== v8.2 PATCH: target hero columns by Elementor class ===== */
.sw-hero-section .elementor-col-44 > .elementor-widget-wrap { display: block !important; }
.sw-hero-section .elementor-col-44 > .elementor-widget-wrap .elementor-widget.sw-hero-btn {
  display: inline-block !important;
  width: auto !important;
  vertical-align: top;
  margin: 8px 12px 0 0;
}
/* Apply blob to elementor-col-56 (the right col) */
.sw-hero-section .elementor-col-56 { position: relative; min-height: 620px; }
.sw-hero-section .elementor-col-56::before {
  content: "" !important;
  position: absolute;
  right: -100px; top: 30px;
  width: 760px; height: 580px;
  border-radius: 999px;
  background: linear-gradient(135deg, #EF35D2, #8B2CFF, #064DF5) !important;
  opacity: .92;
  pointer-events: none;
  z-index: 1;
  display: block !important;
}
.sw-hero-section .elementor-col-56 > .elementor-widget-wrap {
  position: relative; z-index: 2; height: 100%;
}
.sw-hero-section .elementor-col-56 .elementor-widget-image img {
  position: relative; z-index: 2;
}

/* ===== v8.3 PATCH: flexbox wrap, flex-row for the buttons area ===== */
.sw-hero-section .elementor-col-44 > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 0;
}
/* Make text widgets take full row */
.sw-hero-section .elementor-col-44 > .elementor-widget-wrap > .elementor-widget:not(.sw-hero-btn) {
  flex: 0 0 100% !important;
  width: 100% !important;
}
/* Buttons sit inline with auto width */
.sw-hero-section .elementor-col-44 > .elementor-widget-wrap > .elementor-widget.sw-hero-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 16px 0 0;
}
.sw-hero-section .elementor-col-44 > .elementor-widget-wrap > .elementor-widget.sw-hero-btn:first-of-type {
  margin-top: 12px;
}
/* hero action buttons via HTML widget */
.sw-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; margin-bottom: 60px; }
.sw-hero-actions .sw-action-primary, .sw-hero-actions .sw-action-outline {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 25px; border-radius: 999px;
  font-weight: 800; font-size: 15px; text-decoration: none;
}
.sw-hero-actions .sw-action-primary {
  background: linear-gradient(135deg,#EF35D2,#8B2CFF,#064DF5);
  color: #fff; border: 0;
  box-shadow: 0 14px 30px rgba(139,44,255,.25);
}
.sw-hero-actions .sw-action-outline {
  background: #fff; color: #07154A;
  border: 1px solid #8B2CFF;
}

/* === v9 iter3: size + divider polish === */
/* Force H1 size to match source exactly */
.sw-hero-h1-w .elementor-heading-title { font-size: 72px !important; font-weight: 400 !important; }
.sw-hero-lede-w .elementor-widget-container p { font-size: 21px !important; line-height: 1.55 !important; max-width: 590px !important; }

/* Trust bar — visible dividers between items, bigger icons */
.sw-trust-section > .elementor-container { padding: 28px !important; gap: 0 !important; }
.sw-trust-item-col { position: relative; padding: 0 18px !important; }
.sw-trust-item-col + .sw-trust-item-col::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 1px;
  background: #DDE4F4;
}
.sw-trust-icon-h .elementor-heading-title {
  width: 62px !important; height: 62px !important; font-size: 27px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(239,53,210,.14), rgba(6,77,245,.14)) !important;
  color: #8B2CFF !important;
  display: grid !important; place-items: center !important;
  margin: 0 !important;
}

/* === v9 iter4: target trust cols by Elementor native class === */
.sw-trust-section .elementor-col-25 { position: relative !important; padding: 0 18px !important; }
.sw-trust-section .elementor-col-25 + .elementor-col-25::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 15% !important;
  bottom: 15% !important;
  width: 1px !important;
  background: #DDE4F4 !important;
  display: block !important;
}
/* Re-apply trust item grid layout on natural class */
.sw-trust-section .elementor-col-25 > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: 70px 1fr !important;
  grid-template-areas: "icon h" "icon p" !important;
  align-items: center !important;
  align-content: center !important;
  gap: 4px 14px !important;
  height: 100% !important;
}
.sw-trust-section .elementor-col-25 .sw-trust-icon-h { grid-area: icon !important; align-self: center !important; }
.sw-trust-section .elementor-col-25 .sw-trust-h3-w  { grid-area: h !important; }
.sw-trust-section .elementor-col-25 .sw-trust-p-w   { grid-area: p !important; }

/* Elementor trust section — 2×2 grid at tablet (after desktop rules so cascade wins) */
@media (max-width: 1050px) {
  .sw-trust-section > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 18px !important;
  }
  .sw-trust-section .elementor-col-25 {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    padding: 8px 10px !important;
  }
  .sw-trust-section .elementor-col-25 + .elementor-col-25::before {
    display: none !important;
  }
  .sw-trust-section .elementor-col-25 > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    height: auto !important;
  }
  .sw-trust-section .sw-trust-icon-h {
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
  }
  .sw-trust-section .sw-trust-icon-h .elementor-heading-title {
    width: 50px !important;
    height: 50px !important;
    font-size: 22px !important;
  }
  .sw-trust-section .sw-trust-h3-w {
    margin-bottom: 0 !important;
  }
  .sw-trust-section .sw-trust-h3-w .elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .sw-trust-section .sw-trust-p-w {
    margin-bottom: 0 !important;
  }
  .sw-trust-section .sw-trust-p-w .elementor-widget-container p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
  }
  .sw-trust-section .elementor-element-populated {
    padding: 0 !important;
  }
}
@media (max-width: 650px) {
  .sw-trust-section > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    padding: 10px 8px !important;
  }
  .sw-trust-section .elementor-col-25 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 8px !important;
    border-bottom: 1px solid #dde4f4 !important;
  }
  .sw-trust-section .elementor-col-25:last-child {
    border-bottom: 0 !important;
  }
}

/* === v9 iter5: typography refinement to match source ===*/
/* The default Hello Elementor h1 is rendered lighter; match source bold serif */
.sw-hero-h1-w .elementor-heading-title {
  font-weight: 400 !important;
  font-stretch: normal !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
/* Constrain lede width to match sources max-width:620px Anglia Computer Solutions Business Ltd/ AppData/ Application Data/ Contacts/ Cookies/ Desktop/ Documents/ Downloads/ Dropbox/ Favorites/ IASME/ IASME2/ IntelGraphicsProfiles/ Links/ Local Settings/ Local Sites/ Logs/ Music/ My Documents/ NetHood/ OneDrive - Anglia Computer Solutions Business Ltd/ OneDrive - Voller Surveying Services Ltd/ OneDrive/ Pictures/ PrintHood/ QR Codes/ Qsync/ Recent/ Saved Games/ Searches/ SendTo/ Start Menu/ Templates/ Videos/ Web/ WebComponents/ bin/ eway_extract/ import_engine/ mg-parts-migration/ mundford-baseline/ scripts/ secrets-working/ source/ sw-screenshots/ tmp/ tmp_seo/ tools/ tubescaffolding.co.uk/ uploads/ wix311/

/* === v9 iter5: typography refinement to match source === */
.sw-hero-h1-w .elementor-heading-title {
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.sw-hero-left-col { max-width: 590px !important; padding: 0 !important; }
.sw-hero-lede-w .elementor-widget-container p { max-width: 590px !important; }

.sw-content-card-native h3,
.sw-card-h3 .elementor-heading-title {
  font-size: 30px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: #07154A !important;
  margin: 0 0 14px !important;
}
.sw-card-body .elementor-widget-container,
.sw-card-body .elementor-widget-container p {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #59607A !important;
}
.sw-card-body .type-card h4 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #07154A !important;
  margin: 0 0 8px !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
.sw-card-body .type-card p {
  font-size: 15px !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}

/* === v9 iter6: critical visual + behavior fixes === */
/* 1. H1 weight = bold to match source */
.sw-hero-h1-w .elementor-heading-title,
.sw-hero-h1-w .elementor-heading-title * {
  font-weight: 700 !important;
}

/* 2. Lede font-size = 21px (source) — was inheriting 16px body */
.sw-hero-lede-w,
.sw-hero-lede-w .elementor-widget-container,
.sw-hero-lede-w .elementor-widget-container p {
  font-size: 21px !important;
  line-height: 1.55 !important;
  color: #29324F !important;
}

/* 3. Remove Hello Elementor's default top padding on main */
body .site-main,
body main.site-main,
body #content,
.elementor-section.elementor-top-section:first-of-type {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.site-header + #content,
.site-header + .site-main,
.elementor-location-header + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.elementor-page main { padding-top: 0 !important; }

/* 4. Make sidebar column sticky like source */
.sw-page-section .elementor-col-33 {
  position: sticky !important;
  top: 120px !important;
  align-self: flex-start !important;
  height: fit-content !important;
}
@media (max-width: 1050px) {
  .sw-page-section .elementor-col-33 {
    position: static !important;
    height: auto !important;
  }
}

/* iter6.1 kill body padding */
body { padding: 0 !important; }

/* iter6.1 force body padding 0 */
body, body.elementor-default, body.elementor-page, body.elementor-template-full-width {
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* iter6.1 force body padding 0 */
body, body.elementor-default, body.elementor-page, body.elementor-template-full-width {
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* iter6.2 — body has .page class from WP. Source meant section.page only. */
body.page { padding: 0 !important; }


/* iter6.3 — exclude emoji from .visit img sizing */
.visit img.emoji {
  width: 1em !important;
  height: 1em !important;
  min-height: 0 !important;
  display: inline !important;
  vertical-align: -0.1em !important;
  margin: 0 4px 0 0 !important;
  object-fit: contain !important;
}
.sw-card-body img.emoji,
.elementor-widget-container img.emoji,
.site-footer img.emoji,
.sw-side-card-text img.emoji {
  width: 1em !important;
  height: 1em !important;
  min-height: 0 !important;
  display: inline !important;
  margin: 0 !important;
}


/* iter6.4 — footer logo + spacing fixes */
.site-footer .sw-footer-logo,
.sw-site-footer .sw-footer-logo,
.elementor-location-footer .sw-footer-logo,
footer.elementor .sw-footer-logo {
  height: 110px !important;
  width: auto !important;
  max-width: 100% !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 10px !important;
  margin-bottom: 22px !important;
  display: block !important;
  object-fit: contain !important;
}
/* Footer grid 4-col */
.site-footer .sw-footer-grid,
.elementor-location-footer .sw-footer-grid {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr 1fr 1fr !important;
  gap: 36px !important;
}
/* Headings + text */
.sw-site-footer h3,
.elementor-location-footer h3 {
  margin: 0 0 18px !important;
  font-size: 20px !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}
.sw-site-footer p,
.sw-site-footer a,
.sw-site-footer li,
.elementor-location-footer p,
.elementor-location-footer a,
.elementor-location-footer li {
  color: rgba(255,255,255,.82) !important;
  line-height: 1.8 !important;
  font-size: 15px !important;
}
.sw-site-footer ul,
.elementor-location-footer ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sw-footer-bottom {
  margin-top: 70px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.sw-legal { display: flex !important; gap: 20px !important; flex-wrap: wrap !important; }
.sw-legal a { color: rgba(255,255,255,.82) !important; font-size: 14px !important; }
@media (max-width: 1050px) {
  .site-footer .sw-footer-grid, .elementor-location-footer .sw-footer-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 650px) {
  .site-footer .sw-footer-grid, .elementor-location-footer .sw-footer-grid { grid-template-columns: 1fr !important; }
}


/* iter6.5 — restore footer top padding (Elementor section settings got reset) */
.elementor-location-footer .sw-site-footer,
.elementor-location-footer .elementor-section.sw-site-footer,
.elementor-location-footer > .elementor-section:first-child {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}


/* iter7 — pixel-perfect refinements across all pages */

/* Make hero left column wide enough so h1 fits on one line */
.sw-hero-section .elementor-col-44 {
  flex: 0 0 47% !important;
  max-width: 47% !important;
}
.sw-hero-section .elementor-col-56 {
  flex: 0 0 53% !important;
  max-width: 53% !important;
}
/* Remove the 590px cap so h1 can breathe */
.sw-hero-left-col { max-width: 100% !important; }

/* Hero pill — match source styling */
.sw-hero-pill-w {
  margin-bottom: 25px !important;
}
.sw-hero-pill-w .pill {
  display: inline-block;
  background: #F1E8FF;
  color: #8B2CFF;
  border-radius: 999px;
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-family: Arial, Helvetica, sans-serif;
}

/* Intro h2 — bold (was 400) */
.sw-intro-h2 .elementor-heading-title {
  font-weight: 700 !important;
}

/* Card h3 — bold to match source */
.sw-card-h3 .elementor-heading-title {
  font-weight: 700 !important;
}


/* iter8 — fix service-card grids on category landing pages */
/* On service-category pages (general-dentistry etc), the .cards inside a content-card
   should be 2-col not 4-col. Make our selector more specific than source CSS. */
.sw-card-body .cards {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px !important;
  margin-top: 12px !important;
}
.sw-card-body .cards .card,
.sw-card-body .cards a.card {
  display: block !important;
  border: 1px solid #DDE4F4 !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  box-shadow: 0 10px 26px rgba(7,21,74,.05) !important;
  text-decoration: none !important;
  color: inherit !important;
}
.sw-card-body .cards .card-img {
  display: block !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
}
.sw-card-body .cards .card-body {
  padding: 20px !important;
}
.sw-card-body .cards .card h3 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  margin: 0 0 6px !important;
  color: #07154A !important;
  font-weight: 700 !important;
}
.sw-card-body .cards .card p {
  font-size: 14.5px !important;
  margin: 0 !important;
  color: #59607a !important;
  line-height: 1.55 !important;
}
.sw-card-body .cards .card strong {
  display: block !important;
  margin-top: 14px !important;
  color: #8B2CFF !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
@media (max-width: 1050px) {
  .sw-card-body .cards { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 650px) {
  .sw-card-body .cards { grid-template-columns: 1fr !important; }
}


/* iter11 — page section padding + content card body sizing fixes */
.sw-lower-section { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; }
.sw-lower-section .lower { padding-top: 20px !important; padding-bottom: 30px !important; }
.sw-page-section > .elementor-container {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Type-cards inside content card body — match source padding 24px */
.sw-content-card-native .type-card {
  padding: 24px !important;
  min-height: 0 !important;
}
.sw-content-card-native .types-grid {
  margin-top: 16px !important;
}
.sw-content-card-native .type-card h4 {
  margin: 0 0 8px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
.sw-content-card-native .type-card p,
.sw-content-card-native .type-card li {
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.sw-content-card-native ul {
  margin: 14px 0 0 !important;
  padding-left: 20px !important;
}
.sw-content-card-native ul li {
  margin-bottom: 6px !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.sw-content-card-native p {
  margin: 0 0 14px !important;
}
.sw-content-card-native p:last-child { margin-bottom: 0 !important; }



/* =====================================================================
   MOBILE-FRIENDLY OVERHAUL — added 2026-06-04
   ===================================================================== */

/* ---- Hamburger button (hidden on desktop, shown <=1050px) ----------- */
.sw-hamburger {
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px;
  z-index: 110;
  position: relative;
  flex-shrink: 0;
}
.sw-hamburger span {
  display: block;
  width: 26px;
  height: 3px;
  background: var(--sw-navy);
  border-radius: 2px;
  margin: 5px 0;
  transition: transform .3s ease, opacity .2s ease;
}
/* Animate to X when open */
.sw-nav-open .sw-hamburger span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.sw-nav-open .sw-hamburger span:nth-child(2) {
  opacity: 0;
}
.sw-nav-open .sw-hamburger span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* ---- Lock body scroll when mobile menu is open ---------------------- */
body.sw-menu-lock {
  overflow: hidden !important;
}

/* ---- Tablet + mobile (<=1050px): show hamburger, mobile menu -------- */
@media (max-width: 1050px) {
  .sw-hamburger {
    display: block;
  }

  /* Override the old rule that hid these completely */
  .sw-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    max-width: 85vw;
    height: 100vh;
    height: 100dvh;
    background: #fff;
    box-shadow: -8px 0 30px rgba(7,21,74,.15);
    z-index: 100;
    padding: 80px 24px 32px;
    overflow-y: auto;
    transition: right .35s cubic-bezier(.4,0,.2,1);
    font-size: 17px !important;
  }
  .sw-nav-open .sw-menu {
    right: 0;
  }

  /* Nav links inside mobile menu */
  .sw-menu > a,
  .sw-menu > .sw-dropdown {
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--sw-line);
    font-size: 17px;
    font-weight: 700;
  }
  .sw-menu > a:last-child,
  .sw-menu > .sw-dropdown:last-child {
    border-bottom: 0;
  }
  .sw-menu a.current {
    border-bottom-color: var(--sw-line) !important;
    padding-bottom: 14px !important;
    color: var(--sw-blue);
  }

  /* Dropdown in mobile — click to expand, not hover */
  .sw-menu .sw-dropdown {
    cursor: pointer;
  }
  .sw-menu .sw-dropdown-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 0 0 16px !important;
    background: transparent !important;
  }
  .sw-menu .sw-dropdown.sw-dropdown-open .sw-dropdown-menu {
    display: block !important;
  }
  .sw-menu .sw-dropdown-menu a {
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--sw-line-3);
    border-radius: 0 !important;
    font-size: 16px;
  }
  .sw-menu .sw-dropdown-menu a:last-child {
    border-bottom: 0;
  }

  /* Show book button in mobile menu at the bottom */
  .sw-book {
    display: inline-block !important;
    margin-top: 20px;
    text-align: center;
    font-size: 15px;
    text-decoration: none;
  }
  .sw-nav-open .sw-book {
    display: inline-block !important;
  }

  /* Overlay behind the menu */
  .sw-nav-open::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(7,21,74,.35);
    z-index: 90;
  }

  /* Keep logo and hamburger above overlay */
  .sw-nav {
    position: relative;
    z-index: 105;
  }

  /* ---- Hero section mobile fixes ---- */
  .sw-hero-section .elementor-container {
    flex-direction: column !important;
  }
  .sw-hero-section .elementor-col-44,
  .sw-hero-section .elementor-col-56 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .sw-hero-section .elementor-col-56 {
    min-height: 380px !important;
  }
  .sw-hero-section .elementor-col-56::before {
    width: 100% !important;
    right: 0 !important;
    height: 380px !important;
  }
  .sw-hero-h1-w .elementor-heading-title {
    font-size: 40px !important;
    letter-spacing: -1px !important;
    line-height: 1.1 !important;
  }
  .sw-hero-lede-w,
  .sw-hero-lede-w .elementor-widget-container,
  .sw-hero-lede-w .elementor-widget-container p {
    font-size: 17px !important;
  }
  .sw-hero-actions {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }
  .sw-hero-actions .sw-action-primary,
  .sw-hero-actions .sw-action-outline {
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  /* ---- Page section 2-col → stack ---- */
  .sw-page-section .elementor-container {
    flex-direction: column !important;
  }
  .sw-page-section .elementor-col-66,
  .sw-page-section .elementor-col-33 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* ---- Section headings scale ---- */
  .sw-section h2,
  .sw-intro-h2 .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.15 !important;
  }

  /* ---- Content cards ---- */
  .sw-card-body .types-grid {
    grid-template-columns: 1fr !important;
  }
  .sw-card-body .compare {
    grid-template-columns: 1fr !important;
  }
}

/* ---- Phone-only tweaks (<=650px) ----------------------------------- */
@media (max-width: 650px) {
  .sw-hero-h1-w .elementor-heading-title {
    font-size: 32px !important;
    letter-spacing: -.5px !important;
  }
  .sw-hero-lede-w .elementor-widget-container p {
    font-size: 16px !important;
  }
  .sw-hero-section .elementor-col-56 {
    min-height: 280px !important;
  }
  .sw-hero-section .elementor-col-56::before {
    height: 280px !important;
  }
  .sw-hero-section .elementor-col-56 .elementor-widget-image img {
    height: 280px !important;
    object-fit: cover;
  }

  /* Footer */
  .sw-footer-bottom {
    flex-direction: column !important;
    text-align: center;
  }
  .sw-legal {
    justify-content: center !important;
  }

  /* Section headings */
  .sw-section h2,
  .sw-intro-h2 .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }

  /* Intro card body text */
  .sw-intro-body .elementor-widget-container p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* Content/intro card padding — override Elementor inline padding on section + inner wrap */
  .sw-content-card-native,
  .sw-intro-card-native {
    padding: 20px 18px !important;
  }
  .sw-content-card-native .elementor-element-populated,
  .sw-intro-card-native .elementor-element-populated {
    padding: 0 !important;
  }

  /* Card body text */
  .sw-card-body .elementor-widget-container,
  .sw-card-body .elementor-widget-container p,
  .sw-card-body .elementor-widget-container li {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* Card headings */
  .sw-card-h3 .elementor-heading-title,
  .sw-content-card-native h3 {
    font-size: 22px !important;
  }

  /* Side card — compact padding & text */
  .sw-side-card-native {
    padding: 22px 18px !important;
  }
  .sw-side-card-native .elementor-element-populated {
    padding: 0 !important;
  }
  .sw-side-card-h2 .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .sw-side-card-text .elementor-widget-container p,
  .sw-side-card-text p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .sw-side-card-btn .elementor-button,
  .sw-side-card-btn .elementor-button-text {
    font-size: 14px !important;
    padding: 12px 18px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Page section outer padding */
  .sw-page-section > .elementor-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Eyebrow labels */
  .eyebrow .elementor-heading-title,
  .eyebrow {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
  }

  /* Hero photo — show full image on mobile, natural aspect ratio */
  .sw-hero-photo-wrap {
    min-height: auto !important;
  }
  .sw-hero-photo img {
    height: auto !important;
    width: 100% !important;
    border-bottom-left-radius: 30px !important;
    object-fit: contain !important;
  }
  .sw-hero-blob {
    display: none !important;
  }

  /* Visit-us grid */
  .sw-visit-copy {
    padding: 24px !important;
  }

  /* Local trust block */
  .sw-local {
    padding: 24px !important;
  }

  /* Review cards stack */
  .sw-review-grid {
    gap: 14px !important;
  }

  /* Trust bar items — single column on mobile (matches spixworth.acstestweb.co.uk) */
  .sw-trust-section > .elementor-container {
    padding: 10px 8px !important;
    flex-wrap: wrap !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .sw-trust-section .elementor-col-25 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 10px 8px !important;
    border-bottom: 1px solid #dde4f4 !important;
  }
  .sw-trust-section .elementor-col-25:last-child {
    border-bottom: 0 !important;
  }
  .sw-trust-section .elementor-col-25 + .elementor-col-25::before {
    display: none !important;
  }
  .sw-trust-section .elementor-col-25 > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: 38px 1fr !important;
    grid-template-areas: "icon h" "icon p" !important;
    align-items: center !important;
    align-content: center !important;
    gap: 0px 8px !important;
    height: auto !important;
  }
  .sw-trust-section .sw-trust-icon-h {
    grid-area: icon !important;
    align-self: center !important;
    margin-bottom: 0 !important;
  }
  .sw-trust-section .sw-trust-icon-h .elementor-heading-title {
    width: 38px !important;
    height: 38px !important;
    font-size: 18px !important;
  }
  .sw-trust-section .sw-trust-h3-w {
    grid-area: h !important;
    margin-bottom: 0 !important;
  }
  .sw-trust-section .sw-trust-h3-w .elementor-heading-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
  .sw-trust-section .sw-trust-p-w {
    grid-area: p !important;
    margin-bottom: 0 !important;
  }
  .sw-trust-section .sw-trust-p-w .elementor-widget-container p {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  /* Remove Elementor column inline padding override */
  .sw-trust-section .elementor-element-populated {
    padding: 0 !important;
  }
}

/* ---- Inline source-page CSS mobile fixes (the minified section) ----- */
@media (max-width: 1050px) {
  .hero-inner, .hero {
    grid-template-columns: 1fr !important;
  }
  .hero h1 {
    font-size: 38px !important;
  }
  .hero p.lede {
    font-size: 17px !important;
  }
  .blob {
    display: none !important;
  }
  .page .main {
    grid-template-columns: 1fr !important;
  }
  .nav .menu {
    display: none;
  }
}
@media (max-width: 650px) {
  .hero h1 {
    font-size: 30px !important;
  }
}


/* ---- Footer mobile fixes (2026-06-04 patch) ------------------------- */
@media (max-width: 1050px) {
  .elementor-location-footer .sw-footer-grid,
  .sw-site-footer .sw-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  .sw-footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 14px !important;
    margin-top: 40px !important;
  }
  .sw-legal {
    justify-content: center !important;
  }
}
@media (max-width: 650px) {
  .elementor-location-footer .sw-footer-grid,
  .sw-site-footer .sw-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .elementor-location-footer .sw-site-footer,
  .elementor-element.sw-site-footer,
  .sw-site-footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 40px !important;
    padding-bottom: 30px !important;
  }
  .sw-footer-logo {
    height: 80px !important;
    margin-bottom: 14px !important;
  }
  .sw-site-footer h3,
  .elementor-location-footer h3 {
    font-size: 18px !important;
    margin-bottom: 12px !important;
  }
  .sw-footer-bottom {
    margin-top: 28px !important;
    padding-top: 20px !important;
  }
  .sw-legal {
    gap: 12px !important;
  }
  .sw-legal a {
    font-size: 13px !important;
  }
}


/* ---- Prevent horizontal scroll on mobile (2026-06-04 patch) --------- */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}





/* ---- Mobile fixes: trust bar + logo (2026-06-05 patch) -------------- */

/* Trust bar: compact 2x2 grid on tablet-portrait */
@media (max-width: 1050px) {
  .sw-trust-section > .elementor-container { padding: 10px !important; }
  .sw-trust-section .sw-container { padding-inline: 2px; margin-top: 0; }
  .sw-trust { grid-template-columns: repeat(2, 1fr) !important; padding: 10px 6px !important; gap: 8px !important; }
  .sw-trust-item { flex-direction: row; gap: 8px !important; align-items: center; padding: 6px 4px !important; border-bottom: 0 !important; border-right: 0 !important; }
  .sw-trust .sw-icon-circle { width: 38px !important; height: 38px !important; font-size: 18px !important; }
  .sw-trust-item h3 { font-size: 14px !important; margin: 0 0 2px !important; }
  .sw-trust-item p { font-size: 12px !important; line-height: 1.3 !important; }
}
/* Trust bar: single column on mobile (matches spixworth.acstestweb.co.uk) */
@media (max-width: 650px) {
  .sw-trust { grid-template-columns: 1fr !important; gap: 0 !important; padding: 14px 10px !important; }
  .sw-trust-item { border-bottom: 1px solid #dde4f4 !important; padding: 12px 4px !important; border-right: 0 !important; }
  .sw-trust-item:last-child { border-bottom: 0 !important; }
}


/* ---- Logo mobile: ensure always visible (2026-06-05 patch) ---------- */
@media (max-width: 1050px) {
  .sw-site-header,
  .sw-site-header .elementor-container,
  .sw-site-header .elementor-column-wrap,
  .sw-site-header .elementor-element-populated,
  .sw-site-header .elementor-widget-wrap,
  .sw-site-header .elementor-top-column,
  .sw-site-header .elementor-widget,
  .sw-site-header .elementor-widget-html { overflow: visible !important; }
  .sw-nav { padding: 10px 16px; min-height: 56px; }
  .sw-nav .sw-logo-link { display: flex; align-items: center; flex-shrink: 0; }
  .sw-nav .sw-logo {
    height: 60px !important;
    width: auto !important;
    max-width: 60px !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    object-fit: contain;
  }
}


/* ---- Book button mobile: compact size (2026-06-05 patch) ------------ */
@media (max-width: 1050px) {
  .sw-nav .sw-book {
    display: inline-block !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
  .sw-nav { gap: 10px !important; }
}

/* ---- Section head "View all" link: brand purple (2026-06-05 patch) -- */
.sw-section-head .sw-card-cta { color: var(--sw-purple); }

/* ---- Section head: stack title + View all on mobile (2026-06-05) ---- */
@media (max-width: 1050px) {
  .sw-section-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
}

/* ---- Teeth Whitening card: show full before/after image (2026-06-05) ---- */
a.sw-card[href="/teeth-whitening/"] .sw-card-img {
  height: auto !important;
  aspect-ratio: 1600 / 1445 !important;
}

/* ---- Lower section (Trusted Locally + Visit): stack on mobile (2026-06-05) */
@media (max-width: 1050px) {
  .sw-lower .sw-container {
    grid-template-columns: 1fr !important;
  }
  .sw-visit {
    grid-template-columns: 1fr !important;
  }
}


/* ---- Price rows — step-row pattern adapted for pricing (2026-06-05) ---- */
.price-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 8px;
}
.price-row {
  background: linear-gradient(135deg, #F1E8FF, #EEF4FF);
  border-radius: 14px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.price-row .treatment {
  font-size: 16px;
  color: #07154A;
}
.price-row .price {
  font-weight: 700;
  color: #06164A;
  white-space: nowrap;
  font-size: 16px;
}

/* NHS band rows — wider layout with description */
.nhs-row {
  flex-wrap: wrap;
}
.nhs-row .band-badge {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 50%;
  background: #8B2CFF;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.nhs-row .band-info {
  flex: 1;
  min-width: 0;
}
.nhs-row .band-name {
  font-weight: 700;
  color: #07154A;
  font-size: 16px;
}
.nhs-row .band-desc {
  font-size: 14px;
  color: #59607A;
  margin-top: 2px;
}
.nhs-row .price {
  font-size: 17px;
}

/* Price rows mobile */
@media (max-width: 600px) {
  .price-row {
    flex-wrap: wrap;
    padding: 14px 16px;
  }
  .price-row .price {
    color: #8B2CFF;
  }
  .nhs-row .band-info {
    width: 100%;
  }
}

/* ---- Trust bar: vertically center content (2026-06-08) -------------- */

/* Reset the inline margin-top:-30px on .sw-container */
.sw-trust-section .sw-container {
  margin-top: 0 !important;
}

/* Make the white card (container) shrink to content height */
.sw-trust-section > .elementor-container {
  height: auto !important;
}

/* Remove any stretch on the column and widget-wrap */
.sw-trust-section .elementor-col-100,
.sw-trust-section .elementor-col-100 > .elementor-widget-wrap {
  height: auto !important;
  min-height: 0 !important;
}

/* ---- Hamburger menu: smaller on mobile (2026-06-08) ----------------- */
@media (max-width: 1050px) {
  .sw-hamburger {
    padding: 5px !important;
  }
  .sw-hamburger span {
    width: 20px !important;
    height: 2px !important;
    margin: 4px 0 !important;
  }
  .sw-nav-open .sw-hamburger span:nth-child(1) {
    transform: translateY(6px) rotate(45deg) !important;
  }
  .sw-nav-open .sw-hamburger span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg) !important;
  }
}

/* ---- Mobile fixes: spacing & centering (2026-06-08) ---------------- */
@media (max-width: 1050px) {
  /* Reduce large gap between hero action buttons and hero image */
  .sw-hero-actions {
    margin-bottom: 4px !important;
  }

  /* Tighten section padding on mobile — reduce vertical white space */
  .sw-hero-section {
    padding-top: 10px !important;
    padding-bottom: 6px !important;
  }
  .sw-page-section {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .sw-page-section > .elementor-container {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }
  .sw-lower-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .sw-lower-section .lower {
    padding-top: 4px !important;
    padding-bottom: 6px !important;
  }
  .sw-trust-section {
    margin-top: -24px !important;
    margin-bottom: -14px !important;
  }

  /* Lower section: stack the CTA + Visit cards and centre them */
  .lower {
    grid-template-columns: 1fr !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 16px !important;
  }

  /* Visit card: stack image above text on mobile */
  .visit {
    grid-template-columns: 1fr !important;
  }
  .visit img {
    min-height: 200px !important;
    height: 200px !important;
  }
  .visit-copy {
    padding: 24px !important;
    text-align: center !important;
  }

  /* Local CTA card: centre text */
  .local {
    text-align: center !important;
    padding: 28px 20px !important;
  }
  .local h2 {
    font-size: 30px !important;
  }
}
