/* responsive.css - Mobile-First Responsive System (Tablet & Mobile Redesign) */

/* ==========================================================================
   GLOBAL RESPONSIVE OVERRIDES (< 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
  /* Fluid sizing and safety overrides */
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  * {
    box-sizing: border-box !important;
  }

  /* Independent Mobile Typography System (prevent scaling desktop values) */
  h1 {
    font-size: clamp(2.5rem, 9vw, 3.5rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
  }

  h2 {
    font-size: clamp(2.2rem, 8vw, 3rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
  }

  h3, h4, h5, h6 {
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  p, a, span, label, input, textarea, button {
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-height: 1.8 !important; /* Paragraph line-height 1.8 */
  }

  /* Fluid images */
  img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

  /* Layout and Spacing */
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 24px !important; /* padding-inline 24px */
    box-sizing: border-box !important;
  }

  section, .section {
    padding: 80px 0 !important; /* section padding 80px */
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Standard page header spacing below navbar */
  .services-page-header, 
  .work-page-header, 
  .pricing-page-header, 
  .contact-section {
    padding-top: 130px !important;
  }

  /* ==========================================================================
     NAVBAR (Height: 72px, Full-screen Overlay, Reduced link gaps)
     ========================================================================== */
  .header {
    width: 100% !important;
    max-width: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
    height: calc(72px + env(safe-area-inset-top, 0px)) !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    padding-bottom: 0 !important;
    padding-left: calc(24px + env(safe-area-inset-left, 0px)) !important;
    padding-right: calc(24px + env(safe-area-inset-right, 0px)) !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45) !important;
    display: flex !important;
    align-items: center !important;
    background: rgba(3, 7, 18, 0.92) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    margin-top: 0 !important;
  }

  .nav-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    height: 72px !important;
    margin-top: 0 !important;
  }

  .logo {
    display: flex !important;
    align-items: center !important;
    font-size: 1.25rem !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  /* Full screen overlay menu */
  .nav-menu {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    width: 100% !important;
    height: 100vh !important;
    background: rgba(3, 7, 18, 0.78) !important; /* Glass midnight overlay */
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.05) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 2rem !important; /* Perfect spacing */
    z-index: 99 !important;
    padding-top: calc(3rem + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: calc(2rem + env(safe-area-inset-left, 0px)) !important;
    padding-right: calc(2rem + env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box !important;
    transition: right 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow-y: auto !important;
  }

  .nav-menu.active {
    right: 0 !important;
  }

  .nav-menu li {
    width: 100% !important;
    text-align: center !important;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .nav-menu.active li {
    opacity: 1;
    transform: translateY(0);
  }

  /* Stagger links fade-in animation */
  .nav-menu.active li:nth-child(1) { transition-delay: 0.08s; }
  .nav-menu.active li:nth-child(2) { transition-delay: 0.12s; }
  .nav-menu.active li:nth-child(3) { transition-delay: 0.16s; }
  .nav-menu.active li:nth-child(4) { transition-delay: 0.2s; }
  .nav-menu.active li:nth-child(5) { transition-delay: 0.24s; }
  .nav-menu.active li:nth-child(6) { transition-delay: 0.28s; }
  .nav-menu.active li:nth-child(7) { transition-delay: 0.32s; }

  .nav-menu .nav-link {
    font-size: 1.6rem !important; /* Large tap targets */
    display: inline-block !important;
    padding: 0.75rem 0 !important;
    color: var(--text-secondary) !important;
    width: auto !important;
    position: relative !important;
    transition: color 0.3s ease, text-shadow 0.3s ease !important;
  }

  .nav-menu .nav-link:hover {
    color: #FFFFFF !important;
  }

  .nav-menu .nav-link.active {
    color: #FFFFFF !important;
    text-shadow: 0 0 12px rgba(59, 130, 246, 0.6) !important;
  }

  .nav-menu .nav-link.active::before {
    content: none !important;
  }

  /* Align navbar buttons correctly without consuming excessive space */
  .nav-menu li.magnetic {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .nav-menu .btn-nav {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 240px !important;
    height: 48px !important;
  }

  .mobile-nav-toggle {
    display: flex !important;
    flex-direction: column !important;
    width: 40px !important;
    height: 40px !important;
    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    z-index: 110 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  .mobile-nav-toggle span {
    display: block !important;
    width: 28px !important; /* Visual width maintained */
    height: 2px !important;
    background: #FFFFFF !important;
    margin: 3px 0 !important; /* Visual spacing via margins */
    transition: var(--transition-fast) !important;
  }

  .mobile-nav-toggle.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
  }
  .mobile-nav-toggle.active span:nth-child(2) {
    opacity: 0 !important;
  }
  .mobile-nav-toggle.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
  }

  /* ==========================================================================
     HOME PAGE HERO
     ========================================================================== */
  .hero.hero-centered {
    display: block !important;
    min-height: auto !important;
    padding-top: 165px !important; /* Increased top padding (+35px) for native breathing room */
    padding-bottom: 90px !important;
  }

  .hero-content-centered {
    text-align: center !important;
    margin: 0 auto !important;
    width: 90% !important; /* Reduced hero content width slightly */
    max-width: 90% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .hero-content-centered .section-label {
    margin-bottom: 24px !important; /* Generous vertical spacing */
  }

  .hero-title-centered {
    text-align: center !important;
    margin: 0 auto 24px auto !important; /* Increased margin */
    font-size: clamp(2.3rem, 9.5vw, 3.4rem) !important; /* Reduced size by 8-10% to prevent awkward wrapping */
    line-height: 0.98 !important; /* Line height 0.95-1.0 */
    letter-spacing: -0.03em !important; /* Optical spacing */
    font-weight: 900 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }

  .hero-description-centered {
    width: 100% !important;
    max-width: 320px !important; /* Limited paragraph width */
    margin: 0 auto 32px auto !important; /* Increased vertical margin */
    text-align: center !important;
    line-height: 1.75 !important; /* Increased line-height around 1.7 */
    opacity: 0.72 !important; /* Faint opacity */
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important; /* Bounded max 5 lines */
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .hero-actions-centered {
    display: flex !important;
    flex-direction: column !important; /* Stacked buttons on mobile */
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 14px !important; /* Clean spacing between buttons */
    margin-bottom: 36px !important;
  }

  /* Force identical button sizes on mobile */
  .hero-actions-centered .btn {
    width: 100% !important;
    max-width: 270px !important;
    height: 58px !important;
    margin: 0 !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  /* Primary Button micro-animations & moving gradient */
  .hero-actions-centered .btn-primary {
    background: linear-gradient(135deg, #6D5EF8, #5B8CFF, #4FAEFF, #6D5EF8) !important;
    background-size: 300% auto !important;
    animation: btnGradientCycle 10s ease infinite !important;
    box-shadow: 0 4px 12px rgba(109, 94, 248, 0.15) !important;
    border: none !important;
    will-change: background-position;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 250ms cubic-bezier(0.25, 1, 0.5, 1), box-shadow 250ms ease !important;
  }

  .hero-actions-centered .btn-primary:active {
    transform: scale(0.97) !important; /* Touch active feedback */
    box-shadow: 0 4px 12px rgba(109, 94, 248, 0.2) !important;
  }

  /* Secondary Button glass refinements */
  .hero-actions-centered .btn-outline {
    background: rgba(255, 255, 255, 0.02) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important; /* Cleaner border */
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.05), 0 0 15px rgba(255, 255, 255, 0.02) !important; /* Inner highlight */
    color: #ffffff !important;
    transition: transform 250ms cubic-bezier(0.25, 1, 0.5, 1), background 250ms ease, box-shadow 250ms ease !important;
  }

  .hero-actions-centered .btn-outline:active {
    transform: scale(0.96) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.08) !important; /* Active glow */
  }

  /* Checklist refinements */
  .hero-indicators {
    margin-top: 1.5rem !important;
    gap: 14px 20px !important;
    max-width: 320px !important;
    justify-content: center !important;
  }

  .hero-indicators span {
    font-size: 0.8rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* ==========================================================================
     ABOUT SECTION
     ========================================================================== */
  .about-grid-home {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  .about-text-home {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .about-text-home h3 {
    font-size: clamp(2.0rem, 8vw, 2.8rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.04em !important;
    max-width: 320px !important;
    text-align: center !important;
    margin-bottom: 1.25rem !important;
  }

  .about-text-home p {
    max-width: 320px !important; /* paragraph width 320px */
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 1.5rem !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important; /* line-height 1.8 */
    color: var(--text-secondary) !important;
  }

  .about-image-wrapper-home {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 28px !important; /* Large image radius 28px */
  }

  .about-image-wrapper-home img {
    border-radius: 28px !important;
  }

  /* ==========================================================================
     SERVICES (Home Grid & Services Page Rebuild)
     ========================================================================== */
  .services-grid-3 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .service-column-3 {
    padding: 2rem 1.5rem !important;
    border-radius: 24px !important; /* Card radius 24px */
    background: rgba(255, 255, 255, 0.01) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* Services Page Mobile Hierarchy Rebuild: Eyebrow -> Title -> Description -> Art Direction -> UI/UX Design -> Image */
  .editorial-showcase {
    gap: 60px !important; /* Section gap 40px-60px, set to 60px */
  }

  .editorial-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
    width: 100% !important;
  }

  .editorial-info {
    order: 1 !important;
    text-align: center !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }

  .services-page-header h1 {
    font-size: clamp(2.4rem, 8vw, 3.2rem) !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
    line-height: 1.05 !important;
  }

  .services-page-header .hero-subtitle {
    max-width: 320px !important;
    line-height: 1.8 !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .editorial-info .project-category {
    font-size: 0.75rem !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 0.25rem !important;
  }

  .services-page-title {
    font-size: clamp(2.2rem, 10vw, 3.2rem) !important; /* Title size: clamp(2.2rem,10vw,3.2rem) */
    line-height: 0.95 !important; /* line-height 0.95 */
    text-align: center !important;
  }

  .services-page-desc {
    max-width: 320px !important; /* Paragraph max-width 320px */
    line-height: 1.8 !important; /* line-height 1.8 */
    text-align: center !important;
    margin: 0 auto !important;
  }

  /* Service Text details (Art Direction & UI/UX Design sub-services) */
  .editorial-info .project-story {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
    margin-top: 1rem !important;
    text-align: center !important;
    width: 100% !important;
  }

  .editorial-info .project-story-block h5 {
    font-size: 0.8rem !important;
    margin-bottom: 0.2rem !important;
    text-align: center !important;
  }

  .editorial-info .project-story-block p {
    max-width: 320px !important; /* Paragraph max-width 320px */
    line-height: 1.8 !important; /* line-height 1.8 */
    text-align: center !important;
    margin: 0 auto !important;
  }

  /* Service Image Wrapper (Always appears AFTER text on mobile, margin-top 40px) */
  .service-editorial-image-wrapper {
    order: 2 !important; /* Image always comes last */
    height: auto !important; /* Image height auto */
    border-radius: 24px !important; /* radius 24px */
    margin-top: 40px !important; /* margin-top 40px */
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    aspect-ratio: auto !important;
  }

  .service-editorial-image-wrapper img {
    border-radius: 24px !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* ==========================================================================
     WORK PAGE (Order: Tags -> Title -> Description -> Metrics -> Image LAST)
     ========================================================================== */
  .work-editorial-showcase .editorial-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important; /* Reduced vertical gap spacing */
    width: 100% !important;
  }

  .work-editorial-showcase .editorial-info {
    order: 2 !important; /* Content details display below the image on mobile */
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    text-align: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .work-editorial-showcase .project-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important; /* Tags wrap gap 8px */
    justify-content: center !important;
    margin-bottom: 0.25rem !important;
    width: 100% !important;
  }

  .work-editorial-showcase .project-title {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    text-align: center !important;
    margin-bottom: 0.25rem !important;
  }

  .work-editorial-showcase .project-desc {
    max-width: 320px !important;
    line-height: 1.8 !important; /* line-height 1.8 */
    text-align: center !important;
    margin: 0 auto !important;
  }

  /* Hide story detail cards on work cards for clean mobile scannability */
  .work-editorial-showcase .project-story {
    display: none !important;
  }

  /* Single Column Metrics Grid */
  .work-editorial-showcase .metrics-row {
    display: grid !important;
    grid-template-columns: 1fr !important; /* single column metrics */
    gap: 16px !important; /* gap 16px */
    width: 100% !important;
    max-width: 320px !important;
    margin: 0.5rem auto 0 auto !important;
  }

  .work-editorial-showcase .metric-item {
    width: 100% !important;
    padding: 1rem !important;
    border-radius: 16px !important;
  }

  /* Work Page Card Image Wrapper (Mobile: Image ABOVE text, height 240px, radius 24px) */
  .work-editorial-showcase .editorial-image-wrapper {
    order: 1 !important; /* Image ABOVE text */
    width: 100% !important;
    aspect-ratio: 16/10 !important; /* Strict 16:10 aspect ratio for full homepages */
    height: auto !important;
    border-radius: 20px !important; /* radius 20px */
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55), 0 0 15px rgba(109, 94, 248, 0.15) !important; /* Lighting glow */
    margin: 1.5rem 0 !important;
    animation: browserFloatAnim 6s ease-in-out infinite !important; /* Floating animation */
  }

  .work-editorial-showcase .editorial-image-wrapper img {
    border-radius: 24px !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* ==========================================================================
     PRICING PAGE (Vertical Cards Stack & FAQ)
     ========================================================================== */
  .pricing-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important; /* Gap between cards: 32px */
    width: 100% !important;
  }

  .pricing-card {
    border-radius: 28px !important; /* Cards and forms radius 28px */
    padding: 36px !important; /* Increased Card Padding: 36px */
    max-width: 100% !important;
  }

  .pricing-price {
    font-size: 4rem !important; /* Price size: 4rem */
  }

  .faq-accordion-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
  }

  .faq-item {
    border-radius: 28px !important; /* radius 28px */
  }

  /* ==========================================================================
     CONTACT PAGE & FORM (Single Column Stack: Heading -> Form -> Contact Cards)
     ========================================================================== */
  .contact-section {
    padding-bottom: 40px !important;
    margin-bottom: 80px !important;
    min-height: auto !important;
    display: block !important;
  }

  /* Flatten structure using display contents so form is ordered before details */
  .contact-grid-2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    width: 100% !important;
  }

  .contact-info-side {
    display: contents !important; /* Direct children become flex items of contact-grid-2 */
  }

  /* Visual Order 1: Heading Area */
  .contact-info-side .section-label {
    order: 0 !important;
    text-align: center !important;
    margin-bottom: 0.5rem !important;
  }

  .contact-heading {
    order: 1 !important;
    font-size: clamp(2.8rem, 10vw, 4rem) !important;
    text-align: center !important;
    line-height: 1.15 !important;
    margin-bottom: 0.5rem !important;
  }

  .contact-info-side .hero-subtitle {
    order: 2 !important;
    text-align: center !important;
    margin: 0 auto 1.5rem auto !important;
    max-width: 320px !important;
  }

  /* Visual Order 2: Form Wrapper (Form first) */
  .contact-form-side {
    order: 3 !important;
    width: 100% !important;
  }

  .premium-glass-form-card {
    padding: 24px !important;
    border-radius: 28px !important; /* Cards and forms radius 28px */
  }

  .form-row-2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .premium-glass-input {
    height: 60px !important;
    border-radius: 12px !important;
  }

  .premium-glass-textarea {
    min-height: 150px !important;
  }

  /* Visual Order 3: Contact Cards List (Contact cards below) */
  .contact-details-list {
    order: 4 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 1rem !important;
  }

  .contact-detail-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem 1.5rem !important;
    height: auto !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Floating WhatsApp button repositioned lower to prevent overlaps */
  .whatsapp-float {
    bottom: 100px !important; /* bottom 100px */
    right: 24px !important; /* right 24px */
    width: 64px !important;
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    z-index: 1000 !important;
    border-radius: 50% !important;
  }

  /* ==========================================================================
     CTA & FOOTER
     ========================================================================== */
  .final-cta-section {
    padding: 80px 24px !important;
    text-align: center !important;
  }

  .final-cta-title {
    font-size: clamp(2rem, 7vw, 3rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 2rem !important;
    text-align: center !important;
  }

  .footer-content {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1.5rem !important;
    text-align: center !important;
  }

  .footer-socials {
    justify-content: center !important;
    width: 100% !important;
    gap: 1.5rem !important;
  }
}

/* ==========================================================================
     MOBILE PORTRAIT WIDTHS (< 768px)
     ========================================================================== */
@media (max-width: 768px) {
  /* 1. Header & Navigation */
  .header {
    height: calc(72px + env(safe-area-inset-top, 0px)) !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    padding-bottom: 0 !important;
    padding-left: calc(24px + env(safe-area-inset-left, 0px)) !important;
    padding-right: calc(24px + env(safe-area-inset-right, 0px)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 0 !important;
    top: 0 !important;
    transform: none !important;
  }

  .nav-container {
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  .logo {
    display: flex !important;
    align-items: center !important;
    font-size: 1.25rem !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  .mobile-nav-toggle {
    display: flex !important;
    flex-direction: column !important;
    width: 40px !important;
    height: 40px !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 0 !important;
    transform: none !important;
    border: none !important;
    background: transparent !important;
    cursor: pointer !important;
    z-index: 110 !important;
    padding: 0 !important;
  }

  .mobile-nav-toggle span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #FFFFFF !important;
    margin: 3px 0 !important;
    transition: var(--transition-fast) !important;
  }

  /* Mobile Menu Refinements (Apple-like compact overlay) */
  .nav-menu {
    gap: 1.2rem !important;
    padding-top: calc(4.5rem + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px)) !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .nav-menu .nav-link {
    font-size: 1.35rem !important;
    padding: 0.4rem 0 !important;
  }

  .nav-menu li.magnetic {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .nav-menu .btn-nav {
    max-width: 200px !important;
    height: 44px !important;
    font-size: 0.9rem !important;
  }

  /* 2. Hero Section */
  .hero.hero-centered {
    display: block !important;
    min-height: auto !important;
    padding-top: 140px !important;
    padding-bottom: 80px !important;
  }

  .hero-content-centered {
    text-align: center !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-title-centered {
    text-align: center !important;
    margin: 0 auto 1.5rem auto !important;
    font-size: clamp(2.6rem, 10.5vw, 3.8rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    font-weight: 900 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }

  .hero-description-centered {
    max-width: 340px !important;
    margin: 0 auto 2rem auto !important;
    text-align: center !important;
    line-height: 1.6 !important;
    font-size: 0.95rem !important;
  }

  /* 3. CTA Buttons Alignment */
  .hero-actions-centered {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .hero-actions-centered .btn {
    width: 100% !important;
    max-width: 280px !important; /* Premium narrow buttons */
    height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.95rem !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  /* Ensure text gradient acts inline on mobile and prevent clipping */
  .text-gradient, .text-gradient-purple {
    display: inline-block !important;
    padding: 0.12em 0.18em !important;
    margin: -0.12em -0.18em !important;
    line-height: 1.35 !important;
  }

  /* ==========================================================================
     WORK & SERVICES PAGE MOBILE OPTIMIZATIONS
     ========================================================================== */
  .work-grid, 
  .editorial-showcase {
    display: flex !important;
    flex-direction: column !important;
    gap: 36px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .project-card, 
  .editorial-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    padding: 24px !important; /* Premium 20px-24px internal padding */
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.015) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 24px !important;
    box-sizing: border-box !important;
  }

  .project-image, 
  .editorial-image-wrapper,
  .service-editorial-image-wrapper {
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 20px !important;
    padding: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  }

  .project-image img, 
  .editorial-image-wrapper img,
  .service-editorial-image-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 20px !important;
    transform: none !important;
  }

  .editorial-info {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .project-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important; /* Premium 10px tag gap */
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 0 4px 0 !important;
  }

  .tag-badge {
    padding: 0.3rem 0.75rem !important;
    font-size: 0.7rem !important;
  }

  .project-title, 
  .services-page-title {
    font-size: clamp(1.8rem, 6.5vw, 2.35rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    margin: 0 !important;
    font-weight: 800 !important;
  }

  .project-description, 
  .project-desc, 
  .services-page-desc {
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: var(--text-secondary) !important;
    max-width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
  }

  /* Remove max-width: 320px restrictions and hardcoded widths from hero headers and descriptions */
  .services-page-header h1,
  .services-page-header .hero-subtitle,
  .contact-info-side .hero-subtitle,
  .about-text-home h3,
  .about-text-home p {
    max-width: 100% !important;
  }

  .project-story {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 4px !important;
    text-align: left !important;
  }

  .project-story-block {
    text-align: left !important;
    width: 100% !important;
  }

  .project-story-block h5 {
    text-align: left !important;
    font-size: 0.75rem !important;
    margin-bottom: 4px !important;
  }

  .project-story-block p {
    max-width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
    font-size: 0.88rem !important;
    line-height: 1.6 !important;
  }

  .metrics-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
  }

  .metric-item {
    width: 100% !important;
    padding: 12px 8px !important;
    border-radius: 12px !important;
    text-align: center !important;
  }

  .metric-item p:first-child {
    font-size: 1.35rem !important;
    margin-bottom: 2px !important;
  }

  .metric-item p:last-child {
    font-size: 0.65rem !important;
  }

  /* ==========================================================================
     PRICING PAGE MOBILE OVERRIDES
     ========================================================================== */
  .pricing-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
    margin-top: 2.5rem !important;
  }

  .pricing-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 20px !important;
  }

  .pricing-price {
    font-size: clamp(2.5rem, 8vw, 3.2rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  .pricing-price span {
    font-size: 0.95rem !important;
  }

  .pricing-features-list {
    margin-top: 1.25rem !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  .pricing-features-list li {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }

  .pricing-card .btn {
    width: 100% !important;
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 1.5rem !important;
  }

  /* ==========================================================================
     CONTACT PAGE MOBILE OVERRIDES
     ========================================================================== */
  .contact-grid,
  .contact-grid-2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    width: 100% !important;
  }

  .contact-card, 
  .contact-detail-card, 
  .premium-glass-form-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px !important; /* Premium 16px-20px internal padding */
    border-radius: 20px !important;
    box-sizing: border-box !important;
    height: auto !important;
  }

  .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .premium-glass-input, 
  .custom-select-trigger {
    height: 56px !important;
    border-radius: 14px !important; /* Premium 14px border-radius */
    font-size: 0.95rem !important;
    padding: 0 1rem !important;
  }

  .custom-select-options {
    border-radius: 14px !important;
  }

  .premium-glass-textarea {
    min-height: 120px !important;
    border-radius: 14px !important;
    padding: 1rem !important;
    font-size: 0.95rem !important;
  }

  .btn-submit-premium-v5 {
    width: 100% !important;
    height: 56px !important;
    border-radius: 14px !important;
  }

  /* ==========================================================================
     CTA BUTTONS MOBILE OVERRIDES
     ========================================================================== */
  .final-cta-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .final-cta-actions .btn {
    width: 100% !important;
    height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  /* Floating Widgets Mobile Spacing Refinements */
  .whatsapp-float {
    bottom: 110px !important; /* Move upward to prevent overlap with footer/cards */
    right: 20px !important;
    width: 50px !important;
    height: 50px !important;
    font-size: 22px !important;
    z-index: 1000 !important;
  }

  /* Compact Mobile Suman AI Concierge overrides */
  #suman-ai-widget {
    display: block !important;
    bottom: 20px !important;
    right: 20px !important;
    z-index: 10000 !important;
  }

  #suman-ai-widget .ai-fab {
    width: auto !important;
    height: 40px !important;
    border-radius: 20px !important;
    padding: 0 14px !important;
    background: rgba(3, 7, 18, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 12px rgba(59, 130, 246, 0.1) !important;
  }

  #suman-ai-widget .ai-fab-logo {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
  }

  #suman-ai-widget .ai-chat-window {
    width: calc(100vw - 32px) !important;
    max-width: 360px !important;
    height: 480px !important;
    bottom: 56px !important;
    right: 0 !important;
    border-radius: 20px !important;
  }


  /* Safe padding-bottom for footer to clear floating widgets */
  .footer {
    padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* ==========================================================================
     COMPACT MOBILE CONTAINER OVERRIDES
     ========================================================================== */
  @media (max-width: 480px) {
    .container {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }
  }
}

/* ==========================================================================
     COMPACT MOBILE Breakpoints
     ========================================================================== */
@media (max-width: 390px) {
  .hero-title-centered {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 360px) {
  .hero-title-centered {
    font-size: 2.35rem !important;
  }
}

  @media (max-width: 320px) {
  .hero-title-centered {
    font-size: 2.2rem !important;
  }
  .hero-actions-centered .btn {
    max-width: 240px !important;
  }
}

/* Force header logo centering on mobile viewports (overriding space-between !important) */
@media (max-width: 768px) {
  .header .nav-container {
    justify-content: center !important;
  }

  /* Center the Contact Page header details on mobile devices */
  .contact-info-side .section-label {
    display: block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: fit-content !important;
  }

  .contact-heading {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    font-size: clamp(3.2rem, 11.5vw, 4.5rem) !important; /* Increased heading size */
  }

  .contact-info-side .hero-subtitle {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    max-width: 320px !important;
  }

  /* Decrease contact page top padding on mobile */
  .contact-section {
    padding-top: 105px !important;
  }

  /* Increase logo size in mobile navigation header */
  .header .logo {
    font-size: 1.45rem !important; /* Increased mobile logo size */
  }
}
