/* =====================================================================
   RDL Labs — Sea-green homepage refresh (PREVIEW)            v2 2026-09-28
   One self-contained override. Load AFTER website/css/style.css.
   - Site-wide (shared header/footer): navbar, footer, .btn-primary,
     link + loader colors.
   - Homepage-only: everything scoped to #home / .ftco-intro / #products /
     #about / #contact / the certifications block.
   No markup changes required. Safe to remove: delete the file to revert.
   ===================================================================== */

:root {
  --rdl-green:        #2E8B57;  /* brand sea green (accents, icons, borders) */
  --rdl-green-600:    #287A4C;  /* text-bearing fills: white text passes AA (5.3:1) */
  --rdl-green-dark:   #1F6B45;  /* hover / emphasis */
  --rdl-green-deep:   #123F2B;  /* dark sections */
  --rdl-green-night:  #0C2A1D;  /* footer */
  --rdl-tint:         #E8F5EE;  /* light tint */
  --rdl-tint-2:       #F4FAF6;  /* section wash */
  --rdl-line:         #D6E9DE;  /* hairlines */
  --rdl-mint:         #8FD6AE;  /* accent on dark backgrounds */
  --rdl-ink:          #15261F;  /* headings */
  --rdl-text:         #45574F;  /* body copy (7.4:1 on white) */
  --rdl-radius:       14px;
  --rdl-shadow:       0 1px 2px rgba(16,48,33,.06), 0 8px 24px rgba(16,48,33,.07);
  --rdl-shadow-lg:    0 2px 4px rgba(16,48,33,.06), 0 18px 40px rgba(16,48,33,.12);
}

/* ---------- Global accent swap (template blue/teal -> sea green) ---------- */
a { color: var(--rdl-green-600); }
a:hover, a:focus { color: var(--rdl-green-dark); }
.text-primary { color: var(--rdl-green-600) !important; }
.bg-primary { background: var(--rdl-green) !important; }

.btn { border-radius: 10px; font-weight: 600; letter-spacing: .01em; }
.btn.btn-primary {
  background: var(--rdl-green-600);
  border: 1px solid var(--rdl-green-600);
  color: #fff;
}
.btn.btn-primary:hover, .btn.btn-primary:focus {
  background: var(--rdl-green-dark);
  border-color: var(--rdl-green-dark);
  color: #fff;
}
.btn.btn-primary.btn-outline-primary,
.btn.btn-outline-primary {
  background: transparent;
  border: 1px solid var(--rdl-green-600);
  color: var(--rdl-green-600);
}
.btn.btn-primary.btn-outline-primary:hover,
.btn.btn-outline-primary:hover {
  background: var(--rdl-green-600);
  border-color: var(--rdl-green-600);
  color: #fff;
}
#ftco-loader .path { stroke: var(--rdl-green); }

