:root{
  --brand:#007bff;
  --brand-dark:#0069d9;
  --bg:#f5f7fb;
  --text:#1f2a37;
  --muted:#6b7280;
  --card:#ffffff;
  --border:#e5e7eb;
}

html,body{height:100%;}
body{
  font-family: 'Poppins', 'Roboto', system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

/* Navbar */
.navbar{
  background:#fff !important;
}
.navbar-brand{
  font-weight:700;
  letter-spacing:.2px;
}
.navbar .nav-link{font-weight:500;}
.navbar .nav-link.active{color:var(--brand) !important;}

/* Buttons */
.btn-primary{background:var(--brand); border-color:var(--brand);}
.btn-primary:hover{background:var(--brand-dark); border-color:var(--brand-dark);}
.btn-outline-primary{border-color:var(--brand); color:var(--brand);}
.btn-outline-primary:hover{background:var(--brand); border-color:var(--brand);}

/* Cards */
.card, .card-service, .card-doctor{
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.section-title{
  font-weight:700;
  letter-spacing:-.2px;
}
.section-subtitle{color:var(--muted);}

/* Hero */
.sldoc-hero{
  position:relative;
  background:linear-gradient(90deg, rgba(0,123,255,.10), rgba(255,255,255,0));
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.sldoc-hero .hero-inner{
  padding:72px 0;
}
.sldoc-hero h1{font-weight:800; letter-spacing:-.6px;}
.sldoc-hero p{color:var(--muted); font-size:1.05rem;}
.sldoc-hero .hero-badge{
  display:inline-flex; align-items:center;
  background:#fff;
  border:1px solid var(--border);
  padding:8px 12px;
  border-radius:999px;
  color:var(--muted);
  gap:8px;
}
.sldoc-hero .hero-img{
  max-width:520px;
  width:100%;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.12));
}

/* Video/Production cards */
.video-card .thumb{
  position:relative;
  border-top-left-radius:16px;
  border-top-right-radius:16px;
  overflow:hidden;
}
.video-card .thumb img{width:100%; height:200px; object-fit:cover; display:block;}
.video-card .play{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .2s ease;
}
.video-card:hover .play{opacity:1;}
.video-card .play .btn{
  border-radius:999px;
  padding:.6rem .9rem;
  box-shadow:0 10px 20px rgba(0,0,0,.25);
}

/* Course cards */
.course-meta{color:var(--muted); font-size:.9rem;}
.course-card img{height:180px; object-fit:cover; border-top-left-radius:16px; border-top-right-radius:16px;}

/* Gallery */
.gallery-grid{columns:1; column-gap:16px;}
@media(min-width:576px){.gallery-grid{columns:2;}}
@media(min-width:992px){.gallery-grid{columns:3;}}
.gallery-item{break-inside:avoid; margin:0 0 16px;}
.gallery-item img{width:100%; border-radius:16px; border:1px solid var(--border); box-shadow:0 10px 25px rgba(0,0,0,.05); cursor:pointer;}

/* Forms */
.form-control{border-radius:12px; border:1px solid var(--border);}
.form-control:focus{border-color:rgba(0,123,255,.45); box-shadow:0 0 0 .2rem rgba(0,123,255,.15);}

/* Footer */
.sldoc-footer{
  background:#0b1220;
  color:#cbd5e1;
}
.sldoc-footer a{color:#cbd5e1;}
.sldoc-footer a:hover{color:#fff;}
.sldoc-footer .brand{color:#fff; font-weight:800;}

/* Utilities */
.badge-soft{
  background:rgba(0,123,255,.12);
  color:var(--brand);
  border:1px solid rgba(0,123,255,.2);
  border-radius:999px;
  padding:.45rem .7rem;
  font-weight:600;
}

.coming-soon{
  background:#fff;
  border:1px dashed rgba(0,123,255,.35);
  border-radius:20px;
  padding:22px;
}

.toast-wrap{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:2000;
}
.toast-item{
  background:#fff;
  border:1px solid var(--border);
  border-left:4px solid var(--brand);
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  margin-top:10px;
  min-width:260px;
}
.toast-item .t-title{font-weight:700; margin:0;}
.toast-item .t-body{margin:2px 0 0; color:var(--muted); font-size:.92rem;}


/* ---------------------------
   Next-level motion & polish
----------------------------*/

/* Smooth rendering */
*{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html{ scroll-behavior:smooth; }

/* Navbar glass-on-scroll */
.navbar{
  transition: box-shadow .25s ease, background-color .25s ease, backdrop-filter .25s ease, border-color .25s ease;
  border-bottom:1px solid rgba(229,231,235,.0);
}
.navbar.scrolled{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(229,231,235,.9);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

/* Hero background blobs */
.sldoc-hero:before,
.sldoc-hero:after{
  content:'';
  position:absolute;
  width:520px; height:520px;
  border-radius:999px;
  filter: blur(35px);
  opacity:.35;
  pointer-events:none;
  transform: translate3d(0,0,0);
  animation: sldocFloat 10s ease-in-out infinite;
}
.sldoc-hero:before{
  background: rgba(0,123,255,.55);
  top:-220px; left:-160px;
}
.sldoc-hero:after{
  background: rgba(0,123,255,.25);
  bottom:-240px; right:-180px;
  animation-duration: 12s;
}
@keyframes sldocFloat{
  0%,100%{ transform: translate(0,0) scale(1); }
  50%{ transform: translate(18px,-14px) scale(1.03); }
}

/* Subtle hover lift */
.card, .video-card, .course-card, .gallery-item img, .coming-soon{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:hover, .video-card:hover, .course-card:hover, .coming-soon:hover{
  transform: translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  border-color: rgba(0,123,255,.22);
}
.gallery-item img:hover{
  transform: translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  border-color: rgba(0,123,255,.18);
}

/* Button micro-interactions */
.btn{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn:hover{ transform: translateY(-1px); box-shadow:0 12px 24px rgba(0,0,0,.12); }
.btn:active{ transform: translateY(0px) scale(.99); box-shadow:none; }

/* Reveal-on-scroll (IntersectionObserver) */
.sldoc-reveal{
  opacity:0;
  transform: translateY(14px);
  filter: blur(2px);
  transition: opacity .75s cubic-bezier(.2,.8,.2,1),
              transform .75s cubic-bezier(.2,.8,.2,1),
              filter .75s cubic-bezier(.2,.8,.2,1);
  transition-delay: var(--sldoc-delay, 0ms);
  will-change: opacity, transform, filter;
}
.sldoc-reveal.is-visible{
  opacity:1;
  transform: translateY(0);
  filter: blur(0);
}

/* Page load pop for hero */
.sldoc-hero .hero-badge,
.sldoc-hero h1,
.sldoc-hero p,
.sldoc-hero .btn,
.sldoc-hero .hero-img{
  animation: sldocEnter .9s cubic-bezier(.2,.8,.2,1) both;
}
.sldoc-hero h1{ animation-delay: .06s; }
.sldoc-hero p{ animation-delay: .12s; }
.sldoc-hero .btn{ animation-delay: .16s; }
.sldoc-hero .hero-img{ animation-delay: .18s; }

@keyframes sldocEnter{
  from{ opacity:0; transform: translateY(18px); filter: blur(3px); }
  to{ opacity:1; transform: translateY(0); filter: blur(0); }
}

/* Better section spacing on mobile */
.page-section{ padding:64px 0; }
@media(max-width:575.98px){
  .sldoc-hero .hero-inner{ padding:56px 0; }
  .page-section{ padding:52px 0; }
}

/* Refined typography */
.section-title{ line-height:1.15; }
.display-4{ line-height:1.08; }


/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .sldoc-reveal{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
  .sldoc-hero:before, .sldoc-hero:after{ animation:none !important; }
  .btn, .card, .video-card, .course-card, .gallery-item img, .coming-soon{ transition:none !important; }
}


/* ===========================
   Next-Level Hero (Pro)
   =========================== */
.sldoc-hero--pro{
  background: radial-gradient(1200px 600px at 10% 20%, rgba(0,123,255,.14), transparent 55%),
              radial-gradient(900px 500px at 90% 10%, rgba(0,123,255,.10), transparent 55%),
              linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
}
.sldoc-hero--pro .hero-inner{ padding:84px 0 64px; }
@media (max-width: 991px){
  .sldoc-hero--pro .hero-inner{ padding:72px 0 40px; }
}
.sldoc-hero-mesh{ position:absolute; inset:0; pointer-events:none; }
.sldoc-hero-mesh .mesh-grid{
  position:absolute; inset:-2px;
  background-image: linear-gradient(to right, rgba(0,0,0,.05) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(0,0,0,.05) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity:.25;
  mask-image: radial-gradient(closest-side, rgba(0,0,0,.6), transparent 70%);
  -webkit-mask-image: radial-gradient(closest-side, rgba(0,0,0,.6), transparent 70%);
}
.sldoc-hero-mesh .mesh-blob{
  position:absolute;
  width:520px; height:520px;
  border-radius:999px;
  filter: blur(35px);
  opacity:.38;
  transform: translate3d(0,0,0);
  animation: sldocFloat 10s ease-in-out infinite;
}
.sldoc-hero-mesh .b1{ left:-180px; top:-160px; background: rgba(0,123,255,.55); }
.sldoc-hero-mesh .b2{ right:-220px; top:-210px; background: rgba(0,123,255,.35); animation-duration: 12s; }
.sldoc-hero-mesh .b3{ right:10%; bottom:-260px; background: rgba(0,0,0,.10); animation-duration: 14s; opacity:.22; }

@keyframes sldocFloat{
  0%,100%{ transform: translate3d(0,0,0) scale(1); }
  50%{ transform: translate3d(0, 18px, 0) scale(1.03); }
}

.sldoc-btn-glow{
  position:relative;
  box-shadow: 0 14px 34px rgba(0,123,255,.18);
}
.sldoc-btn-glow:after{
  content:'';
  position:absolute; inset:-2px;
  border-radius: 14px;
  background: radial-gradient(120px 80px at 20% 20%, rgba(255,255,255,.55), transparent 60%);
  opacity:.45; pointer-events:none;
}
.sldoc-btn-soft{
  border-radius: 14px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(10px);
}

.hero-trust{
  display:flex; align-items:center; gap:12px;
}
.trust-avatars{ display:flex; align-items:center; }
.trust-avatars .av{
  width:28px; height:28px; border-radius:999px;
  border:2px solid #fff;
  background: linear-gradient(135deg, rgba(0,123,255,.25), rgba(0,0,0,.05));
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  margin-left:-8px;
}
.trust-avatars .av:first-child{ margin-left:0; }
.trust-text{ line-height:1.1; }
.trust-text .font-weight-600{ font-weight:600; }

.hero-stats .stat-card{
  background: rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius: 18px;
  padding: 14px 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
  height:100%;
  position:relative;
  overflow:hidden;
}
.hero-stats .stat-card:before{
  content:'';
  position:absolute; inset:auto -30px -30px auto;
  width:120px; height:120px; border-radius:999px;
  background: rgba(0,123,255,.10);
  filter: blur(2px);
}
.stat-ico{
  width:38px; height:38px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,123,255,.10);
  color: var(--brand);
  margin-bottom: 10px;
}
.stat-num{ font-size: 1.55rem; font-weight: 800; letter-spacing: -.3px; line-height:1; }
.stat-label{ font-size:.86rem; color: var(--muted); margin-top:4px; }

.hero-scroll{
  position:absolute;
  left:12px; bottom:-22px;
  align-items:center;
  gap:10px;
  color: rgba(107,114,128,.9);
  font-size:.85rem;
}
.hero-scroll .dot{
  width:8px; height:8px; border-radius:999px;
  background: rgba(0,123,255,.8);
  animation: sldocPulse 1.6s ease-in-out infinite;
}
.hero-scroll .line{
  width:40px; height:1px;
  background: rgba(107,114,128,.35);
}
@keyframes sldocPulse{
  0%,100%{ transform: translateY(0); opacity: 1; }
  50%{ transform: translateY(5px); opacity: .55; }
}

/* Hero visual + floating cards */
.hero-visual{
  position:relative;
  display:inline-block;
  max-width: 560px;
  width:100%;
}
.hero-visual .hero-img{ will-change: transform; transition: transform .45s ease; }
.float-card{
  position:absolute;
  min-width: 170px;
  background: rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius: 18px;
  padding: 12px 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
  text-align:left;
  animation: sldocCardFloat 6.5s ease-in-out infinite;
}
.float-card .fc-icon{
  width:38px; height:38px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,123,255,.10);
  color: var(--brand);
  margin-bottom: 8px;
}
.float-card .fc-title{ font-weight:700; letter-spacing:-.2px; }
.float-card .fc-sub{ font-size:.85rem; color: var(--muted); margin-top:2px; }

.float-card.fc1{ left:-10px; top:22%; animation-delay: .2s; }
.float-card.fc2{ right:-18px; top:14%; animation-delay: .8s; }
.float-card.fc3{ right:10%; bottom:-8%; animation-delay: 1.3s; }

@keyframes sldocCardFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(0, 10px, 0); }
}
@media (max-width: 991px){
  .float-card{ display:none; }
}

/* Trusted marquee */
.trusted-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.trusted-label{
  font-weight:700;
  color: rgba(31,42,55,.85);
  background: rgba(255,255,255,.85);
  border:1px solid var(--border);
  padding: 8px 12px;
  border-radius: 999px;
}
.trusted-marquee{
  overflow:hidden;
  border-radius: 999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(10px);
  max-width: 520px;
  width:100%;
}
.marquee-track{
  display:flex; gap:18px;
  padding: 10px 16px;
  width:max-content;
  animation: sldocMarquee 18s linear infinite;
}
.marquee-track span{
  font-size:.9rem;
  color: rgba(31,42,55,.75);
  white-space:nowrap;
}
@keyframes sldocMarquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Pro features */
.feature-pro{
  background: rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius: 20px;
  padding: 18px 18px;
  box-shadow: 0 14px 32px rgba(0,0,0,.06);
  height:100%;
  transition: transform .25s ease, box-shadow .25s ease;
}
.feature-pro:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 44px rgba(0,0,0,.10);
}
.feature-pro .f-icon{
  width:46px; height:46px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,123,255,.10);
  color: var(--brand);
  margin-bottom: 12px;
}
.feature-pro .f-title{ font-weight:800; letter-spacing:-.3px; margin-bottom:6px; }
.feature-pro .f-text{ color: var(--muted); margin:0; }

/* Counter smoothness */
[data-counter]{ font-variant-numeric: tabular-nums; }


/* === SL DOC NEXT-LEVEL MOTION PACK === */

/* --- Preloader --- */
#sldoc-preloader{
  position:fixed; inset:0; z-index:9999;
  display:grid; place-items:center;
  background:linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%);
  transition:opacity .45s ease, visibility .45s ease;
}
#sldoc-preloader.hidden{ opacity:0; visibility:hidden; }
#sldoc-preloader .loader{
  width:72px; height:72px; border-radius:999px;
  background:conic-gradient(from 90deg, rgba(0,123,255,.15), rgba(0,123,255,.95));
  -webkit-mask:radial-gradient(circle 26px, transparent 98%, #000 100%);
  mask:radial-gradient(circle 26px, transparent 98%, #000 100%);
  animation:sldocSpin 1.1s linear infinite;
}
#sldoc-preloader .label{
  margin-top:14px; font-weight:600; letter-spacing:.2px;
  color:#1b2b4a; opacity:.85; font-family:inherit;
  animation:sldocPulse 1.2s ease-in-out infinite;
}

/* --- Scroll progress bar --- */
#sldoc-progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,#007bff 0%, #5aa7ff 60%, #007bff 100%);
  z-index:9998;
  box-shadow:0 8px 20px rgba(0,123,255,.25);
}

