/* AI Lab, below the approved Hero only. */
.lab-lower,.footer {
  --lab-ink: #eef8ff;
  --lab-muted: #b5cddd;
  --lab-cyan: #a2eaff;
  --lab-border: #78c9ed47;
  --lab-surface: linear-gradient(145deg,#1a405be8,#0d243bee 54%,#0a1a2e);
  --lab-card: linear-gradient(155deg,#1b4661,#102c45 46%,#0c2137);
  --lab-radius: 18px;
  --lab-pad: clamp(16px,3vw,36px);
  font-family: Tahoma, "Segoe UI", system-ui, sans-serif;
  color: var(--lab-ink);
}
.lab-lower {
  display: grid; gap: clamp(16px,2.3vw,32px);
  padding: 0 0 clamp(24px,4vw,54px);
  background:
    radial-gradient(ellipse at 90% 12%,#174f724d,transparent 40%),
    radial-gradient(ellipse at 4% 58%,#133d6469,transparent 41%),
    repeating-linear-gradient(110deg,transparent 0 160px,#80cfff08 161px 162px),
    #07192c;
}
.lab-lower > .section,.lab-lower > .ai-banner,.footer > .shell {
  width: min(1190px,calc(100% - 36px)); margin-inline: auto;
  padding: var(--lab-pad);
  color: var(--lab-ink); background: var(--lab-surface);
  border: 1px solid var(--lab-border); border-radius: var(--lab-radius);
  box-shadow: inset 0 1px #d5f5ff17,0 16px 34px #020b156b;
}
.lab-lower > .section > .shell,.lab-lower > .ai-banner > .shell {
  width: 100%; max-width: none;
}
.lab-lower .signature-bar { background: #091d31; border-color: #77cfff36; color: #bbdded; }
.lab-lower .signature-bar__inner { min-height: 44px; height: auto; padding-block: 8px; }
.lab-lower .section-heading { gap: 20px; margin-bottom: 22px; }
.lab-lower :is(.section-heading h2,.about__copy h2,.motion__copy h2,.appointment__copy h2),.footer .contact-v7 h2 {
  font-size: clamp(22px,3vw,38px); line-height: 1.5; color: var(--lab-ink); letter-spacing: normal;
}
.lab-lower :is(.eyebrow,.eyebrow--dark,.service-card__number,.service-card__link,.about__english,.motion__english,.ai-banner__eyebrow),
.footer :is(.contact-v7__eyebrow,.contact-v7__phone-icon,.contact-v7__pin,.contact-v7__location-heading) { color: var(--lab-cyan); }
.lab-lower :is(.section-heading>p,.service-card p,.section-bottom-note,.about__copy>p:not(.eyebrow):not(.about__english),.motion__copy>p:not(.eyebrow):not(.motion__english),.case-placeholder__info p,.appointment__copy p,.appointment__detail,.form-legal,.ai-banner p),
.footer :is(.contact-v7__heading>p:last-child,.contact-v7__phone-label,address,.footer__bottom p,.footer__bottom small) { color: var(--lab-muted); }
.lab-lower :is(.service-card,.focus-tile,.case-placeholder,.appointment__form,.certificates-panel,.certificates-card),
.footer :is(.contact-v7__phone-card,.contact-v7__location) {
  background: var(--lab-card); color: var(--lab-ink);
  border: 1px solid var(--lab-border); border-radius: 14px;
  box-shadow: inset 0 1px #c9ecff18,0 8px 18px #030e1a42;
}
.lab-lower .service-grid,.lab-lower .focus-grid,.lab-lower .cases-grid { gap: 14px; }
.lab-lower .service-card { min-height: 0; padding: 16px; }
.lab-lower .service-card__photo {
  width: 100%; height: auto; aspect-ratio: 2.25;
  margin: 9px 0 12px; border-color: var(--lab-border);
}
.lab-lower .service-card--kids { min-height: 0; gap: 16px; }
.lab-lower .service-card--kids>.service-card__photo { width: min(32%,160px); height: auto; margin: 0; }
.lab-lower .service-card h3 { color: var(--lab-ink); font-size: 17px; margin-block: 0 4px; }
.lab-lower .service-card__link { padding-top: 9px; }
.lab-lower .service-card::before { background: linear-gradient(90deg,transparent,#89e6ff,transparent); }
.lab-lower .service-card:hover,.lab-lower .certificates-card:hover { transform: translateY(-2px); border-color: #83d8fb; }
.lab-lower .about__photo-wrap,.lab-lower .motion__video-shell,.lab-lower .clinic-gallery__card { border: 1px solid var(--lab-border); border-radius: 14px; overflow: hidden; }
.lab-lower .about__photo-wrap { height: clamp(280px,39vw,460px); }
.lab-lower .focus-tile { min-height: 175px; padding: 21px; }
.lab-lower .focus-tile__arrow { display: none; }
.lab-lower .clinic-gallery__grid { gap: 12px; }
.lab-lower .clinic-gallery__card { height: clamp(175px,21vw,275px); }
.lab-lower .clinic-gallery__card--feature { height: clamp(215px,31vw,385px); }
.lab-lower .case-placeholder__art { height: clamp(95px,12vw,160px); background: radial-gradient(ellipse,#256386,#0b2541 75%); }
.lab-lower .case-placeholder__info { padding: 13px 15px; }
.lab-lower .case-placeholder__info h3,.lab-lower .about__copy h3 { color: var(--lab-ink); }
.lab-lower .certificates-panel__heading strong,.lab-lower .certificates-card__meta strong { color: var(--lab-ink); }
.lab-lower :is(.certificates-panel__heading small,.certificates-card__meta small,.certificates-panel__hint) { color: var(--lab-muted); }
.lab-lower :is(.certificates-panel__action,.certificates-card__meta strong,.appointment__contact-handle) { color: var(--lab-cyan); }
.lab-lower .lab-journey-notes {
  width: min(1190px,calc(100% - 36px)); padding: 0;
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.lab-lower .lab-journey-notes section { background: var(--lab-card); border-color: var(--lab-border); }
.lab-lower .lab-journey-notes p { color: var(--lab-muted); line-height: 1.95; }
.lab-lower .ai-banner__inner { padding: 0; }
.lab-lower :is(.button--gold,.ai-banner__button,.service-card--kids>.service-card__link),
.footer :is(.contact-v7__map,.footer__back-to-top) {
  min-height: 42px; padding: 8px 14px; background: #123751;
  border: 1px solid #80cbeb85; border-radius: 10px; color: #e3f8ff; box-shadow: none;
}
.lab-lower :focus-visible,.footer :focus-visible,.lab-journey :focus-visible { outline: 2px solid #a5eeff; outline-offset: 3px; }
.footer { padding: 16px 0 28px; background: #07192c; border-top: 1px solid #82d6ff29; }
.footer .footer__top { gap: 14px 24px; margin: 0 0 16px; padding: 0 0 14px; }
.footer .footer__links { gap: 9px 14px; }
.footer .footer__links a { color: var(--lab-muted); padding-block: 5px; }
.footer .contact-v7 {
  display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 12px 18px;
  width: 100%; padding: 16px 0; border-color: var(--lab-border);
}
.footer .contact-v7__heading { grid-column: 1/-1; margin: 0; }
.footer .contact-v7 h2 { margin: 0; font-size: clamp(21px,2.5vw,30px); }
.footer .contact-v7__phone-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.footer .contact-v7__phone-card { min-height: 58px; padding: 8px 12px; gap: 8px; }
.footer .contact-v7__number { font-size: clamp(13px,1.55vw,20px); color: var(--lab-ink); }
.footer .contact-v7__location { padding: 12px 15px; margin: 0; }
.footer .contact-v7__location address { margin-block: 4px 9px; font-size: 13px; }
.footer .contact-v7__map { width: auto; font-size: 11px; }
.footer .footer__bottom { gap: 8px 16px; padding-top: 12px; border-color: var(--lab-border); }
.footer .footer__back-to-top { font-size: 12px; }
.lab-journey { padding-block: 12px 19px; }
.lab-journey .lab-step-art { width: min(100%,120px); margin-bottom: 6px; }
.lab-journey h2 { margin-bottom: 7px; }
.lab-journey .lab-step-link { min-height: 44px; }
@media (max-width: 760px) {
  .lab-lower .lab-journey-notes,.footer .contact-v7 { grid-template-columns: 1fr; }
}
@media (max-width: 550px) {
  .lab-lower > .section,.lab-lower > .ai-banner,.lab-lower .lab-journey-notes,.footer > .shell { width: calc(100% - 24px); }
  .footer .contact-v7__phone-list { grid-template-columns: 1fr; }
  .footer .contact-v7__number { font-size: 17px; }
  .lab-lower .service-card--kids>.service-card__photo { width: 100%; }
}
@media (max-width: 700px) {
  .lab-journey .lab-step-art { margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lab-lower *,.footer *,.lab-journey * { animation: none !important; transition: none !important; }
}

/* Approved artwork replaces only the graphic slots in the Hero and journey. */
.lab-cards .lab-approved-icon,.lab-step-art .lab-approved-icon {
  display: block; width: 100%; height: auto; aspect-ratio: 6 / 5; object-fit: contain;
}
.lab-step-art::after { content: none; } /* The approved artwork includes its platform. */

.lab-lower {
  --lab-surface: linear-gradient(145deg,#163752f5,#0b2035f5 52%,#08182af5);
  position: relative; isolation: isolate;
  gap: clamp(22px,3.1vw,45px);
  background: #061525;
}
.lab-lower::before {
  content: ""; position: sticky; top: 0; grid-area: 1 / 1; align-self: start;
  height: min(100svh,960px); margin-bottom: calc(-1 * min(100svh,960px));
  z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 42%,#061626d9 0%,transparent 54%),
    linear-gradient(180deg,#071c3070,#06182c55 44%,#061525 100%),
    url("./assets/ai-lab/Futuristic%20Dental%20AI%20Lab.png") center 38% / cover no-repeat;
}
.lab-lower > .signature-bar { grid-area: 1 / 1; background: #091e32b0; }
.lab-lower > .section,.lab-lower > .ai-banner,.lab-lower > .lab-journey-notes {
  width: min(1160px,calc(100% - clamp(28px,10vw,160px)));
}
.lab-lower > .section,.lab-lower > .ai-banner,.lab-lower .lab-journey-notes {
  border: 1px solid #91d9ff59;
  box-shadow: inset 0 1px #def5ff2e,0 14px 36px #0008;
}
@supports (backdrop-filter: blur(6px)) {
  .lab-lower > .section,.lab-lower > .ai-banner,.lab-lower > .lab-journey-notes {
    --lab-surface: linear-gradient(145deg,#173953d9,#091e34e8 62%,#07192cde);
    backdrop-filter: blur(6px);
  }
}
.lab-lower .service-card {
  background: linear-gradient(160deg,#25506a9c,#0d253de8 65%);
  box-shadow: inset 0 1px #b2e6ff2c,0 7px 18px #010b18a0;
}
.lab-lower .service-card:hover { box-shadow: inset 0 1px #b2e6ff50,0 10px 22px #010b18b5,0 0 13px #60ccff32; }
.lab-lower .about__monogram,.lab-lower .about__index { display: none; }
.lab-lower .about__visual { padding-block-end: 0; }
.lab-lower .about__photo-wrap { box-shadow: 0 16px 38px #020b17a8,0 0 20px #4aa8d32c; }
.lab-lower .lab-journey-notes {
  padding: var(--lab-pad); border-radius: var(--lab-radius);
  background: var(--lab-surface);
}
.lab-journey-notes > h2 {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 15px;
  margin: 0; font-size: clamp(20px,2.5vw,30px);
}
.lab-journey-notes > h2 > span[lang="en"] { color: var(--lab-cyan); }
.lab-journey-notes > h2 > span:last-child { font-size: .65em; color: var(--lab-muted); }
.lab-lower .lab-journey-notes section { background: linear-gradient(145deg,#1b4562ba,#0b233be6); }
.footer .footer__bottom .lab-footer-motto {
  flex-basis: 100%; font-size: clamp(14px,1.65vw,20px); line-height: 1.6;
  color: var(--lab-ink); white-space: normal; overflow-wrap: anywhere; margin-block-end: 4px;
}
.lab-footer-motto em { color: #e6c69d; font-style: normal; font-weight: 650; }
@media (max-width: 700px) {
  .lab-cards .lab-approved-icon { width: 35px; margin: auto; }
  .lab-lower::before { background-position: center,center,65% top; }
  .lab-lower > .section,.lab-lower > .ai-banner,.lab-lower > .lab-journey-notes { width: calc(100% - 24px); }
}

.lab-lower .about__credentials {
  margin-block: 16px;
  padding: clamp(12px,2vw,20px);
  border: 1px solid var(--lab-border);
  border-radius: 14px;
  background: var(--lab-card);
  color: var(--lab-muted);
  font-size: 13px;
}
.about__credentials p { margin: 0 0 7px; }
.about__credentials strong,.about__credentials h4 { color: var(--lab-cyan); }
.about__credentials h4 { margin: 12px 0 4px; font-size: 14px; }
.about__credentials ul { margin: 0; padding-inline-start: 19px; }
.about__credentials li::marker { color: var(--lab-cyan); }

.lab-lower .service-card__photo--tsx {
  height: clamp(170px,16vw,225px);
  aspect-ratio: auto;
  background: #0c2346;
}
.lab-lower .service-card__photo--tsx img { object-fit: contain; }
.lab-lower .ai-banner__dido {
  width: clamp(86px,11vw,146px);
  height: auto;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 8px #59c6ff40);
}
.footer .footer__links {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-content: start;
}
@media (max-width: 550px) {
  .footer .footer__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Keep the sticky studio layer inside the body, above which the footer begins. */
.lab-lower { overflow: clip; }

@media (max-width: 550px) {
  .footer { padding-block: 8px 14px; }
  .footer > .shell { padding: 12px; }
  .footer .footer__top { gap: 8px; padding-bottom: 8px; margin-bottom: 6px; }
  .footer .footer__identity { display: flex; width: 100%; align-items: center; gap: 8px; }
  .footer .footer__identity img { width: 76px; flex: none; }
  .footer .footer__identity p { margin: 0; }
  .footer .footer__links { width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2px 6px; }
  .footer .footer__links a { display: flex; align-items: center; min-height: 32px; font-size: 11px; }
  .footer .contact-v7 { gap: 8px; padding-block: 8px; }
  .footer .contact-v7__eyebrow { margin-bottom: 2px; }
  .footer .contact-v7__phone-list { gap: 5px; }
  .footer .contact-v7__phone-card { min-height: 44px; padding: 5px 9px; }
  .footer .contact-v7__phone-content { flex-direction: row; align-items: center; gap: 8px; }
  .footer .contact-v7__location { padding: 8px 10px; }
  .footer .contact-v7__location address { font-size: 12px; line-height: 1.75; }
  .footer .footer__bottom { padding-top: 7px; }
}
