*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:#111827;background:#f9fafb}.hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem;background:url(/images/hero.webp) center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:#00000073;z-index:0}.hero-content{max-width:720px;text-align:center;position:relative;z-index:1}.hero-content h1,.hero-content p{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.45)}.logo{width:260px;margin-bottom:1.5rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));opacity:0;transform:translateY(10px);animation:fadeUp 1s ease-out forwards;animation-delay:.1s}.gallery{padding:4rem 1.5rem;text-align:center}.gallery-title{font-size:2rem;margin-bottom:2rem;font-weight:600}.gallery-wrapper{max-width:900px;margin:0 auto;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 20px 40px #00000026}.gallery-image{width:100%;height:100%;max-height:420px;object-fit:cover;display:block;transition:opacity .6s ease}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#ffffffd9;border:2px solid #60A5FA;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s ease,transform .2s ease}.gallery-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.gallery-arrow svg{width:24px;height:24px;color:#60a5fa}.gallery-arrow.left{left:16px}.gallery-arrow.right{right:16px}.gallery-dots{margin-top:1rem;display:flex;justify-content:center;gap:.6rem}.dot{width:12px;height:12px;background:#d1d5db;border-radius:50%;cursor:pointer;transition:background .2s ease}.dot.active{background:#111827}section h2{font-size:2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.about{padding:4rem 1.5rem;background:#fff}.about-container{max-width:900px;margin:0 auto;text-align:center}.about-container p{color:#4b5563;margin-bottom:1rem;font-size:1rem}.services-container{max-width:900px;margin:0 auto;text-align:center}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}.service-card{background:#fff;padding:2rem;border-radius:14px;box-shadow:0 4px 14px #00000014;transition:transform .25s ease,box-shadow .25s ease;text-align:left}.service-card:hover{transform:translateY(-6px);box-shadow:0 8px 20px #0000001f}.service-card strong{font-size:1.2rem;display:block;margin-bottom:.5rem;color:#111827}.service-card p{font-size:.9rem;color:#4b5563;line-height:1.4}@media(max-width:768px){.services-grid{grid-template-columns:1fr}}.faq{padding:4rem 1.5rem}.faq-container{max-width:900px;margin:0 auto}.faq-item{background:#fff;padding:1.5rem;border-radius:16px;margin-bottom:1.5rem;box-shadow:0 10px 25px #00000014;transition:all .3s ease}.faq-item:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000001f}.faq-item h3{font-size:1.1rem;margin-bottom:.5rem;display:flex;align-items:center}.faq-item h3:before{display:none}.faq-item p{color:#4b5563;line-height:1.5}.faq-toggle-btn{display:block;margin:1.5rem auto 0;padding:.7rem 1.5rem;background:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:opacity .2s ease}.faq-toggle-btn:hover{opacity:.8}.schedule{padding:4rem 1.5rem;background:#fff}.schedule-container{max-width:900px;margin:0 auto;text-align:center}.schedule-box{background:#f3f4f6;padding:2rem;border-radius:20px;box-shadow:0 10px 25px #00000014;font-size:1.1rem;color:#374151}.contact{padding:4rem 1.5rem 5rem;display:flex;justify-content:center}.contact-card{max-width:900px;width:100%;background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 24px 60px #0f172a1f;display:grid;gap:2rem}.contact-info p{display:flex;align-items:center;gap:.4rem;margin:.35rem 0;color:#4b5563;line-height:1.4}.address-line{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:0}.address-content{display:flex;flex-direction:column;line-height:1.3;white-space:normal;overflow-wrap:break-word}@media(max-width:600px){.address-content{white-space:normal;word-break:break-word}}.contact-icon svg{width:22px;height:22px;color:#60a5fa}.phone-line{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:0}.phone-content{display:flex;flex-direction:column;line-height:1.3;white-space:normal}.phone-content strong,.phone-content{word-break:normal;overflow-wrap:break-word}.call-cost{font-size:.85rem;opacity:.8;margin-top:.25rem;display:block}@media(max-width:600px){.phone-content{white-space:normal;word-break:break-word}}.contact-form h3{margin-top:0;margin-bottom:1rem;font-size:1.3rem;color:#111827}.contact-form label{display:block;font-size:.9rem;color:#374151;margin-bottom:.9rem}.contact-form input,.contact-form textarea{width:100%;margin-top:.35rem;padding:.7rem .8rem;border-radius:.75rem;border:1px solid #e5e7eb;font-size:.95rem;font-family:inherit;outline:none;transition:border .15s ease,box-shadow .15s ease;background:#f9fafb}.contact-form input:focus,.contact-form textarea:focus{border-color:#111827;box-shadow:0 0 0 1px #11182710;background:#fff}.contact-form button{margin-top:.5rem;padding:.8rem 1.8rem;border-radius:999px;border:none;background:#111827;color:#f9fafb;font-weight:600;cursor:pointer;font-size:.95rem;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;box-shadow:0 14px 30px #0f172a40}.footer{text-align:center;padding:2rem 1rem;color:#4b5563;font-size:.9rem}.footer-menu{margin-top:3rem;margin-bottom:1rem;text-align:center}.footer-menu ul{list-style:none;padding:0;margin:0 auto 1rem;display:flex;justify-content:center;gap:1.5rem}.footer-menu a,.footer-menu button{text-decoration:none;color:#4b5563;font-weight:500;font-size:.95rem;opacity:.8;transition:opacity .2s ease;background:none;border:none;cursor:pointer}.footer-menu a:hover,.footer-menu button:hover{opacity:1}.back-to-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid #60A5FA;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:transform .2s ease;z-index:999}.back-to-top:hover{transform:scale(1.1)}.back-to-top svg{width:24px;height:24px;color:#60a5fa}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999}.modal-box{background:#fff;width:90%;max-width:700px;padding:2rem;border-radius:12px;position:relative;max-height:80vh;overflow-y:auto}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.3rem;cursor:pointer}.modal-tabs{display:flex;gap:1rem;margin-bottom:1.5rem}.modal-tabs button{padding:.5rem 1rem;border:none;background:#e5e7eb;border-radius:6px;cursor:pointer}.modal-tabs .active{background:#111827;color:#fff}.modal-content p{line-height:1.6;color:#4b5563}.fade-up{opacity:0;transform:translateY(20px);animation:fadeUp .9s ease-out forwards}.fade-delay-1{animation-delay:.15s}.fade-delay-2{animation-delay:.3s}.fade-delay-3{animation-delay:.45s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.hero h1{font-size:3.5rem}.contact-card{grid-template-columns:1.1fr 1.2fr;align-items:flex-start}}.service-icon{width:42px;height:42px;margin-bottom:.8rem;display:flex;align-items:center;justify-content:center}.service-icon svg{width:42px;height:42px;color:#60a5fa;transition:transform .25s ease}.service-card strong{transition:color .25s ease}.service-card:hover strong{color:#1e3a8a}.service-card:hover .service-icon svg{transform:scale(1.12)}.service-card{border:1px solid #e5e7eb}@media(max-width:768px){.service-card{text-align:center}.service-icon{margin-left:auto;margin-right:auto}}.section-nav{background:#fff;padding:1rem 0;display:flex;justify-content:center;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}.section-nav ul{list-style:none;display:flex;gap:2rem;margin:0;padding:0}.section-nav a,.section-nav button{text-decoration:none;color:#111827;font-weight:600;background:none;border:none;cursor:pointer;font-size:1rem}.section-nav a:hover,.section-nav button:hover{opacity:.7}.contact-route{margin-top:.5rem;margin-left:2rem}.route-btn{display:inline-block;padding:.6rem 1.2rem;background:#111827;color:#fff;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;transition:opacity .2s ease,transform .2s ease;box-shadow:0 6px 18px #00000026}.route-btn:hover{opacity:.85;transform:translateY(-2px)}