/* --- Back to top --- */
#sldoc-top{
  position:fixed; right:18px; bottom:18px; z-index:9997;
  width:46px; height:46px; border-radius:14px;
  border:1px solid rgba(0,123,255,.18);
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow:0 16px 34px rgba(16,24,40,.12);
  display:grid; place-items:center;
  transform:translateY(18px); opacity:0; pointer-events:none;
  transition:transform .25s ease, opacity .25s ease, box-shadow .25s ease;
}
#sldoc-top.show{ transform:translateY(0); opacity:1; pointer-events:auto; }
#sldoc-top:hover{ box-shadow:0 20px 45px rgba(0,123,255,.18); transform:translateY(-2px); }
#sldoc-top svg{ width:18px; height:18px; }

/* --- Page fade-in --- */
body.sldoc-page{
  opacity:0;
  animation:sldocPageIn .65s cubic-bezier(.22,.8,.2,1) forwards;
}
@keyframes sldocPageIn{ to{ opacity:1; } }

/* --- Reveal system (stagger + depth) --- */
[data-sldoc-reveal]{
  opacity:0; transform:translateY(18px) scale(.99);
  transition:opacity .75s cubic-bezier(.22,.8,.2,1),
             transform .75s cubic-bezier(.22,.8,.2,1);
  will-change:opacity, transform;
}
[data-sldoc-reveal].in-view{ opacity:1; transform:translateY(0) scale(1); }
[data-sldoc-reveal="fade"]{ transform:none; }
[data-sldoc-reveal="fade"].in-view{ opacity:1; }
[data-sldoc-reveal="zoom"]{ transform:scale(.96); }
[data-sldoc-reveal="zoom"].in-view{ transform:scale(1); }