/* ---------- Navbar (shared header) ---------- */
#ftco-navbar,
#ftco-navbar.ftco-navbar-light,
#ftco-navbar.ftco-navbar-light.scrolled {
  z-index: 1030;                          /* was computed 0: hero covered the nav */
  background: rgba(255,255,255,.97) !important;
  -webkit-backdrop-filter: saturate(160%) blur(8px);
  backdrop-filter: saturate(160%) blur(8px);
  box-shadow: 0 1px 0 var(--rdl-line), 0 6px 20px rgba(16,48,33,.06);
  padding-top: 8px;
  padding-bottom: 8px;
}
#ftco-navbar .navbar-brand { color: var(--rdl-ink); }
#ftco-navbar .navbar-brand img { margin-right: 10px; }
#ftco-navbar .navbar-brand span,
#ftco-navbar .navbar-brand span.text-dark {
  color: var(--rdl-ink) !important;
  font-weight: 800;
  letter-spacing: .08em;
  font-size: 1rem;
}
#ftco-navbar.ftco-navbar-light .navbar-nav > .nav-item > .nav-link,
#ftco-navbar.ftco-navbar-light.scrolled .nav-link {
  color: var(--rdl-ink) !important;
  font-size: 14px;
  font-weight: 600;
  padding: .55rem 14px !important;
}
#ftco-navbar.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover,
#ftco-navbar.ftco-navbar-light.scrolled .nav-link:hover,
#ftco-navbar.ftco-navbar-light.scrolled .nav-link.active {
  color: var(--rdl-green-600) !important;
}
/* "Submit Case" nav item becomes the header CTA (link target unchanged) */
#ftco-navbar.ftco-navbar-light .navbar-nav > .nav-item > .nav-link[href="/submit-case"] {
  background: var(--rdl-green-600);
  color: #fff !important;
  border-radius: 10px;
  margin: 0 6px 0 10px;
  padding: .5rem 18px !important;
}
#ftco-navbar.ftco-navbar-light .navbar-nav > .nav-item > .nav-link[href="/submit-case"]:hover {
  background: var(--rdl-green-dark);
  color: #fff !important;
}
#ftco-navbar .navbar-toggler,
#ftco-navbar.ftco-navbar-light.scrolled .navbar-toggler {
  color: var(--rdl-ink) !important;
  border: 1px solid var(--rdl-line) !important;
  border-radius: 8px;
  padding: .35rem .7rem;
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 991.98px) {
  #ftco-navbar .navbar-nav { padding: 6px 0 12px; }
  #ftco-navbar.ftco-navbar-light .navbar-nav > .nav-item > .nav-link[href="/submit-case"] {
    display: inline-block;
    margin: 6px 0;
  }
}

/* ---------- Homepage base type ---------- */
body:has(#home.home-slider) { color: var(--rdl-text); }
#products h2, #products h3,
#products + section h2,
#about h2, #about h3 { letter-spacing: -.015em; }

/* ---------- Hero ---------- */
#home.home-slider .slider-item {
  height: 660px;
  min-height: 0;
  background-position: 70% center;
}
#home.home-slider .slider-item .overlay {
  opacity: 1;
  background: linear-gradient(90deg,
      rgba(10,38,26,.92) 0%,
      rgba(12,46,31,.82) 38%,
      rgba(14,52,35,.35) 72%,
      rgba(14,52,35,.10) 100%);
}
#home.home-slider .slider-item .slider-text {
  height: 660px;
  padding: 112px 0 96px;          /* clears the fixed navbar */
}
#home.home-slider .slider-text > [class*="col-"] {
  flex: 0 0 62%;
  max-width: 620px;
}
/* eyebrow tag (decorative) */
#home.home-slider .slider-text > [class*="col-"]::before {
  content: "Orthodontic lab \00B7  Dallas \00B7  DFW";
  display: inline-block;
  margin-bottom: 18px;
  padding: 6px 14px;
  border: 1px solid rgba(143,214,174,.45);
  border-radius: 999px;
  background: rgba(46,139,87,.18);
  color: #CFEEDC;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#home.home-slider .slider-item .slider-text h1,
#home.home-slider .slider-item .slider-text h2 {
  max-width: 600px;
  margin-bottom: 18px !important;
  color: #fff;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}
