/* =========================
   WESTSIDE DATA — CORE THEME
   ========================= */

:root {
    --ws-teal: #00d4d4;
    --ws-purple: #6a0dad;
    --ws-navy: #0a1d37;
    --ws-gradient: linear-gradient(135deg, var(--ws-teal), var(--ws-purple));
}

/* ---------- Base ---------- */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 0;
    background: #f8f9fa;
}

/* ---------- Containers ---------- */
.content-container {
    max-width: 1400px;
    padding-top: 4rem;
}

/* ---------- Hero ---------- */
.hero-fullwidth {
    width: 100%;
}

.bg-gradient-primary {
    background: var(--ws-gradient) !important;
}

/* ---------- Text ---------- */
.text-navy {
    color: var(--ws-navy) !important;
}

/* ---------- Buttons ---------- */
.btn-primary {
    background: var(--ws-purple);
    border-color: var(--ws-purple);
}

.btn-primary:hover {
    background: #55089b;
}

/* ---------- Icons ---------- */
.service-icon {
    font-size: 3.5rem;
    background: var(--ws-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ---------- Sections ---------- */
section {
    padding: 90px 0;
}

/* ---------- Cards ---------- */
.case-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.case-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

/* ---------- Footer ---------- */
footer.bg-dark {
    background: var(--ws-navy) !important;
}
/* Raise hero headline slightly */
.hero-text {
    margin-top: -60px; /* adjust between -40px and -80px to taste */
}
.hero-text {
    margin-top: -60px;
}
/* Lift hero text slightly upward */
.hero-text {
  transform: translateY(-28px);
}
@media (max-width: 992px) {
  .hero-text { transform: translateY(-12px); }
}

/* Hero load animation */
.hero-text {
  opacity: 0;
  transform: translateY(-28px);
  animation: heroFadeSlide 700ms ease-out forwards;
}

@keyframes heroFadeSlide {
  from { opacity: 0; transform: translateY(-16px); }
  to   { opacity: 1; transform: translateY(-28px); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .hero-text { animation: none; opacity: 1; transform: translateY(-28px); }
}


.hero-icon {
  opacity: 0;
  transform: translateY(10px);
  animation: heroIconIn 700ms ease-out 120ms forwards;
}
@keyframes heroIconIn {
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-icon { animation: none; opacity: 1; transform: none; }
}

.case-card {
    cursor: pointer;
}


.avalon-logo-inline {
    width: 96px;
    height: 96px;              /* Force square */
    border-radius: 50%;        /* Perfect circle */
    object-fit: cover;         /* Crop without distortion */
    flex-shrink: 0;
    margin-top: 6px;
    border: 2px solid #e5e7eb; /* Optional subtle ring */
    background-color: #ffffff;
}

/* Mobile-friendly stacking */
@media (max-width: 768px) {
    .avalon-intro {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .avalon-logo-inline {
        margin-bottom: 16px;
    }
}

.avalon-logo-inline {
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

.avalon-logo-inline:hover {
    transform: scale(1.03);
    transition: transform 0.2s ease;
}

