/* ============================================================
   THITANX — Design System Global CSS
   Same aesthetic as maintenance page
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap');

/* ── TOKENS ── */
:root {
  --bg:       #050709;
  --bg2:      #080b10;
  --surface:  rgba(255,255,255,0.042);
  --surface2: rgba(255,255,255,0.065);
  --border:   rgba(255,255,255,0.09);
  --border2:  rgba(255,255,255,0.14);
  --accent:   #06bbf0;
  --accent2:  #0af;
  --accent-dim: rgba(6,187,240,0.15);
  --text:     #f0f0ee;
  --text2:    rgba(240,240,238,0.70);
  --muted:    rgba(240,240,238,0.42);
  --glow:     rgba(6,187,240,0.22);
  --glow2:    rgba(66,245,200,0.18);
  --radius:   12px;
  --radius-lg:20px;
  --radius-xl:28px;
  --shadow:   0 4px 32px rgba(0,0,0,0.45);
  --shadow-lg:0 8px 60px rgba(0,0,0,0.6);
  --font-display:'Syne',sans-serif;
  --font-body:'DM Sans',sans-serif;
  --nav-h: 72px;
  --transition: .22s cubic-bezier(.4,0,.2,1);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  min-height:100vh;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}
ul,ol{list-style:none;}

/* ── CANVAS NEURAL (global background) ── */
#neural-bg{
  position:fixed;top:0;left:0;
  width:100vw;height:100vh;
  z-index:0;display:block;pointer-events:none;
}

/* ── GRAIN ── */
body::before{
  content:'';position:fixed;inset:0;z-index:1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

/* Orbs ambiente */
.orb{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0;}
.orb-1{width:min(500px,50vw);height:min(500px,50vw);background:rgba(6,187,240,0.055);top:-15%;left:-10%;animation:drift 16s ease-in-out infinite alternate;}
.orb-2{width:min(380px,40vw);height:min(380px,40vw);background:rgba(66,245,200,0.045);bottom:-10%;right:-8%;animation:drift 20s 5s ease-in-out infinite alternate-reverse;}

/* ── LAYOUT ── */
.container{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);position:relative;z-index:2;}
.section{padding:clamp(4rem,10vh,7rem) 0;position:relative;}
.section-sm{padding:clamp(2.5rem,6vh,4.5rem) 0;position:relative;}

/* ── NAV ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);
  display:flex;align-items:center;
  transition:background var(--transition),backdrop-filter var(--transition),border-color var(--transition);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(5,7,9,0.88);
  backdrop-filter:blur(20px);
  border-bottom-color:var(--border);
}
.nav__inner{
  width:100%;max-width:1200px;margin:0 auto;
  padding:0 clamp(1rem,4vw,2.5rem);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.nav__logo{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.1rem,2vw,1.4rem);letter-spacing:-.04em;color:var(--text);
}
.nav__logo span{color:var(--accent);}
.nav__links{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem);}
.nav__link{
  font-size:.85rem;font-weight:400;color:var(--muted);letter-spacing:.02em;
  transition:color var(--transition);position:relative;padding:.25rem 0;
}
.nav__link::after{
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;
  background:var(--accent);transition:width var(--transition);
}
.nav__link:hover{color:var(--text);}
.nav__link:hover::after{width:100%;}
.nav__cta{
  background:var(--accent);color:#050709;
  padding:.5rem 1.2rem;border-radius:999px;
  font-size:.82rem;font-weight:700;letter-spacing:.02em;
  transition:opacity var(--transition),transform var(--transition);
}
.nav__cta:hover{opacity:.88;transform:translateY(-1px);}
.nav__search-btn{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--surface);border:1px solid var(--border);
  color:var(--muted);transition:color var(--transition),border-color var(--transition);
}
.nav__search-btn:hover{color:var(--accent);border-color:var(--accent);}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:4px;cursor:pointer;}
.nav__burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:var(--transition);}
.nav__mobile{
  display:none;position:fixed;inset:0;top:var(--nav-h);
  background:rgba(5,7,9,0.97);backdrop-filter:blur(24px);
  z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
}
.nav__mobile.open{display:flex;}
.nav__mobile a{font-family:var(--font-display);font-size:clamp(1.4rem,5vw,2rem);font-weight:700;color:var(--text2);}
.nav__mobile a:hover{color:var(--accent);}

/* ── TYPOGRAPHY ── */
.eyebrow{
  font-size:clamp(.6rem,1.1vw,.72rem);letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:.8rem;
}
h1,.h1{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(2rem,6vw,5.5rem);
  line-height:.93;letter-spacing:-.04em;
}
h2,.h2{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.6rem,4vw,3.5rem);
  line-height:.95;letter-spacing:-.035em;
}
h3,.h3{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.1rem,2.2vw,1.6rem);
  letter-spacing:-.025em;
}
.accent-text{color:var(--accent);}
.italic-accent{font-style:italic;color:var(--accent);}
.lead{font-size:clamp(.9rem,1.6vw,1.1rem);font-weight:300;line-height:1.7;color:var(--text2);}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.6rem;border-radius:999px;
  font-size:.88rem;font-weight:600;letter-spacing:.02em;
  transition:all var(--transition);cursor:pointer;border:none;
}
.btn-primary{background:var(--accent);color:#050709;}
.btn-primary:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 24px rgba(6,187,240,.35);}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border2);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
.btn-ghost{background:transparent;color:var(--muted);}
.btn-ghost:hover{color:var(--accent);}
.btn-lg{padding:.9rem 2.2rem;font-size:.95rem;}
.btn-sm{padding:.45rem 1.1rem;font-size:.78rem;}