#home.home-slider .slider-item .slider-text p {
  max-width: 540px;
  color: rgba(255,255,255,.88);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
}
#home.home-slider .slider-text .btn {
  border-radius: 10px;
  padding: 14px 26px !important;
  font-size: 15px;
  margin-top: 8px;
}
#home.home-slider .slider-text .btn.btn-primary {
  background: var(--rdl-green);
  border-color: var(--rdl-green);
  box-shadow: 0 8px 22px rgba(46,139,87,.35) !important;
}
#home.home-slider .slider-text .btn.btn-primary:hover {
  background: #fff; border-color: #fff; color: var(--rdl-green-deep);
}
#home.home-slider .slider-text .btn.btn-outline-primary {
  background: rgba(255,255,255,.06);
  color: #fff;
  border: 1px solid rgba(255,255,255,.55);
  margin-left: 10px !important;
}
#home.home-slider .slider-text .btn.btn-outline-primary:hover {
  background: #fff; color: var(--rdl-green-deep); border-color: #fff;
}
#home.home-slider .owl-dots {
  bottom: 96px;
  text-align: left;
  max-width: 1110px;
  margin: 0 auto;
  padding: 0 15px;
}
#home.home-slider .owl-dots .owl-dot {
  width: 26px !important; height: 6px !important;
  transform: none; -webkit-transform: none;
  border: 0; border-radius: 99px; margin: 0 6px 0 0;
  background: rgba(255,255,255,.35);
}
#home.home-slider .owl-dots .owl-dot span { display: none; }
#home.home-slider .owl-dots .owl-dot.active { border: 0; background: var(--rdl-mint); width: 40px !important; }

/* ---------- Contact strip (was the big teal box) ---------- */
#home + .ftco-intro { color: var(--rdl-text); position: relative; z-index: 2; }
#home + .ftco-intro .container { margin-top: -58px; }
#home + .ftco-intro .color-2 {
  background: #fff;
  border: 1px solid var(--rdl-line);
  border-left: 4px solid var(--rdl-green);
  border-radius: var(--rdl-radius);
  box-shadow: var(--rdl-shadow-lg);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 40px;
  padding: 22px 28px !important;
}
#home + .ftco-intro h3 {
  margin: 0 !important;
  color: var(--rdl-ink);
  font-size: 18px;
  font-weight: 700;
  flex: 0 0 auto;
}
#home + .ftco-intro .openinghours {
  display: flex !important;
  flex-direction: column;
  width: auto;
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
}
#home + .ftco-intro .openinghours span { width: auto; display: block; }
#home + .ftco-intro .openinghours span:first-child {
  color: #5E7268;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#home + .ftco-intro .openinghours span:last-child {
  color: var(--rdl-ink);
  font-weight: 600;
  word-break: break-word;
}

/* ---------- Products ---------- */
#products.ftco-section {
  background: linear-gradient(180deg, #fff 0, var(--rdl-tint-2) 140px, var(--rdl-tint-2) 100%);
  padding-top: 84px;
  padding-bottom: 72px;
}
#products > .container > .text-center.mb-5 { margin-bottom: 40px !important; }
#products > .container > .text-center.mb-5::before {
  content: "Products & services";
  display: block;
  margin-bottom: 8px;
  color: var(--rdl-green-600);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#products h2 {
  color: var(--rdl-ink);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 10px;
}
#products > .container > .text-center p { color: var(--rdl-text); font-size: 16px; margin: 0; }

#products .rdl-service-grid {
  margin-left: -12px; margin-right: -12px;
  align-items: flex-start !important;     /* opening one card no longer stretches its row-mates */
}
#products .rdl-service-grid .card.h-100 { height: auto !important; }
#products .rdl-service-grid > [class*="col-"] {
  padding-left: 12px; padding-right: 12px;
  margin-bottom: 24px !important;
  order: 1;                               /* orthodontic items first (default) */
}
/* Ortho first, "also available" after — matched on existing product names */
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Splint" i]),
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Night Guard" i]) { order: 2; }
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Denture" i]),
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Zirconia" i]),
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Bridge" i]),
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="E.max" i]),
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="PFM" i]),
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Crown" i]:not([alt*="DLS" i])) { order: 3; }

