/* ============================================================
   DIVINITY | responsive.css — home-page media queries
   Extracted verbatim from the original inline styles.
   ============================================================ */

              @media (max-width: 1024px) {
                  .process-grid {
                      grid-template-columns: repeat(2, 1fr);
                  }
              }

              @media (max-width: 768px) {
                  .header-nav {
                      display: none;
                  }

                  .header-cta {
                      display: none;
                  }

                  .header-mobile-toggle {
                      display: block;
                  }

                  .hero-main {
                      flex-direction: column;
                      gap: 24px;
                  }

                  .hero-labels {
                      flex-direction: row;
                      flex-wrap: wrap;
                      padding-top: 0;
                      gap: 16px;
                  }

                  .about-card,
                  .contact-card,
                  .specimen-inner {
                      grid-template-columns: 1fr;
                  }

                  .work-grid {
                      grid-template-columns: 1fr;
                  }

                  .process-grid {
                      grid-template-columns: 1fr;
                  }

                  .quote-inner {
                      flex-direction: column;
                      align-items: flex-start;
                  }

                  .form-grid {
                      grid-template-columns: 1fr;
                  }
              }

              @media (max-width: 640px) {
                  .hero {
                      padding: 120px 20px 40px;
                      min-height: auto;
                  }

                  .hero-headline {
                      font-size: 42px;
                  }

                  .about,
                  .contact {
                      padding: 80px 16px 60px;
                  }

                  .about-card,
                  .contact-card {
                      padding: 20px;
                      border-radius: var(--radius-md);
                  }

                  .about-heading,
                  .contact-heading {
                      font-size: 28px;
                  }

                  .section-title {
                      font-size: 32px;
                  }

                  .process-col {
                      border-top: 1px solid var(--border-light);
                      padding-top: 16px;
                  }

                  .quote-text {
                      font-size: 36px;
                  }

                  .specimen-giant {
                      font-size: 100px;
                  }

                  .work,
                  .process,
                  .quote,
                  .specimen {
                      padding: 48px 20px;
                  }

                  .work-card-top {
                      min-height: 160px;
                      padding: 24px;
                  }

                  .work-card-bottom {
                      padding: 16px 20px;
                  }

                  .footer {
                      flex-direction: column;
                      gap: 16px;
                      text-align: center;
                  }

                  .hero-meta {
                      flex-direction: column;
                      gap: 12px;
                      align-items: flex-start;
                  }

                  .section-header {
                      flex-direction: column;
                      align-items: flex-start;
                      gap: 12px;
                  }

                  .form-actions {
                      flex-direction: column;
                      gap: 20px;
                      align-items: flex-start;
                  }
              }

              @media (min-width: 769px) {
                  .mobile-menu {
                      display: none !important;
                  }
              }

              /* Scroll reveal */
              .reveal {
                  opacity: 0;
                  transform: translateY(30px);
                  transition: opacity 0.7s ease, transform 0.7s ease;
              }

              .reveal.visible {
                  opacity: 1;
                  transform: translateY(0);
              }

              /* ── Tech Marquee ── */
              .tech-marquee {
                  background: linear-gradient(90deg, #1e1917 0%, #2a1f1a 50%, #1e1917 100%);
                  border-top: 1px solid rgba(184, 92, 56, 0.25);
                  border-bottom: 1px solid rgba(184, 92, 56, 0.25);
                  padding: 28px 0;
                  overflow: hidden;
                  position: relative;
              }

              .tech-marquee::before,
              .tech-marquee::after {
                  content: "";
                  position: absolute;
                  top: 0;
                  width: 80px;
                  height: 100%;
                  z-index: 2;
                  pointer-events: none;
              }

              .tech-marquee::before {
                  left: 0;
                  background: linear-gradient(90deg, #1e1917, transparent);
              }

              .tech-marquee::after {
                  right: 0;
                  background: linear-gradient(270deg, #1e1917, transparent);
              }

              .marquee-track {
                  display: flex;
                  align-items: center;
                  gap: 52px;
                  width: max-content;
                  animation: marquee 24s linear infinite;
              }

              .marquee-item {
                  display: flex;
                  align-items: center;
                  gap: 10px;
                  font-size: 0.92rem;
                  font-weight: 600;
                  letter-spacing: 0.5px;
                  white-space: nowrap;
                  flex-shrink: 0;
                  transition: transform 0.2s ease;
              }

              .marquee-item:hover {
                  transform: scale(1.08);
              }

              .marquee-item svg {
                  width: 20px;
                  height: 20px;
              }

              /* Tech brand colors */
              .marquee-item[data-tech="html"]  { color: #E34F26; }
              .marquee-item[data-tech="css"]   { color: #1572B6; }
              .marquee-item[data-tech="js"]    { color: #F7DF1E; }
              .marquee-item[data-tech="python"]{ color: #3776AB; }
              .marquee-item[data-tech="django"]{ color: #44B78B; }
              .marquee-item[data-tech="next"]  { color: #ffffff; }
              .marquee-item[data-tech="react"] { color: #61DAFB; }
              .marquee-item[data-tech="node"]  { color: #339933; }
              .marquee-item[data-tech="postgres"]{ color: #336791; }
              .marquee-item[data-tech="github"]{ color: #ffffff; }
              .marquee-item[data-tech="git"]   { color: #F05032; }
              .marquee-item[data-tech="linux"] { color: #FCC624; }
              .marquee-item[data-tech="supabase"]{ color: #3ECF8E; }

              @keyframes marquee {
                  0% { transform: translateX(0); }
                  100% { transform: translateX(-50%); }
              }

              /* ============================================================
                 ADDED: finer breakpoints for full device coverage
                 (320px small Android → tablets). Additive only; the
                 existing 1024/768/640 rules above are untouched.
                 ============================================================ */

              /* Tablet / small-laptop: tighten the two-column work grid gap */
              @media (max-width: 900px) {
                  .work-grid {
                      gap: 28px;
                  }
              }

              /* Below 640: reduce the work grid gutter so single-column
                 cards keep comfortable spacing without overflow */
              @media (max-width: 640px) {
                  .work-grid {
                      gap: 24px;
                  }

                  .about,
                  .contact {
                      padding-left: 16px;
                      padding-right: 16px;
                  }
              }

              /* Very small Android phones (320px–400px) */
              @media (max-width: 400px) {
                  .hero {
                      padding: 110px 16px 32px;
                  }

                  .hero-headline {
                      font-size: 36px;
                  }

                  .hero-labels {
                      gap: 10px;
                  }

                  .section-title {
                      font-size: 28px;
                  }

                  .about-heading,
                  .contact-heading {
                      font-size: 26px;
                  }

                  .about-card,
                  .contact-card {
                      padding: 18px;
                  }

                  .work,
                  .process,
                  .quote,
                  .specimen {
                      padding-left: 16px;
                      padding-right: 16px;
                  }

                  .work-card-body {
                      padding: 20px 20px 24px;
                  }

                  .specimen-giant {
                      font-size: 72px;
                  }

                  .header {
                      padding: 10px 12px;
                  }

                  .header-inner {
                      padding: 8px 16px;
                  }
              }