/* ── PILLS / BADGES ── */
.pill{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:999px;padding:.28rem .8rem;
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.pill-accent{background:rgba(6,187,240,.10);border-color:rgba(6,187,240,.25);color:var(--accent);}
.dot-pulse{
  width:6px;height:6px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 6px var(--accent);animation:blink 2s ease-in-out infinite;
}

/* ── CARDS ── */
.card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2rem);
  transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);
  position:relative;overflow:hidden;
}
.card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(6,187,240,.04) 0%,transparent 60%);
  pointer-events:none;
}
.card:hover{
  border-color:rgba(6,187,240,.25);
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 40px rgba(6,187,240,.07);
}
.card-highlight{
  border-color:rgba(6,187,240,.30);
  background:rgba(6,187,240,.04);
  box-shadow:0 0 40px rgba(6,187,240,.08);
}

/* ── FORMS ── */
.form-group{display:flex;flex-direction:column;gap:.4rem;}
.form-label{font-size:.78rem;font-weight:500;color:var(--text2);letter-spacing:.04em;}
.form-input{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:.7rem 1rem;color:var(--text);font-size:.9rem;font-family:var(--font-body);
  transition:border-color var(--transition),box-shadow var(--transition);outline:none;
}
.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,187,240,.12);}
.form-input::placeholder{color:var(--muted);}
select.form-input{cursor:pointer;}
textarea.form-input{resize:vertical;min-height:110px;}

/* ── GRID HELPERS ── */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,3vw,2rem);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,3vw,1.8rem);}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,1.5rem);}
.flex-center{display:flex;align-items:center;justify-content:center;}
.flex-between{display:flex;align-items:center;justify-content:space-between;}
.text-center{text-align:center;}
.mx-auto{margin-left:auto;margin-right:auto;}

/* ── DIVIDER ── */
.divider{height:1px;background:var(--border);margin:0;}

/* ── SECTION HEADER ── */
.section-header{text-align:center;max-width:700px;margin:0 auto clamp(2.5rem,6vw,4.5rem);}
.section-header p{color:var(--muted);margin-top:.8rem;font-size:clamp(.85rem,1.5vw,1rem);}

/* ── HERO SPECIFIC ── */
.hero{
  min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding-top:var(--nav-h);
  position:relative;z-index:2;
}
.hero__eyebrow{margin-bottom:1.2rem;}
.hero h1{margin-bottom:1.4rem;max-width:14ch;}
.hero p{max-width:52ch;margin:0 auto 2.2rem;}
.hero__ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;}

/* ── CAROUSEL ── */
.carousel-wrap{position:relative;overflow:hidden;border-radius:var(--radius-xl);}
.carousel-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.carousel-slide{
  min-width:100%;position:relative;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-xl);overflow:hidden;
  padding:clamp(2.5rem,6vw,5rem);
  display:flex;flex-direction:column;justify-content:center;min-height:420px;
}
.carousel-slide__bg{
  position:absolute;inset:0;object-fit:cover;opacity:.18;
  filter:blur(2px);z-index:0;
}
.carousel-slide__content{position:relative;z-index:1;max-width:60ch;}
.carousel-dots{
  display:flex;gap:.5rem;justify-content:center;margin-top:1.2rem;
}
.carousel-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--border2);cursor:pointer;
  transition:background var(--transition),transform var(--transition);
}
.carousel-dot.active{background:var(--accent);transform:scale(1.3);}
.carousel-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  background:var(--surface2);border:1px solid var(--border);
  border-radius:50%;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text);cursor:pointer;z-index:3;
  transition:border-color var(--transition),color var(--transition);
}
.carousel-nav:hover{border-color:var(--accent);color:var(--accent);}
.carousel-nav.prev{left:1rem;}
.carousel-nav.next{right:1rem;}