#products .home-product-tile.card,
#products .rdl-service-grid .card {
  background: #fff;
  border: 1px solid var(--rdl-line);
  border-radius: var(--rdl-radius);
  box-shadow: var(--rdl-shadow);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#products .rdl-service-grid .card:hover {
  transform: translateY(-3px);
  box-shadow: var(--rdl-shadow-lg);
  border-color: #BFDDCB;
}
#products .home-product-tile .home-product-image-wrap {
  background: #F3F8F5;
  padding-top: 68%;
  border-bottom: 1px solid var(--rdl-line);
}
#products .home-product-tile .home-product-image-wrap .home-product-img {
  padding: 16px;
  border-radius: 20px;
}
/* category tag on the image */
#products .home-product-tile .home-product-image-wrap::after {
  content: "Orthodontic";
  position: absolute;
  top: 12px; left: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--rdl-green-600);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.5;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(16,48,33,.18);
}
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Splint" i]) .home-product-image-wrap::after,
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Night Guard" i]) .home-product-image-wrap::after {
  content: "Appliance";
}
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Denture" i]) .home-product-image-wrap::after,
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Zirconia" i]) .home-product-image-wrap::after,
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Bridge" i]) .home-product-image-wrap::after,
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="E.max" i]) .home-product-image-wrap::after,
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="PFM" i]) .home-product-image-wrap::after,
#products .rdl-service-grid > [class*="col-"]:has(img[alt*="Crown" i]:not([alt*="DLS" i])) .home-product-image-wrap::after {
  content: "Also available";
  background: #fff;
  color: var(--rdl-green-dark);
  border: 1px solid var(--rdl-line);
}

/* card title row — old refresh made this white-on-white (invisible) */
#products .home-product-tile .product-header,
#products .rdl-service-grid .product-header {
  background: #fff !important;
  color: var(--rdl-ink) !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.005em;
  min-height: 76px;                       /* fits 2-line names so tiles stay even */
  padding: 16px 18px;
  gap: 12px;
}
#products .home-product-tile .product-header .toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--rdl-tint);
  color: var(--rdl-green-dark);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  transition: background .2s ease, color .2s ease;
}
#products .home-product-tile .product-header:hover .toggle-icon,
#products .home-product-tile .product-header[aria-expanded="true"] .toggle-icon {
  background: var(--rdl-green-600);
  color: #fff;
}
#products .home-product-tile .card-body {
  padding: 0 18px 18px !important;
  color: var(--rdl-text);
  font-size: 14px;
  line-height: 1.6;
}
#products .home-product-tile .card-body ul { padding-left: 18px; }
#products .home-product-tile .card-body li { margin-bottom: 4px; }
#products .home-product-tile .card-body li::marker { color: var(--rdl-green); }

/* ---------- About ---------- */
#about.container-wrap { margin-top: 48px !important; }
#about .img { min-height: 420px; background-position: center; }
#about .about-wrap {
  background: linear-gradient(140deg, var(--rdl-green-deep) 0%, var(--rdl-green-dark) 60%, var(--rdl-green) 100%);
  color: rgba(255,255,255,.85);
}
@media (min-width: 768px) {
  #about .about-wrap { padding: 64px 12% 48px 56px; }
}
#about .heading-section h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  background: none;
  -webkit-text-fill-color: #fff;
  color: #fff;
}
#about .heading-section.mb-5 { margin-bottom: 28px !important; }
#about .heading-section p { color: rgba(255,255,255,.88); font-size: 16px; }
#about .about-wrap .list-services { display: flex; margin-bottom: 18px; }
#about .about-wrap .list-services .icon {
  margin-top: 4px;
  width: 44px; height: 44px; flex: 0 0 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
}
#about .about-wrap .list-services .icon:after { display: none; }
#about .about-wrap .list-services .icon span { font-size: 20px; color: var(--rdl-mint); }
#about .about-wrap .list-services .text { padding-left: 18px; width: auto; }
#about .about-wrap .list-services .text h3 { font-size: 17px; font-weight: 700; margin-bottom: 2px; color: #fff; }
#about .about-wrap .list-services .text p { margin-bottom: 0; color: rgba(255,255,255,.82); }

