* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Noto Sans', sans-serif; color: #333; }
html { scroll-behavior: smooth; }

/* Hero carousel */
.hero-slide { display: none; opacity: 0; transition: opacity 0.8s ease; }
.hero-slide.active { display: block; opacity: 1; }

/* Hero slide text animations */
@keyframes heroSlideUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.hero-slide-content > * { opacity: 0; }
.hero-slide.active .hero-slide-content > * {
    animation: heroSlideUp 0.6s ease forwards;
}
.hero-slide.active .hero-slide-content > *:nth-child(1) { animation-delay: 0.2s; }
.hero-slide.active .hero-slide-content > *:nth-child(2) { animation-delay: 0.4s; }
.hero-slide.active .hero-slide-content > *:nth-child(3) { animation-delay: 0.6s; }

/* Carousel dots */
.carousel-dot { transition: all 0.3s ease; }
.carousel-dot.active { background: white; width: 32px; border-radius: 8px; }

/* Link hover effect */
.link-hover { transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 4px; }
.link-hover:hover { gap: 8px; }
.link-hover svg { transition: transform 0.3s ease; }
.link-hover:hover svg { transform: translateX(3px); }

/* Card hover */
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,0.1); }

/* Service icon float */
.service-icon { transition: transform 0.3s ease; }
.service-icon:hover { transform: translateY(-4px); }

/* Carousel navigation arrows */
.carousel-arrow { transition: all 0.3s ease; }
.carousel-arrow:hover { background: rgba(0,0,0,0.7); }

/* Testimonial carousel */
.testimonial-slide { display: none; }
.testimonial-slide.active { display: flex; }

/* Back to top */
#backToTop { opacity: 0; pointer-events: none; transition: all 0.3s ease; }
#backToTop.visible { opacity: 1; pointer-events: auto; }

/* Input focus */
input:focus, textarea:focus { outline: none; border-color: #c0392b !important; }

/* Video play button overlay */
.play-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.15); transition: background 0.3s; cursor: pointer; }
.play-overlay:hover { background: rgba(0,0,0,0.3); }

/* Mission video */
.mission-video { width: 100%; height: 100%; object-fit: cover; }

/* Blog content typography */
.blog-content h2 { font-size: 1.5rem; font-weight: 700; color: #193639; margin-top: 2.5rem; margin-bottom: 1rem; }
.blog-content h3 { font-size: 1.25rem; font-weight: 700; color: #193639; margin-top: 2rem; margin-bottom: 0.75rem; }
.blog-content p { margin-bottom: 1.25rem; }
.blog-content a { color: #d33; }
.blog-content a:hover { text-decoration: underline; }
.blog-content img { border-radius: 0.5rem; margin: 1.5rem 0; }
.blog-content ul, .blog-content ol { margin: 1rem 0; padding-left: 1.5rem; }
.blog-content ul { list-style-type: disc; }
.blog-content ol { list-style-type: decimal; }
.blog-content li { margin-bottom: 0.5rem; }
.blog-content blockquote { border-left: 4px solid #d33; padding: 1rem 1.5rem; margin: 1.5rem 0; font-style: italic; color: #6b7280; background: #f9fafb; border-radius: 0 0.5rem 0.5rem 0; }
.blog-content strong { color: #193639; }
.blog-content iframe,
.blog-content .ql-video { width: 100%; aspect-ratio: 16/9; border: none; border-radius: 0.5rem; margin: 1.5rem 0; display: block; }
