.btn-primary,.tab-active{background-image:linear-gradient(to right,#10b981 70%,#fde047 130%)}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background-color:#f0faf7;overflow-x:hidden}.font-serif{font-family:'Playfair Display',serif}.nav-link:hover,.phone-link:hover,.text-brand-green{color:#047857}.bg-brand-green{background-color:#10b981}.bg-brand-green-dark{background-color:#059669}.border-brand-green,.thumbnail-item.active{border-color:#10b981}.bg-brand-dark-green{background-color:#064e3b}.glow-effect{position:absolute;z-index:-1;filter:blur(80px);border-radius:50%}.advanced-gallery-container,.main-image-slide{position:relative}.btn{transition:.3s}.btn-primary{color:#fff}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 20px -5px rgba(16,185,129,.4)}.btn-secondary,.tab-inactive{background-color:#d1fae5;color:#065f46}.btn-secondary:hover,.chat-option-btn:hover,.tab-inactive:hover{background-color:#a7f3d0}.tab-active{color:#fff;box-shadow:0 4px 14px 0 rgba(16,185,129,.3)}.project-panel{display:none;animation:.5s ease-in-out fadeIn}.project-panel.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.main-image-viewer{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:1rem;box-shadow:0 10px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1)}.main-image-slides-wrapper{display:flex;height:100%;transition:transform .5s ease-in-out}.main-image-slide{flex-shrink:0;width:100%;height:100%}.main-image-slide img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease-in-out}.main-image-viewer:hover .main-image-slide.active img{transform:scale(1.1)}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:rgba(255,255,255,.7);backdrop-filter:blur(4px);border-radius:9999px;padding:.5rem;transition:.2s}.gallery-nav-btn:hover{background-color:#fff;transform:translateY(-50%) scale(1.1)}.thumbnail-carousel{margin-top:1rem;padding:.5rem 0;display:flex;gap:.75rem;overflow-x:auto;scrollbar-width:none}.thumbnail-carousel::-webkit-scrollbar{display:none}.thumbnail-item{flex-shrink:0;width:100px;height:75px;border-radius:.5rem;cursor:pointer;overflow:hidden;border:3px solid transparent;transition:border-color .3s}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.caption-bubble{position:absolute;padding:.75rem 1rem;border-radius:4px;box-shadow:2px 2px 8px rgba(0,0,0,.15);max-width:240px;font-family:Caveat,cursive;font-size:1.3rem;line-height:1.4;color:#4b5563;opacity:0;transform:scale(.9) rotate(var(--rotation,0deg));transition:opacity .4s ease-out,transform .4s ease-out;pointer-events:none}.testimonial-card,.video-slides-outer-wrapper{border-radius:1rem}.testimonial-card,.video-responsive-vertical-wrapper,.video-slides-outer-wrapper{overflow:hidden;box-shadow:0 10px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1)}.caption-bubble.visible{opacity:1;transform:scale(1) rotate(var(--rotation,0deg))}.note-yellow{background-color:#fef9c3}.note-blue{background-color:#dbeafe}.note-green{background-color:#dcfce7}.scroller{max-width:1200px;overflow:hidden;margin-left:auto;margin-right:auto}.scroller__inner{display:flex;gap:1.5rem;animation:40s linear infinite scroll}.scroller:hover .scroller__inner{animation-play-state:paused}@keyframes scroll{to{transform:translate(calc(-50% - .75rem))}}.testimonial-card{width:clamp(300px,80vw,360px);flex-shrink:0;background-color:#fff}.testimonial-card img{height:220px;width:100%;object-fit:cover;object-position:center}.comet-card-wrapper{perspective:2000px}.comet-card{transform-style:preserve-3d;transition:transform .1s ease-out;position:relative;overflow:hidden;width:100%;height:100%}.comet-card .comet-glare{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.4) 0,rgba(255,255,255,0) 50%);opacity:0;transition:opacity .2s ease-out;pointer-events:none}.video-carousel-container{position:relative;max-width:4xl;margin-left:auto;margin-right:auto}.video-slides-wrapper{display:flex;transition:transform .5s ease-in-out}.video-slide{flex-shrink:0;width:100%}.video-responsive-wrapper{position:relative;overflow:hidden;width:100%;padding-top:56.25%}.video-responsive-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-responsive-vertical-wrapper{width:100%;max-width:380px;margin:auto;aspect-ratio:9/16;border-radius:1.5rem}.video-responsive-vertical-wrapper iframe{width:100%;height:100%;border:none}.nav-link,.phone-link{position:relative;padding-bottom:4px;transition:color .3s}.nav-link::after,.phone-link::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#d9f99d;transform:scaleX(0);transition:transform .3s;transform-origin:center}.nav-link:hover::after,.phone-link:hover::after{transform:scaleX(1)}#chatbot-modal{transition:opacity .3s,transform .3s}.chat-message{max-width:80%}.user-message{background-color:#d1fae5;align-self:flex-end}.bot-message{background-color:#e5e7eb;align-self:flex-start}.chat-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.chat-option-btn{background-color:#d1fae5;color:#065f46;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;cursor:pointer;transition:background-color .2s}.thinking-indicator{display:flex;align-items:center;gap:.5rem}.thinking-indicator .dot{width:8px;height:8px;background-color:#9ca3af;border-radius:50%;animation:1.4s ease-in-out infinite both bounce}.thinking-indicator .dot:first-child{animation-delay:-.32s}.thinking-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.loader{border:4px solid #f3f3f3;border-top:4px solid #10b981;border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.5s ease-in-out;visibility:hidden}.hero-slide.active{opacity:1;visibility:visible}