/* ---------- Certifications & partners (section right after #products) ---------- */
#products + section.ftco-section.bg-light { background: #fff !important; padding: 72px 0 56px; }
#products + section.ftco-section h2 { color: var(--rdl-ink); font-size: 28px; font-weight: 700; }
#products + section.ftco-section .bg-white {
  border: 1px solid var(--rdl-line) !important;
  border-radius: 12px !important;
  transition: box-shadow .2s ease, border-color .2s ease;
}
#products + section.ftco-section .bg-white:hover { box-shadow: var(--rdl-shadow); border-color: #BFDDCB !important; }

/* ---------- Mission block (#contact) — light tint to break up the dark footer ---------- */
#contact.ftco-quote.ftco-quote-mission {
  background: var(--rdl-tint);
  border-top: 1px solid var(--rdl-line);
}
#contact .choose { padding-top: 64px !important; padding-bottom: 64px !important; max-width: 860px; }
#contact .heading-section.mb-5 { margin-bottom: 18px !important; }
#contact .heading-section h2 {
  font-size: 30px; font-weight: 700; line-height: 1.25; letter-spacing: -.015em;
  background: none; -webkit-text-fill-color: var(--rdl-ink); color: var(--rdl-ink);
  padding-left: 16px; border-left: 4px solid var(--rdl-green);
}
#contact.ftco-quote .choose p { color: var(--rdl-text); font-size: 16px; line-height: 1.75; }

/* ---------- Footer (shared) ---------- */
.ftco-footer.footer-modern {
  background: linear-gradient(180deg, var(--rdl-green-night) 0%, #081D14 100%);
  padding-top: 60px;
}
.footer-modern .footer-card {
  background: rgba(255,255,255,.035);
  border-color: rgba(143,214,174,.14);
}
.footer-modern .quick-links a:hover,
.footer-modern .block-23 a:hover { color: var(--rdl-mint); }
.footer-modern .ftco-footer-social a:hover,
.footer-modern .ftco-footer-social li a:hover { background: var(--rdl-green); color: #fff; }
.footer-modern .block-23 ul li .icon { color: var(--rdl-mint); }
.footer-bottom-note p { font-size: 13px; color: rgba(255,255,255,.55); }
.footer-bottom-note a { color: rgba(255,255,255,.7); }

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
  #home.home-slider .slider-text > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
}
@media (max-width: 767.98px) {
  #home.home-slider .slider-item,
  #home.home-slider .slider-item .slider-text { height: auto; min-height: 620px; }
  #home.home-slider .slider-item .slider-text { padding: 108px 20px 112px; min-height: 620px; }
  #home.home-slider .slider-item { background-position: 72% center; }
  #home.home-slider .slider-item .overlay {
    background: linear-gradient(180deg, rgba(10,38,26,.86) 0%, rgba(12,46,31,.9) 100%);
  }
  #home.home-slider .slider-text > [class*="col-"]::before { font-size: 10.5px; margin-bottom: 14px; }
  #home.home-slider .slider-item .slider-text h1,
  #home.home-slider .slider-item .slider-text h2 { font-size: 34px; line-height: 1.12; }
  #home.home-slider .slider-item .slider-text p { font-size: 16px; }
  #home.home-slider .slider-text .btn { display: block; width: 100%; margin: 10px 0 0 !important; text-align: center; }
  #home.home-slider .owl-dots { bottom: 74px; padding: 0 20px; }
  #home + .ftco-intro .container { margin-top: -44px; }
  #home + .ftco-intro .color-2 { flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px !important; }
  #products.ftco-section { padding-top: 64px; }
  #products h2 { font-size: 28px; }
  #about .about-wrap { padding: 40px 24px; }
  #about .img { min-height: 260px; }
}