/* ── MODULE CARD ── */
.module-card{display:flex;flex-direction:column;gap:1rem;}
.module-card__icon{
  width:52px;height:52px;border-radius:14px;
  background:rgba(6,187,240,.10);border:1px solid rgba(6,187,240,.20);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.module-card__price{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--accent);
}
.module-card__price small{font-size:.65rem;font-weight:400;color:var(--muted);font-family:var(--font-body);}
.module-card__features{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem;}
.module-card__feature{
  display:flex;align-items:center;gap:.5rem;
  font-size:.82rem;color:var(--text2);
}
.module-card__feature::before{content:'✓';color:var(--accent);font-weight:700;font-size:.75rem;}
.module-card__actions{margin-top:auto;padding-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap;}

/* ── STATS ── */
.stat{text-align:center;}
.stat__num{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(2rem,5vw,3.5rem);color:var(--accent);letter-spacing:-.04em;
}
.stat__label{font-size:.82rem;color:var(--muted);margin-top:.25rem;}

/* ── TESTIMONIAL ── */
.testimonial-card{display:flex;flex-direction:column;gap:1rem;}
.testimonial-card__quote{font-size:.9rem;line-height:1.7;color:var(--text2);font-style:italic;}
.testimonial-card__quote::before{content:'"';font-size:2.5rem;color:var(--accent);line-height:1;font-family:var(--font-display);}
.testimonial-card__author{display:flex;align-items:center;gap:.75rem;}
.testimonial-card__avatar{
  width:42px;height:42px;border-radius:50%;
  background:var(--surface2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--accent);
}
.testimonial-card__name{font-weight:600;font-size:.85rem;}
.testimonial-card__pos{font-size:.75rem;color:var(--muted);}
.stars{color:var(--accent);font-size:.75rem;letter-spacing:.05em;}

/* ── SEARCH OVERLAY ── */
.search-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(5,7,9,.96);backdrop-filter:blur(24px);
  display:none;flex-direction:column;align-items:center;
  padding:clamp(3rem,10vw,6rem) clamp(1rem,4vw,2.5rem);
}
.search-overlay.open{display:flex;}
.search-overlay__close{
  position:absolute;top:1.5rem;right:1.5rem;
  font-size:1.5rem;color:var(--muted);cursor:pointer;
  transition:color var(--transition);background:none;border:none;
}
.search-overlay__close:hover{color:var(--accent);}
.search-overlay__input-wrap{
  width:100%;max-width:700px;position:relative;margin-bottom:2rem;
}
.search-overlay__input{
  width:100%;background:var(--surface);border:1px solid var(--border2);
  border-radius:999px;padding:1rem 1.5rem 1rem 3.2rem;
  color:var(--text);font-size:1.1rem;font-family:var(--font-body);outline:none;
  transition:border-color var(--transition);
}
.search-overlay__input:focus{border-color:var(--accent);}
.search-overlay__icon{
  position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);
  color:var(--muted);font-size:1rem;pointer-events:none;
}
.search-results{width:100%;max-width:700px;display:flex;flex-direction:column;gap:.75rem;}
.search-result{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:1rem 1.2rem;
  cursor:pointer;transition:border-color var(--transition);
}
.search-result:hover{border-color:var(--accent);}
.search-result__type{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.3rem;}
.search-result__title{font-weight:600;font-size:.92rem;margin-bottom:.2rem;}
.search-result__excerpt{font-size:.8rem;color:var(--muted);line-height:1.5;}

/* ── WHATSAPP FLOAT ── */
.wa-float{
  position:fixed;bottom:2rem;right:2rem;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 24px rgba(37,211,102,.45);
  animation:waWobble 3s 2s ease-in-out infinite;
  transition:transform var(--transition);
}
.wa-float:hover{transform:scale(1.1);}
.wa-float svg{width:28px;height:28px;fill:#fff;}
@keyframes waWobble{
  0%,100%{transform:rotate(0deg);}
  92%{transform:rotate(0deg);}
  94%{transform:rotate(-8deg);}
  96%{transform:rotate(8deg);}
  98%{transform:rotate(-4deg);}
}

/* ── FOOTER ── */
.footer{
  background:var(--bg2);border-top:1px solid var(--border);
  padding:clamp(3rem,7vh,5rem) 0 1.5rem;position:relative;z-index:2;
}
.footer__grid{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:clamp(1.5rem,4vw,3rem);margin-bottom:3rem;
}
.footer__logo{
  font-family:var(--font-display);font-weight:800;
  font-size:1.3rem;letter-spacing:-.04em;color:var(--text);margin-bottom:.8rem;
}
.footer__logo span{color:var(--accent);}
.footer__desc{font-size:.83rem;color:var(--muted);line-height:1.7;max-width:28ch;}
.footer__heading{
  font-family:var(--font-display);font-weight:700;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text);margin-bottom:1rem;
}
.footer__links{display:flex;flex-direction:column;gap:.55rem;}
.footer__links a{font-size:.83rem;color:var(--muted);transition:color var(--transition);}
.footer__links a:hover{color:var(--accent);}
.footer__bottom{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;
  padding-top:1.5rem;border-top:1px solid var(--border);
}
.footer__copy{font-size:.72rem;color:var(--muted);}
.social-row{display:flex;gap:.4rem;}
.social-row a{
  width:34px;height:34px;border-radius:50%;
  background:var(--surface);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:all var(--transition);
}
.social-row a:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px var(--glow);}
.social-row svg{width:13px;height:13px;fill:currentColor;}

