@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --accent: #ff7a1f; --blue: #0b4f85; }

html, body { overflow-x: hidden; }

body { font-family: 'Inter', sans-serif; }
h1, h2 { font-family: 'Space Grotesk', sans-serif; }

.gallery { cursor: pointer; transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.gallery:hover { transform: scale(1.05); }

.modal-content { animation: modalPop 0.5s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes modalPop { from { opacity: 0; transform: scale(0.95) translateY(40px); } to { opacity: 1; transform: scale(1) translateY(0); } }

.hero-slide { animation: kenBurns 22s ease infinite alternate; }
@keyframes kenBurns { from { transform: scale(1.08); } to { transform: scale(1.15); } }

/* MARQUEE - FAST ON MOBILE */
.marquee {
    overflow: hidden;
    width: 100%;
    padding: 20px 0;
}

.marquee-content {
    display: flex;
    gap: 24px;
    animation: marquee 30s linear infinite;
    will-change: transform;
    backface-visibility: hidden;
}

.marquee-content:hover { animation-play-state: paused; }

@keyframes marquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }

@media (max-width: 768px) { .marquee-content { animation-duration: 20s; } }

.review-card {
    background: white;
    color: var(--blue);
    padding: 20px 24px;
    border-radius: 20px;
    min-width: 290px;
    flex-shrink: 0;
    box-shadow: 0 10px 25px -10px rgba(0,0,0,0.1);
    font-size: 15.5px;
    line-height: 1.4;
}

/* HERO */
#hero-slides {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

/* ULTRA-THIN NAV */
nav { background: var(--blue)/95; }

/* CONTACT FORM */
.contact-wrapper {
    max-width: 620px;
    margin: 0 auto;
    padding: 48px;
    border-radius: 28px;
    background: rgba(255,255,255,0.95);
    box-shadow: 0 25px 60px -15px rgba(0,0,0,0.35);
    color: var(--blue);
}

.form-group { margin-bottom: 24px; }
.form-label { display: block; font-size: 15px; font-weight: 600; color: #ff7a1f; margin-bottom: 8px; }
.form-input {
    width: 100%; padding: 16px 20px; border-radius: 14px; border: 2px solid #e5e7eb;
    background: white; color: var(--blue); font-size: 16px;
}
.form-input:focus { border-color: #ff7a1f; box-shadow: 0 0 0 4px rgba(255,122,31,0.2); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.submit-btn {
    background: linear-gradient(135deg, #ff7a1f, #ff9a3c); color: white;
    padding: 20px; border-radius: 9999px; font-size: 19px; font-weight: 700; width: 100%;
}
.submit-btn:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -15px #ff7a1f; }

/* FLOATING CALL BUTTON */
.call-btn {
    position: fixed; bottom: 90px; right: 30px; background: #ff7a1f; color: white;
    padding: 14px 24px; border-radius: 9999px; font-size: 16px; font-weight: 700;
    box-shadow: 0 10px 30px rgba(255,122,31,0.4); z-index: 99999; display: flex;
    align-items: center; gap: 8px; text-decoration: none;
}
.call-btn:hover { transform: scale(1.08); box-shadow: 0 15px 35px rgba(255,122,31,0.5); }