/* ---------- Essix / digital bracket removal (step3, sits inside #products, above #about) ---------- */
#products .rdl-essix { padding: 16px 0 8px; }
.rdl-essix-panel {
  position: relative;
  background: #fff;
  border: 1px solid var(--rdl-line);
  border-radius: 18px;
  box-shadow: var(--rdl-shadow-lg);
  padding: 44px 44px;
  overflow: hidden;
}
.rdl-essix-panel::before {                 /* sea-green top rule */
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, var(--rdl-green-dark), var(--rdl-green) 60%, var(--rdl-mint));
}
.rdl-essix-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--rdl-tint);
  color: var(--rdl-green-dark);
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
#products .rdl-essix h2 {
  color: var(--rdl-ink);
  font-size: 32px; font-weight: 700; line-height: 1.18; letter-spacing: -.02em;
  margin-bottom: 14px;
}
.rdl-essix-intro p { color: var(--rdl-text); font-size: 16px; line-height: 1.7; margin-bottom: 22px; }
.rdl-essix .btn.rdl-essix-cta { padding: 13px 24px; font-size: 15px; border-radius: 10px; }
.rdl-essix-steps { list-style: none; margin: 0; padding: 0 0 0 24px; position: relative; }
.rdl-essix-steps li {
  position: relative;
  display: flex; align-items: flex-start; gap: 16px;
  background: var(--rdl-tint-2);
  border: 1px solid var(--rdl-line);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 14px;
}
.rdl-essix-steps li:last-child { margin-bottom: 0; }
.rdl-essix-steps li:not(:last-child)::after {  /* connector between steps */
  content: ""; position: absolute; left: 37px; bottom: -15px; width: 2px; height: 14px;
  background: var(--rdl-line);
}
.rdl-essix-num {
  flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--rdl-green-600); color: #fff; font-weight: 700; font-size: 15px;
  box-shadow: 0 4px 12px rgba(46,139,87,.28);
}
#products .rdl-essix-steps h3 { color: var(--rdl-ink); font-size: 17px; font-weight: 700; line-height: 1.3; margin: 5px 0 4px; }
.rdl-essix-steps p { color: var(--rdl-text); font-size: 14.5px; line-height: 1.55; margin: 0; }
@media (max-width: 991.98px) {
  .rdl-essix-steps { padding-left: 0; margin-top: 28px; }
}
@media (max-width: 767.98px) {
  .rdl-essix-panel { padding: 32px 20px 22px; border-radius: 14px; }
  #products .rdl-essix h2 { font-size: 26px; }
  .rdl-essix .btn.rdl-essix-cta { display: block; width: 100%; text-align: center; }
  .rdl-essix-steps li { padding: 16px; gap: 14px; }
  .rdl-essix-steps li:not(:last-child)::after { left: 33px; }
}

/* step4 */
#products .rdl-essix { padding: 0 0 44px; }

/* =====================================================================
   step5 — people-free hero + about (product photos only)
   Images: /website/images/showcase/*.webp = resized copies of the site's own
   product photos from /images/products/ (no stock, no AI).
   ===================================================================== */

/* ---------- Hero: bright, airy, product showcase ---------- */
#home.home-slider .slider-item,
#home.home-slider .slider-item[style] {
  background-color: #F5FAF7;
  background-image:
    radial-gradient(900px 520px at 78% 42%, rgba(143,214,174,.34) 0%, rgba(143,214,174,0) 62%),
    radial-gradient(700px 420px at 8% 100%, rgba(232,245,238,.95) 0%, rgba(232,245,238,0) 70%),
    linear-gradient(180deg, #FFFFFF 0%, #F3FAF6 100%) !important;
  background-size: auto !important;
  background-position: center !important;
}
/* the old dark overlay becomes the main product frame */
#home.home-slider .slider-item .overlay {
  opacity: 1;
  background: #fff url("../images/showcase/rpe.webp") center / cover no-repeat;
  background-clip: padding-box;
  border: 10px solid #fff;
  border-radius: 26px;
  box-shadow: 0 1px 2px rgba(16,48,33,.06), 0 24px 60px rgba(16,48,33,.16);
  outline: 1px solid rgba(16,48,33,.06);
  top: auto; left: auto; right: auto; bottom: auto;
}
/* floating detail cards */
#home.home-slider .slider-item .overlay::before,
#home.home-slider .slider-item .overlay::after {
  content: "";
  position: absolute;
  background: #fff no-repeat center / cover;
  background-clip: padding-box;
  border: 6px solid #fff;
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(16,48,33,.08), 0 14px 34px rgba(16,48,33,.18);
}
#home.home-slider .slider-item .overlay::before {           /* Essix, top-right */
  background-image: url("../images/showcase/essix.webp");
  background-size: cover;
  background-position: 50% 40%;
}
#home.home-slider .slider-item .overlay::after {            /* Hawley, bottom-left */
  background-image: url("../images/showcase/tile-hawley.webp");
}
/* slide 2 (dentures / crown & bridge) */
#home.home-slider .slider-item[style*="bg_2"] .overlay {
  background-image: url("../images/showcase/flexible-partial.webp");
  background-size: contain;
  background-position: center;
  background-origin: content-box;
  padding: 18px;
}
#home.home-slider .slider-item[style*="bg_2"] .overlay::before {
  background-image: url("../images/showcase/zirconia.webp");
  background-size: cover;
  background-position: 30% 60%;
}
#home.home-slider .slider-item[style*="bg_2"] .overlay::after { display: none; }

