:root{--color-primary:#dbe8f4;--color-primary-rgb:219,232,244;--color-secondary:#01274e;--color-secondary-rgb:1,39,78;--color-bg-light:#f4f7f8;--color-bg-dark:#01274e;--color-body:#4e657d}.virtual-tour-btn,.language-selector{display:none!important}.services-grid .service-card:nth-child(n+9){display:none}.about-section::before{background:rgba(1,39,78,.9)!important}.navbar.scrolled{background:rgba(1,39,78,.9)!important}.loading-screen{background:#01274e}.loading-circle{border-color:rgba(255,255,255,.15);border-top-color:#dbe8f4}.icon-container img,.navbar-brand img,.about-header img,.footer-logo img{border-radius:50%;object-fit:cover}.hero-divider .divider-icon img{border-radius:50%;object-fit:cover}.detail-icon-wrap img{border-radius:50%;object-fit:cover}.floating-whatsapp{background:#01274e!important}.contact-section{background:#f4f7f8!important}.contact-info-panel{background:#01274e!important}.site-footer{background:#01274e!important}.site-footer .footer-copy{color:#fff!important}.map-panel{filter:none;background:#01274e!important}.map-placeholder{align-items:center;background:radial-gradient(circle at 50% 32%,rgba(219,232,244,.18),transparent 38%),#01274e;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center;text-decoration:none}.map-placeholder span{color:#dbe8f4;font-family:var(--font-heading);font-size:1.4rem;letter-spacing:.05em}.map-placeholder strong{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.18;max-width:18rem;margin-top:.7rem}.map-placeholder:hover{color:#fff;background:#001d3a}

/* Trident visual QA pass: calm accents, no empty icon stack. */
.hero-divider{gap:0;margin:2rem 0 1.7rem;max-width:170px}
.hero-harmoni-smile{display:none!important}
.hero-divider .divider-icon{display:none}
.hero-divider hr{background:linear-gradient(90deg,transparent,rgba(219,232,244,.55),transparent)}
.hero-contact{display:none!important}
.hero-media-container .floating-tooth{display:none!important}
.floating-tooth-about{display:none!important}
.service-card{background:#01274e!important;}
.service-info p{color:rgba(255,255,255,.76)}
.services-header h2 span{color:#01274e}
.floating-whatsapp{align-items:center;border:1px solid rgba(219,232,244,.6);box-shadow:0 10px 24px rgba(1,39,78,.25)!important;display:flex;height:58px;justify-content:center;width:58px}
.floating-whatsapp img{filter:brightness(0) invert(1);height:26px;width:26px}
@media (max-width:991.98px){.hero-section{padding-bottom:3.75rem}.hero-divider{margin:1.7rem auto 1.15rem}.hero-media-container{height:330px;margin-top:1.6rem}.floating-whatsapp{bottom:20px;right:20px}}

.navbar-brand{align-items:center;display:flex;gap:.7rem;min-width:max-content}
.navbar-brand img{height:44px!important;width:44px!important}
.brand-wordmark{color:#fff;display:flex;flex-direction:column;line-height:1;letter-spacing:.08em}
.brand-wordmark strong{font-family:var(--font-heading);font-size:.93rem;font-weight:700}
.brand-wordmark small{color:rgba(255,255,255,.62);font-size:.46rem;letter-spacing:.12em;margin-top:.34rem}
@media (max-width:575px){.navbar .container{padding-left:24px;padding-right:24px}.navbar-brand{gap:.55rem}.navbar-brand img{height:40px!important;width:40px!important}.brand-wordmark strong{font-size:.78rem}.brand-wordmark small{font-size:.39rem}.nav-container:has(.nav-links.open) .brand-wordmark{opacity:0;visibility:hidden}}

.gallery-slide{background:transparent;color:inherit;padding:0;text-align:left}
.gallery-slide:focus-visible{outline:2px solid #dbe8f4;outline-offset:5px}
.gallery-lightbox{position:fixed;inset:0;display:none;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;overflow:visible;border:0;background:transparent;place-items:center}
.gallery-lightbox[open]{display:grid}
.gallery-lightbox::backdrop{background:rgba(1,39,78,.91);backdrop-filter:blur(8px)}
.gallery-lightbox img{display:block;width:auto;height:auto;max-width:min(86vw,1100px);max-height:calc(100svh - 112px);margin:0 auto;object-fit:contain;box-shadow:0 25px 70px rgba(0,0,0,.42)}
.gallery-lightbox-close,.gallery-lightbox-nav{position:fixed;z-index:1;display:grid;place-items:center;color:#fff;border:1px solid rgba(219,232,244,.65);border-radius:50%;background:#01274e;outline:none}
.gallery-lightbox-close:focus-visible,.gallery-lightbox-nav:focus-visible{box-shadow:0 0 0 3px rgba(219,232,244,.45)}
.gallery-lightbox-close{top:22px;right:22px;width:44px;height:44px;font-size:1.8rem;line-height:1}
.gallery-lightbox-nav{top:50%;width:48px;height:48px;font-size:2.15rem;line-height:.8;transform:translateY(-50%)}
.gallery-lightbox-prev{left:26px}.gallery-lightbox-next{right:26px}
.gallery-lightbox-count{position:fixed;right:0;bottom:23px;left:0;margin:0;color:rgba(255,255,255,.85);text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.14em}
@media (max-width:768px){.gallery-lightbox img{max-width:94vw;max-height:calc(100svh - 142px)}.gallery-lightbox-close{top:14px;right:14px;width:40px;height:40px}.gallery-lightbox-nav{top:auto;bottom:22px;width:44px;height:44px;transform:none}.gallery-lightbox-prev{left:calc(50% - 58px)}.gallery-lightbox-next{right:calc(50% - 58px)}.gallery-lightbox-count{bottom:84px;font-size:.78rem}}

/* Services: editorial cards built around real clinic photography. */
.services-section{background:linear-gradient(180deg,#f8fbfd 0%,#eef4f8 100%)}
.services-header{margin-bottom:3.4rem;text-align:left}
.services-kicker{color:#54718e;font-size:.7rem;font-weight:700;letter-spacing:.16em;margin:0 0 .8rem}
.services-header h2{font-size:clamp(2.35rem,4vw,4rem);letter-spacing:-.045em;line-height:1.02}
.services-grid{display:grid;}
.service-card{background:#01274e!important;}
.service-info h3{color:#ffffff!important;}
.service-info p{color:rgba(255,255,255,.74)!important;}
.service-code{color:rgba(219,232,244,.78);display:block;font-size:.68rem;font-weight:800;letter-spacing:.14em;position:absolute;right:1.55rem;top:1.35rem;z-index:4}

/* Clinic gallery: touch-first, branded #01274e rail. */
.gallery-section{background:#01274e}
.gallery-header{margin-bottom:1.25rem;text-align:left}
.gallery-header h2 span{color:#fff}
.gallery-header p{color:rgba(219,232,244,.72);max-width:34rem}
.gallery-rail-meta{align-items:center;border-top:1px solid rgba(219,232,244,.22);display:flex;justify-content:space-between;padding:1rem 0 0}
.gallery-rail-meta span{color:rgba(219,232,244,.7);font-size:.66rem;font-weight:800;letter-spacing:.15em}
.gallery-rail-next{align-items:center;background:transparent;border:1px solid rgba(219,232,244,.62);border-radius:50%;color:#dbe8f4;display:flex;height:46px;justify-content:center;padding:0;transition:transform .25s ease,background .25s ease;width:46px}
.gallery-rail-next:hover{background:rgba(219,232,244,.12);transform:translateX(3px)}
.gallery-rail-next:focus-visible{box-shadow:0 0 0 3px rgba(219,232,244,.35);outline:none}
.gallery-rail-next svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:19px}
.slide-caption{background:linear-gradient(transparent,rgba(1,39,78,.96))!important;}
.gallery-slide{appearance:none;background:transparent;color:inherit;padding:0;text-align:left}
.gallery-slide:focus-visible{box-shadow:0 0 0 3px rgba(219,232,244,.45)!important;outline:none}
.gallery-card-title{color:#fff;display:block;font-size:1.3rem;font-weight:600;margin-bottom:.25rem}
.gallery-card-brand{color:#dbe8f4;display:block;font-size:.9rem;font-weight:300}
@media (max-width:768px){
  .gallery-section{padding:4.6rem 0}
  .gallery-header h2{font-size:2.45rem}
  .gallery-rail-meta{padding-top:.8rem}
  .gallery-rail-next{height:42px;width:42px}
}

/* Contact and footer: a clear, high-contrast final act. */
.contact-section{background:#eef4f8!important;padding:5.5rem 0}
.contact-layout{align-items:stretch;gap:1.5rem}
.contact-info-panel{border-radius:28px;box-shadow:0 18px 46px rgba(1,39,78,.13);padding:3.2rem}
.contact-info-panel h2{color:#fff;font-size:clamp(2.35rem,3.6vw,3.4rem);letter-spacing:-.04em;line-height:1;margin-bottom:1rem}
.contact-desc{color:rgba(219,232,244,.76);font-size:1.02rem;line-height:1.6;margin-bottom:2.4rem;max-width:28rem}
.contact-details{gap:1.35rem}
.detail-row{align-items:center;gap:1rem}
.detail-icon-wrap{background:rgba(219,232,244,.1);border:1px solid rgba(219,232,244,.24);border-radius:50%;height:44px;width:44px}
.detail-icon-wrap img{display:none}
.detail-icon-wrap::before{color:#dbe8f4;font-size:1.3rem;line-height:1}
.detail-row:nth-child(1) .detail-icon-wrap::before{content:"⌖"}
.detail-row:nth-child(2) .detail-icon-wrap::before{content:"↗"}
.detail-row:nth-child(3) .detail-icon-wrap::before{content:"◷"}
.detail-content h4{color:#dbe8f4;font-size:.68rem;font-weight:800;letter-spacing:.12em;margin-bottom:.35rem;text-transform:uppercase}
.detail-content p,.detail-content a{color:rgba(255,255,255,.88);font-size:.98rem;line-height:1.5}
.detail-content a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.map-panel{border:0;border-radius:28px;box-shadow:0 18px 46px rgba(1,39,78,.13);height:auto;min-height:480px}
.map-placeholder{background:radial-gradient(circle at 50% 30%,rgba(219,232,244,.15),transparent 38%),#01274e}
.map-placeholder span{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.map-placeholder strong{font-size:clamp(2.1rem,3.2vw,3.5rem);max-width:24rem}
.site-footer{border-top:1px solid rgba(219,232,244,.16);padding:2.1rem 0}
.footer-container{align-items:center}.footer-logo img{height:42px;width:42px}.site-footer .footer-copy{color:rgba(255,255,255,.72)!important;font-size:.72rem;font-weight:700;letter-spacing:.12em}
@media (max-width:991.98px){.contact-section{padding:4.5rem 0}.contact-layout{gap:1rem}.contact-info-panel{padding:2.4rem}.map-panel{min-height:330px}}
@media (max-width:575px){.contact-section{padding:3.8rem 0}.contact-info-panel{border-radius:22px;padding:2rem 1.4rem}.contact-info-panel h2{font-size:2.45rem}.map-panel{border-radius:22px;min-height:290px}.map-placeholder strong{font-size:2.15rem}.site-footer{padding:1.65rem 0}.footer-container{align-items:center;gap:.9rem}.site-footer .footer-copy{text-align:center}}

/* VDS parity: quiet photo-led entrance, compact mobile panel and left WhatsApp action. */
.loading-screen.brand-intro{display:grid;overflow:hidden;isolation:isolate;background:#00172f}
.brand-intro-photo{position:absolute;inset:-4%;z-index:0;width:108%;height:108%;max-width:none;object-fit:cover;object-position:50% 50%;opacity:0;filter:saturate(.82) contrast(1.03) brightness(.88);transform:scale(1.05);animation:tridentPhotoSettle 1.45s cubic-bezier(.2,.7,.2,1) both}
.brand-intro-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(1,39,78,.8),rgba(1,39,78,.3) 52%,rgba(1,39,78,.62)),linear-gradient(180deg,rgba(0,9,23,.28),transparent 38%,rgba(0,9,23,.44))}
.brand-intro-stage{position:relative;z-index:2;display:grid;justify-items:center;width:min(86vw,390px);min-height:268px;padding:0}
.brand-intro-mark-wrap{display:grid;place-items:center;width:152px;aspect-ratio:1;margin:0 0 23px;opacity:0;transform:translateY(12px);animation:tridentOriginalLogoIn .62s cubic-bezier(.2,.8,.2,1) .24s forwards}
.brand-intro-mark{width:100%;border-radius:50%;clip-path:circle(49% at 50% 50%);box-shadow:0 18px 42px rgba(0,0,0,.3)}
.brand-intro-copy{display:grid;justify-items:center;gap:8px;opacity:0;transform:translateY(10px);animation:tridentIntroCopyIn .48s ease-out .64s forwards}
.brand-intro-copy strong{color:#fff;font-family:var(--font-heading);font-size:clamp(1.85rem,8vw,2.45rem);font-weight:600;letter-spacing:.22em;line-height:1;text-shadow:0 2px 20px rgba(0,10,22,.32)}
.brand-intro-copy span{color:rgba(255,255,255,.88);font-size:.48rem;font-weight:600;letter-spacing:.19em;text-shadow:0 1px 12px rgba(0,10,22,.38)}
.loading-screen.brand-intro.hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes tridentPhotoSettle{0%{opacity:0;transform:scale(1.08)}28%{opacity:.72}100%{opacity:.62;transform:scale(1)}}
@keyframes tridentOriginalLogoIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes tridentIntroCopyIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.floating-whatsapp{bottom:30px!important;left:30px!important;right:auto!important;width:62px!important;height:62px!important;background:#25d366!important;border:2px solid rgba(255,255,255,.84)!important;border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.38)!important;opacity:0;pointer-events:none;transform:translateY(14px) scale(.9);transition:transform .3s ease,background .3s ease,opacity .3s ease;animation:tridentWhatsAppPulse 2.5s ease-out infinite}
.floating-whatsapp:hover{background:#1ebc59!important;transform:translateY(-4px) scale(1.04);animation-play-state:paused}.floating-whatsapp img{height:29px!important;width:29px!important;filter:brightness(0) invert(1)}body.show-floating-whatsapp .floating-whatsapp{opacity:1;pointer-events:auto;transform:none}@keyframes tridentWhatsAppPulse{0%,70%,100%{box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.34)}82%{box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 13px rgba(37,211,102,0)}}

@media (max-width:991.98px){.navbar{padding:1rem 0}.navbar .nav-container{position:relative}.mobile-nav-toggle{position:relative;z-index:3;display:block;width:42px;height:42px;padding:0;border:1px solid rgba(219,232,244,.55);border-radius:50%;background:rgba(1,39,78,.34);backdrop-filter:blur(12px)}.mobile-nav-toggle .bar{width:20px;margin:4px auto;background:#fff}.nav-links{position:absolute;z-index:2;top:calc(100% + 10px);right:0;left:0;width:auto;height:auto;max-height:0;padding:0 22px;overflow:hidden;opacity:0;background:linear-gradient(135deg,rgba(1,39,78,.94),rgba(7,58,108,.88));border:1px solid transparent;border-radius:22px;box-shadow:0 20px 48px rgba(1,20,44,0);transform:translateY(-10px) scale(.98);transition:max-height .42s ease,padding .42s ease,opacity .25s ease,transform .42s ease,box-shadow .42s ease,border-color .42s ease}.nav-links.open{right:0;max-height:360px;padding:16px 22px;overflow-y:auto;opacity:1;border-color:rgba(219,232,244,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 20px 48px rgba(1,20,44,.38);transform:none}.nav-links .nav-link{width:100%;padding:12px 4px;text-align:center}.mobile-nav-toggle.open .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-nav-toggle.open .bar:nth-child(2){opacity:0}.mobile-nav-toggle.open .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}body.menu-open{overflow-x:hidden}.brand-wordmark{display:none}.navbar-brand img{height:48px!important;width:48px!important}.floating-whatsapp{bottom:22px!important;left:22px!important;width:56px!important;height:56px!important}.floating-whatsapp img{height:27px!important;width:27px!important}}
@media (prefers-reduced-motion:reduce){.loading-screen.brand-intro{display:none}.floating-whatsapp{animation:none}}

/* Active VDS entrance parity — keep this final block authoritative. */
.loading-screen.brand-intro{color:#f5f7f5;background:#00172f;animation:none}
.brand-intro-photo{z-index:0;inset:-4%;width:108%;height:108%;object-position:50% 50%;opacity:0;filter:saturate(.82) contrast(1.03) brightness(.88);transform:scale(1.05);animation:tridentPhotoSettle 2.58s cubic-bezier(.2,.7,.2,1) both}
.brand-intro-shade{z-index:1;background:linear-gradient(90deg,rgba(0,23,47,.76),rgba(0,23,47,.28) 52%,rgba(0,23,47,.58)),linear-gradient(180deg,rgba(0,9,23,.28),transparent 38%,rgba(0,9,23,.44))}
.brand-intro-stage{z-index:3;width:min(86vw,390px);min-height:268px}
.brand-intro-mark-wrap{width:152px;margin:0 0 23px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none;opacity:0;transform:translateY(12px);animation:tridentOriginalLogoIn .62s cubic-bezier(.2,.8,.2,1) .42s forwards}
.brand-intro-mark{position:static;width:100%;border-radius:50%;clip-path:circle(49% at 50% 50%);filter:none;box-shadow:0 18px 42px rgba(0,0,0,.3)}
.brand-intro-copy{position:static;display:grid;justify-items:center;gap:8px;opacity:0;transform:translateY(10px);animation:tridentIntroCopyIn .48s ease-out .94s forwards}
.brand-intro-copy strong{font-family:Georgia,serif;font-size:clamp(1.85rem,8vw,2.45rem);font-weight:500;letter-spacing:.22em}.brand-intro-copy span{font-size:.48rem;font-weight:600;letter-spacing:.19em}
@media (max-width:640px){.brand-intro-photo{object-position:50% 50%}.brand-intro-mark-wrap{width:136px}}

/* Desktop gallery: Swiper's default auto margins were shifting the rail off centre. */
@media (min-width:769px){.gallery-swiper{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}.gallery-section{overflow-x:clip}}

/* Keep the seated patient fully inside the desktop hero crop. */
@media (min-width:992px){.clinic-bg{object-position:100% center}}

/* The complete Trident treatment catalogue remains visible in the responsive grid. */
.services-grid .service-card:nth-child(n+9){display:flex}

/* Keep the full-bleed gallery rail inside small viewports without clipping its cards. */
html,body{overflow-x:clip}
.gallery-section{overflow-x:clip}
@media (max-width:768px){.gallery-swiper{width:100vw!important;margin-left:-1.5rem!important;margin-right:-1.5rem!important}}

/* Gallery: native horizontal rail — reliable drag on touch and desktop trackpads. */
.gallery-swiper{overflow-x:auto!important;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.gallery-swiper::-webkit-scrollbar{display:none}
.gallery-swiper .swiper-wrapper{display:flex!important;gap:1.25rem!important;width:max-content;min-width:100%;padding:0 1.5rem!important}
.gallery-slide{flex:0 0 350px;scroll-snap-align:center;touch-action:pan-x pan-y}
@media (max-width:768px){.gallery-swiper .swiper-wrapper{padding:0 calc((100vw - 260px)/2)!important}.gallery-slide{flex-basis:260px}.gallery-slide.swiper-slide-active{opacity:1}}