/* --- Premium hover effects --- */
.sldoc-card, .sldoc-video-card, .sldoc-course-card, .sldoc-gallery-item{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.sldoc-card:hover, .sldoc-video-card:hover, .sldoc-course-card:hover, .sldoc-gallery-item:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(16,24,40,.14);
  border-color:rgba(0,123,255,.22);
}

/* --- Animated gradient border utility --- */
.sldoc-gradient-border{
  position:relative;
}
.sldoc-gradient-border::before{
  content:""; position:absolute; inset:-1px; border-radius:18px;
  background:linear-gradient(135deg, rgba(0,123,255,.55), rgba(90,167,255,.25), rgba(0,123,255,.55));
  filter:blur(10px); opacity:.55;
  z-index:-1;
  animation:sldocGlow 3.8s ease-in-out infinite;
}
@keyframes sldocGlow{
  0%,100%{ transform:translateY(0); opacity:.45; }
  50%{ transform:translateY(-6px); opacity:.75; }
}

/* --- Marquee shimmer --- */
.sldoc-marquee{
  overflow:hidden;
  border:1px solid rgba(0,123,255,.12);
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  border-radius:18px;
}
.sldoc-marquee .track{
  display:flex; gap:42px; padding:14px 18px;
  animation:sldocMarquee 22s linear infinite;
  white-space:nowrap;
}
.sldoc-marquee .pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 12px; border-radius:999px;
  border:1px solid rgba(0,123,255,.14);
  background:rgba(246,248,251,.85);
  font-weight:600; color:#163a66;
}
@keyframes sldocMarquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* --- Hero particles canvas --- */
#sldoc-particles{
  position:absolute; inset:0;
  width:100%; height:100%;
  pointer-events:none;
  opacity:.65;
}