/* text on light background */
#home.home-slider .slider-text > [class*="col-"]::before {
  background: #fff;
  border: 1px solid var(--rdl-line);
  color: var(--rdl-green-dark);
  box-shadow: 0 2px 8px rgba(16,48,33,.05);
}
#home.home-slider .slider-item .slider-text h1,
#home.home-slider .slider-item .slider-text h2 { color: var(--rdl-ink); }
#home.home-slider .slider-item .slider-text h1 { position: relative; }
#home.home-slider .slider-item .slider-text p { color: var(--rdl-text); }
#home.home-slider .slider-text .btn.btn-primary {
  background: var(--rdl-green-600); border-color: var(--rdl-green-600); color: #fff;
  box-shadow: 0 10px 24px rgba(40,122,76,.28) !important;
}
#home.home-slider .slider-text .btn.btn-primary:hover {
  background: var(--rdl-green-dark); border-color: var(--rdl-green-dark); color: #fff;
}
#home.home-slider .slider-text .btn.btn-outline-primary {
  background: #fff; color: var(--rdl-green-dark);
  border: 1px solid #BFDDCB;
}
#home.home-slider .slider-text .btn.btn-outline-primary:hover {
  background: var(--rdl-tint); color: var(--rdl-green-dark); border-color: var(--rdl-green);
}
#home.home-slider .owl-dots .owl-dot { background: rgba(31,107,69,.22); }
#home.home-slider .owl-dots .owl-dot.active { background: var(--rdl-green); }
#home + .ftco-intro .color-2 { box-shadow: 0 2px 4px rgba(16,48,33,.05), 0 16px 36px rgba(16,48,33,.10); }