/* ── ADMIN ── */
.admin-wrap{display:grid;grid-template-columns:240px 1fr;min-height:100vh;}
.admin-sidebar{
  background:var(--bg2);border-right:1px solid var(--border);
  padding:1.5rem 1rem;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.admin-sidebar__logo{
  font-family:var(--font-display);font-weight:800;font-size:1.2rem;
  color:var(--text);letter-spacing:-.04em;padding:.5rem .5rem 1.5rem;
  border-bottom:1px solid var(--border);margin-bottom:1rem;
}
.admin-sidebar__logo span{color:var(--accent);}
.admin-nav a{
  display:flex;align-items:center;gap:.6rem;
  padding:.55rem .75rem;border-radius:8px;
  font-size:.83rem;color:var(--muted);
  transition:all var(--transition);margin-bottom:.25rem;
}
.admin-nav a:hover,.admin-nav a.active{
  background:rgba(6,187,240,.08);color:var(--accent);
}
.admin-main{background:var(--bg);padding:2rem;}
.admin-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border);
}
.admin-header h1{font-size:1.4rem;}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{
  text-align:left;padding:.6rem .9rem;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);border-bottom:1px solid var(--border);
}
.admin-table td{
  padding:.75rem .9rem;border-bottom:1px solid rgba(255,255,255,.04);
  font-size:.85rem;color:var(--text2);
}
.admin-table tr:hover td{background:rgba(255,255,255,.02);}
.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.badge-green{background:rgba(34,197,94,.15);color:#4ade80;}
.badge-yellow{background:rgba(251,191,36,.15);color:#fbbf24;}
.badge-red{background:rgba(239,68,68,.15);color:#f87171;}

/* ── ANIMATIONS ── */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

@keyframes drift{
  from{transform:translate(0,0) scale(1);}
  to{transform:translate(3%,4%) scale(1.08);}
}
@keyframes blink{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.35;transform:scale(.72);}
}
@keyframes fadeDown{
  from{opacity:0;transform:translateY(-14px);}
  to{opacity:1;transform:translateY(0);}
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .footer__grid{grid-template-columns:1fr 1fr;}
  .admin-wrap{grid-template-columns:1fr;}
  .admin-sidebar{position:static;height:auto;}
}
@media(max-width:768px){
  .grid-2,.grid-3{grid-template-columns:1fr;}
  .nav__links{display:none;}
  .nav__burger{display:flex;}
  .hero__ctas{flex-direction:column;align-items:center;}
  .footer__grid{grid-template-columns:1fr;}
  .carousel-slide{padding:2rem;}
  .carousel-slide__content{max-width:100%;}
}
@media(max-width:480px){
  .grid-4{grid-template-columns:1fr;}
  .admin-main{padding:1rem;}
}

/* ── CAROUSEL VIDEO ── */
.carousel-slide--video {
  position: relative;
  overflow: hidden;
  min-height: 460px;
}
.carousel-video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; z-index: 0;
}

/* Custom video controls */
.carousel-video-controls {
  position: absolute;
  bottom: 1.2rem; right: 1.2rem;
  z-index: 10;
  display: flex; gap: .5rem; align-items: center;
}
.cv-btn {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(5,7,9,.75);
  border: 1px solid rgba(255,255,255,.2);
  color: #f0f0ee; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s, transform .15s;
  backdrop-filter: blur(8px);
}
.cv-btn:hover {
  background: rgba(6,187,240,.2);
  border-color: rgba(6,187,240,.5);
  transform: scale(1.08);
}
.cv-btn svg { width: 18px; height: 18px; }

/* Pause carousel auto-advance when video slide is active */
.carousel-slide--video.is-playing .carousel-slide__content {
  text-shadow: 0 2px 12px rgba(0,0,0,.8);
}