/* --- Magnetic button micro interaction (JS assisted) --- */
.sldoc-magnetic{
  position:relative;
  transform:translateZ(0);
}

/* --- Keyframes --- */
@keyframes sldocSpin{ to{ transform:rotate(360deg); } }
@keyframes sldocPulse{ 0%,100%{ opacity:.65 } 50%{ opacity:1 } }

@media (prefers-reduced-motion: reduce){
  #sldoc-preloader .loader, #sldoc-preloader .label, .sldoc-marquee .track, .sldoc-gradient-border::before{
    animation:none !important;
  }
  [data-sldoc-reveal]{ transition:none !important; opacity:1 !important; transform:none !important; }
  body.sldoc-page{ animation:none !important; opacity:1 !important; }
}


/* === SL DOC BRAND + CTA HIGHLIGHT === */

/* Bigger + bolder SL Doc brand */
.navbar .navbar-brand{
  font-weight: 800;
  font-size: 1.35rem;
  letter-spacing: .2px;
}
.navbar .navbar-brand .text-primary{
  font-weight: 900;
}

/* Highlighted CTA: Channeling (Coming Soon) */
.btn-sldoc-channeling{
  border: 2px solid rgba(255, 87, 34, .95);
  color: #ff5722 !important;
  background: rgba(255, 87, 34, .06);
  font-weight: 700;
  border-radius: 999px;
  padding-left: 16px;
  padding-right: 16px;
  position: relative;
  overflow: hidden;
}
.btn-sldoc-channeling::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(circle at 30% 20%, rgba(255, 87, 34,.25), transparent 55%),
              radial-gradient(circle at 70% 80%, rgba(255, 87, 34,.18), transparent 55%);
  opacity: .9;
  transform: translateY(8px);
  transition: transform .35s ease, opacity .35s ease;
  pointer-events:none;
}
.btn-sldoc-channeling:hover{
  background: rgba(255, 87, 34, .12);
  box-shadow: 0 18px 45px rgba(255, 87, 34, .18);
  transform: translateY(-2px);
}
.btn-sldoc-channeling:hover::after{
  transform: translateY(0);
  opacity: 1;
}