/* desktop geometry: showcase on the right half of the container */
@media (min-width: 992px) {
  #home.home-slider .slider-item,
  #home.home-slider .slider-item .slider-text { height: 680px; }
  #home.home-slider .slider-item .slider-text { padding: 112px 0 110px; }
  #home.home-slider .slider-text > [class*="col-"] { flex: 0 0 48%; max-width: 48%; }
  #home.home-slider .slider-item .slider-text h1,
  #home.home-slider .slider-item .slider-text h2 { font-size: 46px; }
  #home.home-slider .slider-item .overlay {
    width: 400px; height: 331px;
    top: 150px;
    right: calc((100% - 930px) / 2 + 36px);
  }
  #home.home-slider .slider-item .overlay::before { width: 176px; height: 124px; right: -30px; top: -40px; }
  #home.home-slider .slider-item .overlay::after  { width: 140px; height: 140px; left: -56px; bottom: -44px; }
}
@media (min-width: 1200px) {
  #home.home-slider .slider-item .overlay {
    width: 470px; height: 389px;
    top: 138px;
    right: calc((100% - 1110px) / 2 + 40px);
  }
  #home.home-slider .slider-item .overlay::before { width: 200px; height: 140px; right: -36px; top: -44px; }
  #home.home-slider .slider-item .overlay::after  { width: 156px; height: 156px; left: -64px; bottom: -46px; }
}
/* tablet + phone: text first, showcase below it */
@media (max-width: 991.98px) {
  #home.home-slider .slider-item,
  #home.home-slider .slider-item .slider-text { height: auto; }
  #home.home-slider .slider-item .slider-text { padding: 112px 20px 400px; min-height: 0; }
  #home.home-slider .slider-item .overlay {
    left: 50%; transform: translateX(-50%);
    bottom: 96px;
    width: min(480px, calc(100% - 64px)); height: 262px;
  }
  #home.home-slider .slider-item .overlay::before { width: 120px; height: 84px; right: -16px; top: -26px; border-width: 4px; border-radius: 14px; }
  #home.home-slider .slider-item .overlay::after  { width: 96px; height: 96px; left: -16px; bottom: -22px; border-width: 4px; border-radius: 14px; }
  #home.home-slider .owl-dots { bottom: 64px; text-align: center; }
}
@media (max-width: 767.98px) {
  #home.home-slider .slider-item { background-position: center !important; }
  #home.home-slider .slider-item .slider-text { padding: 100px 20px 372px; min-height: 0; }
  #home.home-slider .slider-item .overlay { height: 230px; bottom: 90px; }
  #home.home-slider .slider-item[style*="bg_2"] .overlay { padding: 10px; }
  #home.home-slider .owl-dots { bottom: 58px; }
}

/* ---------- About: 2x2 grid of the lab's own appliance photos (no stock portrait) ---------- */
#about .img,
#about .img[style] {
  position: relative;
  background-color: var(--rdl-tint-2);
  background-image:
    radial-gradient(520px 380px at 50% 45%, rgba(143,214,174,.30) 0%, rgba(143,214,174,0) 70%),
    linear-gradient(160deg, #FFFFFF 0%, var(--rdl-tint) 100%) !important;
  background-size: auto !important;
  min-height: 540px;
}
#about .img::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: min(420px, 76%);
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border: 10px solid #fff;
  border-radius: 24px;
  background-color: #fff;                      /* white gutters between tiles */
  background-image:
    url("../images/showcase/tile-hawley.webp"),
    url("../images/showcase/tile-dls-bands.webp"),
    url("../images/showcase/tile-splint.webp"),
    url("../images/showcase/tile-dls-space-maintainer.webp");
  background-size: calc(50% - 5px) calc(50% - 5px);
  background-position: 0 0, 100% 0, 0 100%, 100% 100%;
  background-repeat: no-repeat;
  background-clip: padding-box;
  box-shadow: 0 1px 2px rgba(16,48,33,.06), 0 22px 54px rgba(16,48,33,.15);
}
@media (max-width: 767.98px) {
  #about .img, #about .img[style] { min-height: 380px; }
  #about .img::before { width: min(320px, 82%); }
}

/* step8 brand subtitle */
#ftco-navbar .navbar-brand .rdl-brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}
#ftco-navbar .navbar-brand .rdl-brand .rdl-brand-main{font-size:1.15rem;letter-spacing:.14em;color:var(--rdl-ink,#15261F);font-weight:800;white-space:nowrap}
#ftco-navbar .navbar-brand .rdl-brand .rdl-brand-sub{font-size:.74rem;letter-spacing:.05em;color:var(--rdl-green-dark,#1F6B45);font-weight:600;text-transform:none;white-space:nowrap;margin-top:4px;padding-top:4px;border-top:2px solid var(--rdl-green,#2E8B57)}
@media (max-width:575px){#ftco-navbar .navbar-brand .rdl-brand .rdl-brand-main{font-size:.95rem}#ftco-navbar .navbar-brand .rdl-brand .rdl-brand-sub{font-size:.66rem}}