/* === ULTRA NAVBAR MOTION === */

/* Sticky navbar with blur and animated shrink */
.navbar{
  transition: padding .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.navbar.sldoc-sticky{
  position: sticky;
  top: 0;
  z-index: 1040;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 18px 55px rgba(16,24,40,.10);
}
.navbar.sldoc-shrink{
  padding-top: .35rem !important;
  padding-bottom: .35rem !important;
}


/* === ULTRA HERO TYPING === */

.sldoc-typing{
  display:inline-block;
  border-right: 2px solid rgba(0,123,255,.65);
  padding-right: 6px;
  white-space: nowrap;
  animation: sldocCaret 1s steps(1,end) infinite;
}
@keyframes sldocCaret{ 50%{ border-right-color: transparent; } }


/* === ULTRA 3D TILT === */

.sldoc-tilt{
  transform-style: preserve-3d;
  will-change: transform;
}
.sldoc-tilt .tilt-pop{
  transform: translateZ(18px);
}


/* === ULTRA PAGE TRANSITION === */

#sldoc-transition{
  position:fixed; inset:0; z-index:9996;
  pointer-events:none;
  background: radial-gradient(circle at 20% 20%, rgba(0,123,255,.22), transparent 55%),
              radial-gradient(circle at 80% 70%, rgba(90,167,255,.16), transparent 55%),
              rgba(255,255,255,.92);
  opacity:0;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
}
#sldoc-transition.show{
  opacity:1;
  transform: translateY(0);
}


/* === CHANNELING CTA FEATURES === */

/* Channeling CTA pulse ring + tooltip */
.btn-sldoc-channeling{
  position: relative;
}

/* Pulse ring */
.btn-sldoc-channeling::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  border:2px solid rgba(255,87,34,.55);
  opacity:.0;
  animation:sldocPulseRing 2.2s ease-out infinite;
  pointer-events:none;
}
@keyframes sldocPulseRing{
  0%{ transform:scale(.85); opacity:.55; }
  70%{ transform:scale(1.05); opacity:0; }
  100%{ opacity:0; }
}

/* Tooltip */
.btn-sldoc-channeling .sldoc-tooltip{
  position:absolute;
  bottom:-44px;
  left:50%;
  transform:translateX(-50%) translateY(6px);
  background:#1b1f2a;
  color:#fff;
  font-size:.75rem;
  padding:6px 10px;
  border-radius:8px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.btn-sldoc-channeling:hover .sldoc-tooltip{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* Icon wiggle */
.btn-sldoc-channeling i{
  display:inline-block;
  margin-right:6px;
  animation:sldocWiggle 1.8s ease-in-out infinite;
}
@keyframes sldocWiggle{
  0%,100%{ transform:rotate(0); }
  20%{ transform:rotate(-8deg); }
  40%{ transform:rotate(8deg); }
  60%{ transform:rotate(-4deg); }
  80%{ transform:rotate(4deg); }
}

/* === CHANNELING BUTTON RESET (NORMAL) === */
.btn-sldoc-channeling,
.btn-sldoc-channeling:hover,
.btn-sldoc-channeling:focus{
  border: 1px solid rgba(0,123,255,.35) !important;
  background: transparent !important;
  color: #007bff !important;
  box-shadow: none !important;
}
.btn-sldoc-channeling::before,
.btn-sldoc-channeling::after{
  display:none !important;
}
.btn-sldoc-channeling i,
.btn-sldoc-channeling .sldoc-tooltip{
  display:none !important;
}
