:root {
  --bg: #fafbff;
  --bg-elev: #ffffff;
  --text: #101828;
  --muted: #667085;
  --primary: #1a73e8;
  --accent: #16a34a;
  --glow: 0 0 0 rgba(26, 115, 232, 0.0);
  --radius: 16px;
  --radius-sm: 12px;
  --radius-lg: 24px;
  --shadow-1: 0 10px 30px rgba(16, 24, 40, 0.08);
  --shadow-2: 0 30px 60px rgba(16, 24, 40, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Scroll progress bar removed */

.container { width: min(1100px, 92%); margin-inline: auto; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  background: var(--bg-elev);
  color: var(--text);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
}
.skip-link:focus { left: 12px; top: 12px; z-index: 1000; }

.site-header {
  position: sticky;
  top: 0;
  backdrop-filter: saturate(140%) blur(8px);
  background: color-mix(in oklab, var(--bg) 92%, transparent);
  border-bottom: none;
  z-index: 50;
}
.nav { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 12px; }
.back-arrow { 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  color: var(--text); 
  text-decoration: none; 
  padding: 8px; 
  border-radius: 8px; 
  transition: all 0.2s ease;
  margin-right: 16px;
}
.back-arrow:hover { 
  background: rgba(16, 24, 40, 0.05); 
  transform: translateX(-2px);
}

.project-header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 24px;
}

.project-header .back-arrow {
  position: absolute;
  left: 0;
  margin-right: 0;
  flex-shrink: 0;
}

.project-header .project-detail-title {
  margin: 0;
}
.logo { font-weight: 700; color: var(--text); text-decoration: none; letter-spacing: 0.3px; font-size: 20px; }
.nav-links { display: flex; gap: 8px; padding: 0; margin: 0; list-style: none; }
.nav a { color: var(--text); text-decoration: none; font-weight: 600; }
.nav a:hover { opacity: 1; }

/* Unified pill buttons for nav links (My Work + Get in Touch) */
.nav .nav-links a[data-nav] {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 9px 16px; border-radius: 999px;
  background: transparent;
  color: #0f172a;
  border: none;
  position: relative;
  overflow: visible;
  min-width: 100px;
  text-align: center;
  font-weight: 500;
}

/* Left-to-right line animation for My Work button */
.nav .nav-links a[data-nav]:first-child::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: #008B8B;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.nav .nav-links a[data-nav]:first-child:hover::before,
.nav .nav-links a[data-nav]:first-child.active::before {
  width: 60%;
}

/* Line animation for Get in Touch button */
.nav .nav-links a[data-nav]:last-child::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: #008B8B;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.nav .nav-links a[data-nav]:last-child:hover::before,
.nav .nav-links a[data-nav]:last-child.active::before {
  width: 60%;
}

/* Make previous CTA look identical */
.button.cta { all: unset; }
.button.cta { display: inline-flex; align-items: center; justify-content: center; }
.button.cta { padding: 0; }
.button.cta:hover { transform: none; }

.hero { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 40px 0 56px; position: relative; }
.hero-copy .eyebrow { color: #000; letter-spacing: 0.08em; text-transform: none; font-size: 12px; font-weight: 700; margin: 0 0 28px; display: inline-block; }
.hero-copy .eyebrow { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-weight: 600; letter-spacing: 0.06em; }
.hero-title {
  font-size: clamp(30px, 4.6vw, 48px);
  line-height: 1.18;
  margin: 0 0 10px;
  color: var(--text);
  font-weight: 300;
  letter-spacing: 0em;
  max-width: 40ch;
}
.hero-sub { color: var(--muted); font-size: 18px; max-width: 56ch; }
.hero-cta { display: flex; gap: 12px; margin-top: 20px; }
.hero em.accent { position: relative; font-style: italic; color: #008B8B; }
.hero em.accent::after { content: none; }

.button { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 12px; text-decoration: none; font-weight: 700; border: 1px solid rgba(255,255,255,0.1); transition: transform .2s ease, box-shadow .2s ease; }
.button.primary { background: linear-gradient(135deg, var(--primary), #a07cff); color: #0b0c10; box-shadow: 0 10px 20px rgba(124, 140, 255, 0.35); }
.button.ghost { background: rgba(255,255,255,0.04); color: var(--text); }
.button:hover { transform: translateY(-2px); }

.hero-art { display: none; }

.about { display: none; }
.about-card { background: var(--bg-elev); border: 1px solid rgba(16,24,40,0.06); padding: 28px; border-radius: var(--radius-lg); box-shadow: var(--shadow-1); }
.about-card h2 { margin: 0 0 8px; }
.about-card p { color: var(--muted); margin: 0 0 14px; }
.about-tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.about-tags li { padding: 8px 10px; border-radius: 10px; background: #f2f4f7; border: 1px solid rgba(16,24,40,0.06); color: var(--text); font-weight: 600; font-size: 12px; }

.section-head { display: none; }

.work { padding: 8px 0 24px; }
.projects { display: grid; grid-template-columns: 1fr; gap: 64px; margin-top: 16px; }

/* Mobile-first responsive improvements - iPhone 15/16 and similar devices */
@media (max-width: 430px) {
  /* Container adjustments for mobile */
  .container { 
    width: 98%; 
    padding: 0 8px;
  }
  
  /* Navigation improvements */
  .nav { 
    padding: 12px 0 8px; 
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .nav .nav-links { 
    gap: 16px; 
    flex-wrap: wrap;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 14px;
    padding: 6px 8px;
  }
  
  /* Hero section mobile optimization */
  .hero { 
    padding: 16px 0 24px; 
    text-align: center;
  }
  
  .hero-copy .eyebrow {
    font-size: 10px;
    margin-bottom: 12px;
  }
  
  /* Hero section optimization */
  .hero {
    padding: 40px 0 60px !important;
  }
  
  .hero-title {
    font-size: clamp(18px, 4vw, 24px);
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
    max-width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
  
  .hero-sub {
    font-size: 16px;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
    max-width: 100%;
  }
  
  /* Navigation optimization */
  .nav {
    padding: 16px 0 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  
  /* Move logo left to align with hero heading */
  .logo {
    margin-left: -12px !important;
  }
  
  .hero-cta {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
  }
  
  .button {
    width: 100%;
    max-width: 280px;
    justify-content: center;
    padding: 14px 20px;
    font-size: 15px;
  }
  
  /* About section mobile */
  .about-card {
    padding: 20px;
    margin: 20px 0;
  }
  
  .about-card h2 {
    font-size: 20px;
  }
  
  .about-card p {
    font-size: 14px;
    line-height: 1.5;
  }
  
  /* Projects section mobile */
  .projects {
    gap: 12px;
    margin-top: 20px;
  }
  
  .project-card {
    padding: 12px;
  }
  
  .project-top {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
  }
  
  .project-title {
    font-size: 16px;
    line-height: 1.2;
  }
  
  .project-arrow {
    align-self: flex-end;
    margin-left: 0;
    margin-top: -30px;
  }
  
  .project-desc {
    font-size: 14px;
    line-height: 1.4;
    margin: 8px 0;
  }
  
  .project-tags {
    gap: 6px;
    margin: 8px 0;
  }
  
  .project-tags li {
    font-size: 12px;
    padding: 4px 8px;
  }
  
  /* Contact section mobile */
  .contact-new {
    padding: 40px 0;
  }
  
  .contact-new-content {
    text-align: center;
  }
  
  .contact-new-title {
    font-size: clamp(24px, 6vw, 36px);
    margin: 12px 0 20px;
  }
  
  .contact-new-button {
    width: 100%;
    max-width: 200px;
    justify-content: center;
    padding: 12px 20px;
  }
  
  /* Footer mobile */
  .site-footer {
    padding: 20px 0;
    text-align: center;
  }
  
  .site-footer p {
    font-size: 14px;
  }
  
  /* Contact page mobile improvements */
  .contact-page {
    padding: 40px 0 80px;
  }
  
  .contact-page-content {
    gap: 16px;
  }
  
  .contact-label {
    font-size: 12px;
  }
  
  .contact-title {
    font-size: clamp(28px, 8vw, 40px);
    line-height: 1.1;
  }
  
  .contact-details {
    gap: 24px;
    margin-top: 32px;
  }
  
  .contact-item {
    gap: 6px;
  }
  
  .contact-label-item {
    font-size: 12px;
  }
  
  .contact-value {
    font-size: 14px;
  }
  
  /* Project detail pages mobile */
  .project-detail-content {
    padding: 12px 0 24px;
  }
  
  .project-header {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
    position: relative;
  }
  
  .project-header .back-arrow {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-bottom: 0;
  }
  
  .project-detail-title {
    font-size: clamp(24px, 6vw, 36px);
    text-align: center;
    margin: 0;
  }
  
  .project-overview {
    margin-top: 24px;
  }
  
  .overview-heading {
    font-size: 20px;
    margin-bottom: 12px;
  }
  
  .overview-text {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
  }
  
  .project-video-player {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    margin: 16px 0 !important;
  }
  
  /* Carro project video mobile fix - override desktop scaling */
  .project-video {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-video video {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    object-fit: cover !important;
  }
  
  /* Reduce spacing between video and Overview section on mobile */
  .project-video {
    margin-bottom: 10px !important;
  }
  
  .project-overview {
    margin-top: 0px !important;
  }
  
  .high-fidelity-img {
    width: 100% !important;
    margin-left: 0 !important;
  }
  
  /* Carro project images mobile fixes */
  .logo-image {
    height: 60px !important;
    width: auto !important;
    max-width: 100% !important;
  }
  
  .flow-image {
    width: 100% !important;
    margin-left: 0 !important;
    max-width: 100% !important;
    transform: none !important;
    height: auto !important;
    border-radius: 8px !important;
    margin-top: 10px !important;
    position: static !important;
    left: auto !important;
  }
  
  .user-flow-heading {
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin: 20px 0 12px 0 !important;
    color: var(--text) !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    line-height: 1.2 !important;
  }
  
  .user-flow-image {
    width: 100% !important;
    overflow: visible !important;
    margin: 8px auto 16px auto !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  
  .wireframes-img {
    width: 100% !important;
    margin-left: 0 !important;
    max-width: 100% !important;
  }
  
  /* Ensure all carro images are visible on mobile */
  .user-flow-image,
  .wireframes-image,
  .high-fidelity-image {
    width: 100% !important;
    overflow: visible !important;
    margin: 16px 0 !important;
  }
  
  /* Competitor analysis table mobile fixes */
  .competitor-analysis {
    overflow-x: auto;
    margin: 16px 0;
  }
  
  .competitor-analysis .analysis-table {
    min-width: 500px;
    font-size: 12px;
  }
  
  .competitor-analysis .analysis-table th,
  .competitor-analysis .analysis-table td {
    padding: 8px 6px;
    min-width: 100px;
  }
  
  /* User personas mobile layout */
  .personas-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  
  .persona-group {
    margin-bottom: 8px !important;
  }
  
  .persona-item {
    margin-bottom: 4px !important;
  }
  
  /* Ideate section header size reduction for mobile */
  .target-audience-heading {
    font-size: 16px !important;
  }
  
  .audience-title {
    font-size: 14px !important;
  }
  
  /* Design Goals section header size reduction for mobile */
  .design-goals-heading {
    font-size: 16px !important;
  }
  
  .goal-title {
    font-size: 14px !important;
  }
  
  /* Prototype process flow mobile - make it fit in one line */
  .prototype-process {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 8px 0 !important;
  }
  
  .prototype-process .process-step {
    font-size: 12px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  
  .prototype-process .process-arrow {
    font-size: 14px !important;
    flex-shrink: 0 !important;
  }
  
  /* Ensure all content sections are properly spaced on mobile */
  .project-ideate,
  .project-process,
  .project-define,
  .project-empathize {
    margin: 20px 0 !important;
  }
  
  .empathize-heading,
  .ideate-heading,
  .define-heading,
  .process-heading {
    font-size: 18px !important;
    margin-bottom: 12px !important;
  }
  
  /* Mobile table improvements - no horizontal scrolling */
  .analysis-table {
    font-size: 7px !important;
    overflow: hidden !important;
    display: table !important;
    width: 100% !important;
    margin: 12px 0 !important;
    border-collapse: separate !important;
    border-spacing: 1px !important;
    table-layout: fixed !important;
  }
  
  .analysis-table thead {
    display: table-header-group !important;
  }
  
  .analysis-table tbody {
    display: table-row-group !important;
  }
  
  .analysis-table tr {
    display: table-row !important;
  }
  
  .analysis-table th,
  .analysis-table td {
    display: table-cell !important;
    padding: 2px 1px !important;
    width: 25% !important;
    max-width: 25% !important;
    text-align: left !important;
    vertical-align: top !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    height: auto !important;
    min-height: 30px !important;
  }
  
  .analysis-table th {
    font-weight: 600 !important;
    background: #f8fafc !important;
    border-bottom: 2px solid #e2e8f0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    min-height: 40px !important;
  }
  
  /* Competitor analysis specific mobile fixes */
  .competitor-analysis {
    overflow: hidden !important;
    margin: 16px 0 !important;
    width: 100% !important;
  }
  
  .competitor-analysis .analysis-table {
    font-size: 7px !important;
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
  }
  
  .competitor-analysis .analysis-table th,
  .competitor-analysis .analysis-table td {
    padding: 2px 1px !important;
    width: 25% !important;
    max-width: 25% !important;
    font-size: 7px !important;
    display: table-cell !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    min-height: 25px !important;
  }
  
  /* Heuristic analysis mobile */
  .heuristic-analysis {
    overflow: hidden !important;
    margin: 16px 0 !important;
    width: 100% !important;
  }
  
  .heuristic-analysis .analysis-table {
    font-size: 7px !important;
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
  }
  
  .heuristic-analysis .analysis-table th,
  .heuristic-analysis .analysis-table td {
    padding: 2px 1px !important;
    width: 33.33% !important;
    max-width: 33.33% !important;
    font-size: 7px !important;
    display: table-cell !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    min-height: 30px !important;
  }
  
  /* Table container improvements */
  .analysis-heading {
    font-size: 16px !important;
    margin-bottom: 12px !important;
  }
  
  /* Ensure tables don't break layout */
  .competitor-analysis,
  .heuristic-analysis {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* CTLS insights grid mobile improvements - override inline styles */
  .insights-chart {
    margin-top: 20px !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  
  .insights-chart[style*="margin-top"] {
    margin-top: 20px !important;
  }
  
  .insights-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    grid-template-columns: none !important;
  }
  
  .insights-grid[style*="display: flex"] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  
  .insights-section {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 16px !important;
    background: white !important;
    border-radius: 8px !important;
    border: 1px solid #E55050 !important;
    margin: 0 !important;
    display: block !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 120px !important;
    box-sizing: border-box !important;
  }
  
  .insights-section[style*="text-align: center"] {
    text-align: left !important;
  }
  
  .insights-section[style*="max-width: 640px"] {
    max-width: 100% !important;
    width: 100% !important;
  }
  
  .insights-list {
    font-size: 10px !important;
    line-height: 1.3 !important;
    padding: 0 !important;
    margin: 6px 0 0 0 !important;
    padding-left: 0 !important;
    list-style: decimal !important;
    width: 100% !important;
  }
  
  .insights-list li {
    padding: 2px 0 !important;
    margin: 1px 0 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    color: #4a5568 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
    width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  .insights-heading {
    font-size: 12px !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
  }
  
  .insights-title {
    font-size: 10px !important;
    margin-bottom: 4px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    white-space: normal !important;
  }
  
  /* Force override inline styles with higher specificity */
  div[style*="display: flex"] .insights-grid {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  
  div[style*="text-align: center"] .insights-section {
    text-align: left !important;
  }
  
  div[style*="max-width: 640px"] .insights-section {
    max-width: 100% !important;
    width: 100% !important;
  }
  
  /* Touch-friendly improvements */
  .button,
  .contact-new-button,
  .back-arrow {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .project-card {
    min-height: 44px;
  }
  
  /* Better spacing for mobile */
  .section {
    padding: 32px 0;
  }
  
  .work {
    padding: 16px 0 32px;
  }
  
  /* Improve readability on mobile */
  .project-desc,
  .overview-text,
  .empathize-text {
    line-height: 1.5;
  }
  
  /* Reduce font sizes for all body text on mobile */
  .project-desc {
    font-size: 13px !important;
  }
  
  .overview-text {
    font-size: 13px !important;
  }
  
  .empathize-text {
    font-size: 13px !important;
  }
  
  .define-text,
  .ideate-text,
  .process-text {
    font-size: 13px !important;
  }
  
  .persona-name,
  .persona-role {
    font-size: 12px !important;
  }
  
  .persona-category {
    font-size: 11px !important;
  }
  
  .step-text {
    font-size: 13px !important;
  }
  
  .analysis-cell {
    font-size: 10px !important;
  }
  
  .competitor-cell {
    font-size: 10px !important;
  }
  
  .logo-image {
    height: 50px !important;
  }
  
  /* Specific logo fixes for mobile tables */
  .topgear-logo {
    height: 20px !important;
    width: auto !important;
    margin-left: 0 !important;
    display: block !important;
    margin: 0 auto !important;
  }
  
  .edmunds-logo {
    height: 40px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
  
  .carvana-logo {
    height: 35px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
  
  /* Competitor logo container */
  .competitor-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    height: 60px !important;
    width: 100% !important;
  }
  
  /* Contact page text */
  .contact-value {
    font-size: 13px !important;
  }
  
  .contact-label-item {
    font-size: 11px !important;
  }
  
  /* Project detail page text */
  .project-detail-content p {
    font-size: 13px !important;
  }
  
  .project-detail-content li {
    font-size: 13px !important;
  }
  
  .project-detail-content span {
    font-size: 13px !important;
  }
  
  .project-detail-content div {
    font-size: 13px !important;
  }
  
  /* Button and link text */
  .button {
    font-size: 13px !important;
  }
  
  .text-link {
    font-size: 13px !important;
  }
  
  .contact-new-button {
    font-size: 13px !important;
  }
  
  /* Footer text */
  .site-footer p {
    font-size: 12px !important;
  }
  
  /* Navigation text */
  .nav .nav-links a[data-nav] {
    font-size: 13px !important;
  }
  
  /* Hero section text */
  .hero-sub {
    font-size: 14px !important;
  }
  
  .hero-copy .eyebrow {
    font-size: 10px !important;
  }
  
  /* About section text */
  .about-card p {
    font-size: 13px !important;
  }
  
  /* Project tags */
  .project-tags li {
    font-size: 11px !important;
  }
  
  .project-year {
    font-size: 11px !important;
  }
  
  /* Badge text */
  .badge {
    font-size: 11px !important;
  }
  
  /* Mobile-specific image handling */
  .project-media img {
    border-radius: 12px;
  }
  
  .design-img {
    border-radius: 8px;
    width: 100%;
    height: auto;
  }
  
  /* Mobile navigation improvements */
  .nav .nav-links a[data-nav]:hover::before,
  .nav .nav-links a[data-nav].active::before {
    width: 40%;
  }
}

/* Carro project responsive for 390px-430px range */
@media (min-width: 390px) and (max-width: 430px) {
  /* Allow horizontal scrolling for carro project */
  .carro-project html,
  .carro-project body {
    max-width: 100vw !important;
  }
  
  /* Allow carro project elements to flow naturally */
  .carro-project {
    max-width: 100vw !important;
  }
  
  /* Carro project specific optimizations for iPhone 15/16 range */
  .carro-project .container {
    width: 96% !important;
    padding: 0 12px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Ensure all elements fit within viewport */
  .carro-project * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Prevent specific elements from causing overflow */
  .carro-project .project-video,
  .carro-project .project-video-player,
  .carro-project .flow-image,
  .carro-project .wireframes-img,
  .carro-project .high-fidelity-img,
  .carro-project .analysis-table,
  .carro-project .competitor-analysis,
  .carro-project .heuristic-analysis {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  
  /* Override inline styles that cause horizontal overflow */
  .carro-project .project-video-player {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    scale: 1 !important;
  }
  
  .carro-project .high-fidelity-img {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Ensure images don't exceed container */
  .carro-project img,
  .carro-project video {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Force text wrapping */
  .carro-project h1, .carro-project h2, .carro-project h3, .carro-project h4, .carro-project h5, .carro-project h6,
  .carro-project p, .carro-project span, .carro-project div, .carro-project li, .carro-project td, .carro-project th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  /* Allow project detail content to flow naturally */
  .carro-project .project-detail-content {
    max-width: 100% !important;
  }
  
  /* Force all containers to respect viewport width */
  .carro-project .project-detail,
  .carro-project .project-overview,
  .carro-project .project-process,
  .carro-project .project-empathize,
  .carro-project .project-define,
  .carro-project .project-ideate,
  .carro-project .project-prototype {
    max-width: 100% !important;
  }
  
  .carro-project .logo {
    margin-left: 16px !important;
  }
  
  .carro-project .project-detail-content {
    padding: 16px 0 32px !important;
  }
  
  .carro-project .project-header {
    margin-bottom: 16px !important;
  }
  
  .carro-project .project-detail-title {
    font-size: clamp(28px, 7vw, 36px) !important;
  }
  
  /* Force override for carro title */
  body.carro-project .project-detail-title {
    font-size: clamp(28px, 7vw, 36px) !important;
  }
  
  .carro-project .overview-text {
    font-size: 13px !important;
    line-height: 1.4 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  .carro-project .project-video {
    margin-bottom: 16px !important;
  }
  
  .carro-project .project-video video {
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    transform: none !important;
    object-fit: cover !important;
  }
  
  /* Carro tables for 390-430px range */
  .carro-project .analysis-table {
    font-size: 8px !important;
    margin: 12px 0 !important;
  }
  
  .carro-project .analysis-table th,
  .carro-project .analysis-table td {
    padding: 3px 2px !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
    min-height: 35px !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }
  
  .carro-project .competitor-analysis .analysis-table th,
  .carro-project .competitor-analysis .analysis-table td {
    padding: 2px 1px !important;
    font-size: 7px !important;
    min-height: 30px !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table th,
  .carro-project .heuristic-analysis .analysis-table td {
    padding: 2px 1px !important;
    font-size: 7px !important;
    min-height: 30px !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }
  
  /* Carro images for 390-430px range - override all other rules */
  .carro-project .user-flow-image .flow-image,
  .carro-project .flow-image {
    width: 130% !important;
    margin-left: 0% !important;
    transform: none !important;
    margin-top: 8px !important;
    max-width: 130% !important;
    height: auto !important;
  }
  
  .carro-project .wireframes-img,
  .carro-project .high-fidelity-img {
    width: 100% !important;
    margin-left: 0 !important;
  }
  
  /* Hide original wireframes image and show mobile images for 390-430px */
  .carro-project .wireframes-img {
    display: none !important;
  }
  
  .carro-project .mobile-wireframes {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 16px 0 !important;
  }
  
  .carro-project .mobile-wireframe-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
  }
}

/* Hide mobile wireframes on other breakpoints */
@media (max-width: 389px), (min-width: 431px) {
  .carro-project .mobile-wireframes {
    display: none !important;
  }
  
  .carro-project .wireframes-img {
    display: block !important;
  }
  
  .carro-project .logo-image {
    height: 35px !important;
  }
  
  /* Carro project sections */
  .carro-project .project-overview {
    margin-top: 16px !important;
  }
  
  .carro-project .project-ideate {
    margin-top: 16px !important;
  }
  
  .carro-project .project-process {
    margin-top: 24px !important;
  }
  
  .carro-project .empathize-heading,
  .carro-project .ideate-heading,
  .carro-project .define-heading,
  .carro-project .process-heading {
    font-size: 16px !important;
    margin-bottom: 8px !important;
  }
  
  .carro-project .empathize-text,
  .carro-project .overview-text {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  
  .carro-project .personas-grid {
    gap: 8px !important;
  }
  
  .carro-project .persona-group {
    margin-bottom: 6px !important;
  }
  
  .carro-project .persona-name,
  .carro-project .persona-role {
    font-size: 11px !important;
  }
  
  .carro-project .persona-category {
    font-size: 10px !important;
  }
  
  .carro-project .target-audience-heading {
    font-size: 14px !important;
  }
  
  .carro-project .audience-title {
    font-size: 12px !important;
  }
  
  .carro-project .design-goals-heading {
    font-size: 14px !important;
  }
  
  .carro-project .goal-title {
    font-size: 12px !important;
  }
  
  .carro-project .prototype-process {
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }
  
  .carro-project .prototype-process .process-step {
    font-size: 10px !important;
  }
  
  .carro-project .prototype-process .process-arrow {
    font-size: 12px !important;
  }
  
  /* Ensure all text wraps properly in carro project */
  .carro-project p,
  .carro-project span,
  .carro-project div,
  .carro-project li,
  .carro-project td,
  .carro-project th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
}

/* Additional responsive breakpoints for comprehensive coverage */
@media (min-width: 390px) and (max-width: 400px) {
  .carro-project .container {
    width: 95% !important;
    padding: 0 10px !important;
  }
  
  .carro-project .project-detail-title {
    font-size: clamp(18px, 4.5vw, 24px) !important;
  }
  
  .carro-project .analysis-table {
    font-size: 7px !important;
  }
  
  .carro-project .analysis-table th,
  .carro-project .analysis-table td {
    padding: 2px 1px !important;
    font-size: 7px !important;
    min-height: 30px !important;
  }
  
  .carro-project .logo-image {
    height: 30px !important;
  }
}

@media (min-width: 400px) and (max-width: 410px) {
  .carro-project .container {
    width: 96% !important;
    padding: 0 11px !important;
  }
  
  .carro-project .project-detail-title {
    font-size: clamp(20px, 5vw, 26px) !important;
  }
  
  .carro-project .analysis-table {
    font-size: 7.5px !important;
  }
  
  .carro-project .analysis-table th,
  .carro-project .analysis-table td {
    padding: 2.5px 1.5px !important;
    font-size: 7.5px !important;
    min-height: 32px !important;
  }
  
  .carro-project .logo-image {
    height: 32px !important;
  }
}

@media (min-width: 410px) and (max-width: 420px) {
  .carro-project .container {
    width: 97% !important;
    padding: 0 12px !important;
  }
  
  .carro-project .project-detail-title {
    font-size: clamp(22px, 5.2vw, 28px) !important;
  }
  
  .carro-project .analysis-table {
    font-size: 8px !important;
  }
  
  .carro-project .analysis-table th,
  .carro-project .analysis-table td {
    padding: 3px 2px !important;
    font-size: 8px !important;
    min-height: 34px !important;
  }
  
  .carro-project .logo-image {
    height: 34px !important;
  }
}

@media (min-width: 420px) and (max-width: 430px) {
  .carro-project .container {
    width: 98% !important;
    padding: 0 13px !important;
  }
  
  .carro-project .project-detail-title {
    font-size: clamp(24px, 5.5vw, 30px) !important;
  }
  
  .carro-project .analysis-table {
    font-size: 8.5px !important;
  }
  
  .carro-project .analysis-table th,
  .carro-project .analysis-table td {
    padding: 3.5px 2.5px !important;
    font-size: 8.5px !important;
    min-height: 36px !important;
  }
  
  .carro-project .logo-image {
    height: 36px !important;
  }
}

/* Enhanced video player optimizations for all breakpoints */
@media (min-width: 390px) and (max-width: 430px) {
  /* Override the desktop video scaling for mobile */
  .carro-project .project-video-player {
    max-width: 100% !important;
    width: 100% !important;
    transform: none !important;
    margin: 0 auto !important;
    display: block !important;
    height: auto !important;
    object-fit: cover !important;
  }
  
  /* Ensure video container doesn't overflow */
  .carro-project .project-video {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin: 16px 0 !important;
  }
  
  /* Optimize high fidelity images for mobile */
  .carro-project .high-fidelity-img {
    width: 100% !important;
    margin-left: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
  
  /* Ensure all project images are mobile-friendly */
  .carro-project .flow-image,
  .carro-project .wireframes-img {
    width: 100% !important;
    margin-left: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
  
  /* Optimize user flow and wireframes containers */
  .carro-project .user-flow-image,
  .carro-project .wireframes-image,
  .carro-project .high-fidelity-image {
    width: 100% !important;
    overflow: visible !important;
    margin: 16px 0 !important;
    text-align: center !important;
  }
  
  /* Better spacing for mobile sections */
  .carro-project .project-empathize,
  .carro-project .project-define,
  .carro-project .project-ideate,
  .carro-project .project-prototype {
    margin: 20px 0 !important;
  }
  
  /* Optimize competitor analysis for mobile - better design */
  .carro-project .competitor-analysis {
    overflow-x: auto !important;
    margin: 16px 0 !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .carro-project .competitor-analysis .analysis-table {
    min-width: 100% !important;
    width: 100% !important;
    font-size: 9px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: white !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    table-layout: fixed !important;
  }
  
  /* Set specific column widths for better mobile layout */
  .carro-project .competitor-analysis .analysis-table th:nth-child(1),
  .carro-project .competitor-analysis .analysis-table td:nth-child(1) {
    width: 20% !important;
    max-width: 20% !important;
  }
  
  .carro-project .competitor-analysis .analysis-table th:nth-child(2),
  .carro-project .competitor-analysis .analysis-table td:nth-child(2) {
    width: 25% !important;
    max-width: 25% !important;
  }
  
  .carro-project .competitor-analysis .analysis-table th:nth-child(3),
  .carro-project .competitor-analysis .analysis-table td:nth-child(3) {
    width: 25% !important;
    max-width: 25% !important;
  }
  
  .carro-project .competitor-analysis .analysis-table th:nth-child(4),
  .carro-project .competitor-analysis .analysis-table td:nth-child(4) {
    width: 30% !important;
    max-width: 30% !important;
  }
  
  .carro-project .competitor-analysis .analysis-table th {
    font-size: 8px !important;
    font-weight: 600 !important;
    padding: 8px 4px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    color: #68C5D7 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    min-height: 40px !important;
  }
  
  .carro-project .competitor-analysis .analysis-table td {
    padding: 8px 4px !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
    text-align: center !important;
    border-bottom: 1px solid #f1f5f9 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    min-height: 35px !important;
  }
  
  .carro-project .competitor-analysis .analysis-table tr:last-child td {
    border-bottom: none !important;
  }
  
  /* Competitor logos mobile optimization */
  .carro-project .competitor-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    height: 30px !important;
    margin: 4px 0 !important;
  }
  
  .carro-project .logo-image {
    max-height: 25px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  
  .carro-project .edmunds-logo {
    max-height: 20px !important;
  }
  
  .carro-project .carvana-logo {
    max-height: 18px !important;
  }
  
  .carro-project .topgear-logo {
    max-height: 15px !important;
  }
  
  /* Improve analysis heading for mobile */
  .carro-project .analysis-heading {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--text) !important;
    margin: 0 0 12px 0 !important;
    text-align: center !important;
  }
  
  /* Optimize heuristic analysis table - same styling as competitor analysis */
  .carro-project .heuristic-analysis {
    overflow-x: auto !important;
    margin: 16px 0 !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table {
    min-width: 100% !important;
    width: 100% !important;
    font-size: 9px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: white !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    table-layout: fixed !important;
  }
  
  /* Set specific column widths for better mobile layout */
  .carro-project .heuristic-analysis .analysis-table th:nth-child(1),
  .carro-project .heuristic-analysis .analysis-table td:nth-child(1) {
    width: 30% !important;
    max-width: 30% !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table th:nth-child(2),
  .carro-project .heuristic-analysis .analysis-table td:nth-child(2) {
    width: 40% !important;
    max-width: 40% !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table th:nth-child(3),
  .carro-project .heuristic-analysis .analysis-table td:nth-child(3) {
    width: 30% !important;
    max-width: 30% !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table th {
    font-size: 8px !important;
    font-weight: 600 !important;
    padding: 8px 4px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    color: #68C5D7 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    min-height: 40px !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table td {
    padding: 8px 4px !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
    text-align: center !important;
    border-bottom: 1px solid #f1f5f9 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    min-height: 35px !important;
  }
  
  .carro-project .heuristic-analysis .analysis-table tr:last-child td {
    border-bottom: none !important;
  }
  
  /* Optimize insights grid for mobile */
  .carro-project .insights-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  
  .carro-project .insights-section {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px !important;
    margin: 0 !important;
    background: white !important;
    border-radius: 8px !important;
    border: 1px solid #68C5D7 !important;
  }
  
  .carro-project .insights-list {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  
  .carro-project .insights-list li {
    font-size: 12px !important;
    margin: 4px 0 !important;
  }
  
  /* Optimize persona grid for mobile */
  .carro-project .personas-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  .carro-project .persona-group {
    margin-bottom: 8px !important;
  }
  
  .carro-project .persona-item {
    padding: 8px !important;
    margin-bottom: 4px !important;
  }
  
  /* Optimize audience and goals grids */
  .carro-project .audience-list,
  .carro-project .goals-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  .carro-project .audience-item,
  .carro-project .goal-item {
    padding: 12px !important;
  }
  
  /* Optimize prototype process flow */
  .carro-project .prototype-process {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 8px 0 !important;
  }
  
  .carro-project .prototype-process .process-step {
    font-size: 11px !important;
    white-space: nowrap !important;
    flex-shrink: 1 !important;
    text-align: center !important;
    padding: 4px 6px !important;
    background: #f8fafc !important;
    border-radius: 6px !important;
    border: 1px solid #e2e8f0 !important;
  }
  
  .carro-project .prototype-process .process-arrow {
    font-size: 12px !important;
    flex-shrink: 0 !important;
    color: #68C5D7 !important;
  }
  
  /* Optimize process steps grid */
  .carro-project .process-steps {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px !important;
  }
  
  .carro-project .step-number {
    width: 24px !important;
    height: 24px !important;
    font-size: 10px !important;
  }
  
  .carro-project .step-title {
    font-size: 10px !important;
  }
  
  /* Optimize problem section */
  .carro-project .problem-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  .carro-project .problem-item {
    padding: 12px !important;
    margin-bottom: 8px !important;
  }
  
  .carro-project .problem-circle {
    width: 20px !important;
    height: 20px !important;
    font-size: 12px !important;
  }
  
  /* Optimize navigation for mobile */
  .carro-project .nav {
    padding: 8px 0 !important;
  }
  
  .carro-project .nav .nav-links {
    gap: 12px !important;
  }
  
  .carro-project .nav .nav-links a[data-nav] {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }
  
  /* Optimize back arrow positioning */
  .carro-project .project-header .back-arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: 0 !important;
  }
  
  /* Fine-tune typography for better readability */
  .carro-project .project-detail-desc {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
  }
  
  .carro-project .overview-heading,
  .carro-project .process-heading,
  .carro-project .empathize-heading,
  .carro-project .define-heading,
  .carro-project .ideate-heading,
  .carro-project .prototype-heading {
    font-size: 18px !important;
    margin-bottom: 12px !important;
    text-align: center !important;
  }
  
  .carro-project .overview-text,
  .carro-project .empathize-text,
  .carro-project .define-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
  }
  
  /* Optimize section headings */
  .carro-project .analysis-heading,
  .carro-project .personas-heading,
  .carro-project .questions-heading,
  .carro-project .insights-heading,
  .carro-project .problem-heading,
  .carro-project .target-audience-heading,
  .carro-project .design-goals-heading,
  .carro-project .user-flow-heading,
  .carro-project .wireframes-heading,
  .carro-project .high-fidelity-heading {
    font-size: 16px !important;
    margin-bottom: 12px !important;
    text-align: center !important;
  }
  
  /* Optimize sub-headings */
  .carro-project .takeaway-heading,
  .carro-project .persona-category,
  .carro-project .audience-title,
  .carro-project .goal-title,
  .carro-project .problem-title,
  .carro-project .insights-title {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }
  
  /* Optimize body text */
  .carro-project .takeaway-text,
  .carro-project .persona-name,
  .carro-project .persona-role,
  .carro-project .audience-desc,
  .carro-project .goal-desc,
  .carro-project .problem-intro,
  .carro-project .problem-desc,
  .carro-project .problem-solution {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  
  /* Move problem solution text down slightly */
  .carro-project .problem-solution {
    margin-top: 16px !important;
  }
  
  /* Optimize list items */
  .carro-project .questions-list,
  .carro-project .insights-list {
    font-size: 12px !important;
    line-height: 1.4 !important;
    padding-left: 16px !important;
  }
  
  .carro-project .questions-list li,
  .carro-project .insights-list li {
    margin-bottom: 8px !important;
  }
  
  /* Optimize table content */
  .carro-project .analysis-cell,
  .carro-project .competitor-cell {
    font-size: 8px !important;
    line-height: 1.2 !important;
  }
  
  /* Optimize spacing between sections */
  .carro-project .project-overview,
  .carro-project .project-process,
  .carro-project .project-empathize,
  .carro-project .project-define,
  .carro-project .project-ideate,
  .carro-project .project-prototype {
    margin: 24px 0 !important;
  }
  
  /* Optimize key takeaway section */
  .carro-project .key-takeaway {
    margin-top: 24px !important;
  }
  
  /* Optimize interview questions section */
  .carro-project .interview-questions {
    margin-top: 24px !important;
  }
  
  /* Optimize insights chart */
  .carro-project .insights-chart {
    margin-top: 24px !important;
  }
  
  /* Optimize problem section */
  .carro-project .problem-section {
    margin-top: 24px !important;
  }
  
  /* Ensure proper touch targets */
  .carro-project .back-arrow,
  .carro-project .nav .nav-links a[data-nav],
  .carro-project .button {
    min-height: 44px !important;
    min-width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  /* Optimize footer */
  .carro-project .site-footer {
    padding: 16px 0 !important;
    margin-top: 32px !important;
  }
  
  .carro-project .site-footer p {
    font-size: 12px !important;
  }
}

/* Global horizontal scroll prevention for 390px-430px range */
@media (min-width: 390px) and (max-width: 430px) {
  /* Allow horizontal scrolling on all pages */
  html, body {
    max-width: 100vw !important;
  }
  
  /* Ensure all containers fit within viewport */
  .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  
  /* Prevent any element from exceeding viewport width */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Specific fixes for common overflow culprits */
  .nav {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .nav-links {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 12px !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
  }
  
  /* Hero section fixes */
  .hero {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .hero-title {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  .hero-sub {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Project cards and content */
  .project-card {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
  
  /* Contact page fixes */
  .contact-page {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .contact-details {
    max-width: 100% !important;
  }
  
  .contact-value {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Project detail pages */
  .project-detail {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .project-detail-content {
    max-width: 100% !important;
  }
  
  /* Video and media elements */
  .project-video {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-video-player {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
  
  /* Images and media */
  .flow-image,
  .wireframes-img,
  .high-fidelity-img,
  .design-img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Tables - make them scrollable but contained */
  .analysis-table,
  .competitor-analysis,
  .heuristic-analysis {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .analysis-table {
    min-width: 100% !important;
    table-layout: fixed !important;
  }
  
  /* Grid layouts - force single column */
  .projects {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  
  .personas-grid {
    grid-template-columns: 1fr !important;
  }
  
  .insights-grid {
    grid-template-columns: 1fr !important;
  }
  
  .audience-list,
  .goals-list {
    grid-template-columns: 1fr !important;
  }
  
  .process-steps {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px !important;
  }
  
  /* Prototype process flow */
  .prototype-process {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex-wrap: nowrap !important;
  }
  
  /* Footer */
  .site-footer {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  /* Contact new section */
  .contact-new {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .contact-new-content {
    max-width: 100% !important;
  }
  
  /* Ensure all text wraps properly */
  h1, h2, h3, h4, h5, h6,
  p, span, div, li, td, th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  /* Prevent any element from causing horizontal scroll */
  .user-flow-image,
  .wireframes-image,
  .high-fidelity-image {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  /* Logo images in tables */
  .logo-image {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Button and interactive elements */
  .button,
  .contact-new-button,
  .back-arrow {
    max-width: 100% !important;
    word-wrap: break-word !important;
  }
  
  /* Ensure no element can exceed viewport */
  img, video, iframe, embed, object {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Progressive responsive breakpoints for 390px-850px range */

/* 390px-430px: Small mobile phones */
@media (min-width: 390px) and (max-width: 430px) {
  /* Allow horizontal scrolling */
  html, body {
    max-width: 100vw !important;
  }
  
  .container {
    width: 96% !important;
    padding: 0 12px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Ensure all elements fit within viewport */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Hero section optimization */
  .hero {
    padding: 40px 0 60px !important;
  }
  
  .hero-title {
    font-size: clamp(18px, 4.5vw, 24px) !important;
    line-height: 1.8 !important;
    margin-bottom: 16px !important;
    margin-left: 20px !important;
    text-align: left !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
  }
  
  .hero-sub {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    margin-left: 20px !important;
  }
  
  .hero-copy .eyebrow {
    text-align: left !important;
    display: block !important;
    margin-left: 20px !important;
  }
  
  /* Navigation optimization */
  .nav {
    padding: 16px 0 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  
  /* Move logo left to align with hero heading */
  .logo {
    margin-left: 4px !important;
  }
  
  .projects {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 100% !important;
    margin-top: -40px !important;
  }
  
  .project-card {
    padding: 12px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media {
    max-width: 100% !important;
    overflow: hidden !important;
    margin-top: 40px !important;
  }
  
  .project-media img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    transform: translateY(-15px) !important;
  }
  
  .project-title {
    font-size: 16px !important;
    word-wrap: break-word !important;
  }
  
  .project-desc {
    font-size: 13px !important;
    word-wrap: break-word !important;
  }
  
  /* Contact section - extend to full screen width */
  .contact-new {
    padding: 32px 0 !important;
    margin: 60px 0 0 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }
  
  .contact-new-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 12px !important;
  }
  
  .contact-new-title {
    font-size: clamp(24px, 4vw, 32px) !important;
    margin: 32px 0 0px 0 !important;
  }
  
  .contact-new-button-container {
    margin-top: 0px !important;
  }
  
  .contact-new-button {
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
  
  /* Footer copyright text */
  .site-footer p {
    font-size: 12px !important;
  }
  
  .nav {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 14px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }
  
  /* Reduce button width for 390-430px */
  .contact-new-button {
    max-width: 140px !important;
    width: auto !important;
  }
  
}

/* 430px-480px: Larger mobile phones */
@media (min-width: 430px) and (max-width: 480px) {
  /* Prevent horizontal scrolling */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  .container {
    width: 94% !important;
    padding: 0 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Ensure all elements fit within viewport */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Hero section optimization */
  .hero {
    padding: 40px 0 60px !important;
  }
  
  .hero-title {
    font-size: clamp(20px, 5vw, 28px) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    margin-left: 20px !important;
    text-align: left !important;
  }
  
  .hero-sub {
    font-size: 16px !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    margin-left: 20px !important;
  }
  
  .hero-copy .eyebrow {
    margin-left: 20px !important;
    text-align: left !important;
  }
  
  /* Navigation optimization */
  .nav {
    padding: 16px 0 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  
  /* Move logo left to align with hero heading */
  .logo {
    margin-left: 4px !important;
  }
  
  .projects {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    max-width: 100% !important;
    margin-top: -40px !important;
  }
  
  .project-card {
    padding: 16px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    transform: translateY(-15px) !important;
  }
  
  .project-title {
    font-size: 18px !important;
    word-wrap: break-word !important;
  }
  
  .project-desc {
    font-size: 14px !important;
    word-wrap: break-word !important;
  }
  
  /* Contact section - extend to full screen width */
  .contact-new {
    padding: 32px 0 !important;
    margin: 60px 0 0 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }
  
  .contact-new-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 16px !important;
  }
  
  .contact-new-title {
    font-size: clamp(24px, 4vw, 32px) !important;
    margin: 32px 0 0px 0 !important;
  }
  
  .contact-new-button-container {
    margin-top: 0px !important;
  }
  
  .contact-new-button {
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
  
  /* Footer copyright text */
  .site-footer p {
    font-size: 12px !important;
  }
  
  .nav {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 14px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }
  
  /* Project detail pages */
  .project-detail {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  .project-detail-content {
    max-width: 100% !important;
  }
  
  .project-detail-title {
    font-size: clamp(24px, 5.5vw, 32px) !important;
    word-wrap: break-word !important;
  }
  
  .project-detail-desc {
    font-size: 16px !important;
    word-wrap: break-word !important;
  }
  
  /* Video and media */
  .project-video {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-video-player {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
  
  /* Images */
  .flow-image,
  .wireframes-img,
  .high-fidelity-img,
  .design-img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Tables */
  .analysis-table,
  .competitor-analysis,
  .heuristic-analysis {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .analysis-table {
    font-size: 9px !important;
  }
  
  .analysis-table th,
  .analysis-table td {
    padding: 4px 3px !important;
    font-size: 9px !important;
  }
  
  /* Contact page */
  .contact-page {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  .contact-details {
    max-width: 100% !important;
  }
  
  .contact-value {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Footer */
  .site-footer {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  /* Contact new section */
  .contact-new {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  /* Ensure all text wraps */
  h1, h2, h3, h4, h5, h6,
  p, span, div, li, td, th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Media elements */
  img, video, iframe, embed, object {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* 480px-600px: Small tablets and large phones */
@media (min-width: 480px) and (max-width: 600px) {
  /* Prevent horizontal scrolling */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  .container {
    width: 92% !important;
    padding: 0 20px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Ensure all elements fit within viewport */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Hero section optimization */
  .hero {
    padding: 40px 0 60px !important;
  }
  
  .hero-title {
    font-size: clamp(24px, 5.5vw, 32px) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    margin-left: 20px !important;
    text-align: left !important;
  }
  
  .hero-sub {
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    margin-left: 20px !important;
  }
  
  .hero-copy .eyebrow {
    margin-left: 20px !important;
    text-align: left !important;
  }
  
  /* Navigation optimization */
  .nav {
    padding: 16px 0 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  
  /* Move logo left to align with hero heading */
  .logo {
    margin-left: 0px !important;
  }
  
  .projects {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    max-width: 100% !important;
    margin-top: -40px !important;
  }
  
  .project-card {
    padding: 20px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-media img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    transform: translateY(-15px) !important;
  }
  
  .project-title {
    font-size: 20px !important;
    word-wrap: break-word !important;
  }
  
  .project-desc {
    font-size: 15px !important;
    word-wrap: break-word !important;
  }
  
  /* Contact section - extend to full screen width */
  .contact-new {
    padding: 32px 0 !important;
    margin: 60px 0 0 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }
  
  .contact-new-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 20px !important;
  }
  
  .contact-new-title {
    font-size: clamp(24px, 4vw, 32px) !important;
    margin: 32px 0 0px 0 !important;
  }
  
  .contact-new-button-container {
    margin-top: 0px !important;
  }
  
  .contact-new-button {
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
  
  /* Footer copyright text */
  .site-footer p {
    font-size: 12px !important;
  }
  
  .nav {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 14px !important;
    white-space: nowrap !important;
  }
  
  /* Project detail pages */
  .project-detail {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  .project-detail-content {
    max-width: 100% !important;
  }
  
  .project-detail-title {
    font-size: clamp(28px, 6vw, 40px) !important;
    word-wrap: break-word !important;
  }
  
  .project-detail-desc {
    font-size: 18px !important;
    word-wrap: break-word !important;
  }
  
  .overview-heading,
  .process-heading,
  .empathize-heading,
  .define-heading,
  .ideate-heading,
  .prototype-heading {
    font-size: 24px !important;
    word-wrap: break-word !important;
  }
  
  .overview-text,
  .empathize-text,
  .define-text {
    font-size: 16px !important;
    word-wrap: break-word !important;
  }
  
  /* Video and media */
  .project-video {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .project-video-player {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
  
  /* Images */
  .flow-image,
  .wireframes-img,
  .high-fidelity-img,
  .design-img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Tables */
  .analysis-table,
  .competitor-analysis,
  .heuristic-analysis {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .analysis-table {
    font-size: 10px !important;
  }
  
  .analysis-table th,
  .analysis-table td {
    padding: 6px 4px !important;
    font-size: 10px !important;
  }
  
  /* Contact page */
  .contact-page {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  .contact-details {
    max-width: 100% !important;
  }
  
  .contact-value {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Footer */
  .site-footer {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  /* Contact new section */
  .contact-new {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  /* Ensure all text wraps */
  h1, h2, h3, h4, h5, h6,
  p, span, div, li, td, th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Media elements */
  img, video, iframe, embed, object {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* 600px-720px: Medium tablets */
@media (min-width: 600px) and (max-width: 720px) {
  /* Prevent horizontal scrolling */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  .container {
    width: 90% !important;
    padding: 0 24px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Ensure all elements fit within viewport */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Hero section optimization */
  .hero {
    padding: 40px 0 60px !important;
  }
  
  .hero-title {
    font-size: clamp(28px, 5.5vw, 36px) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }
  
  .hero-sub {
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
  }
  
  /* Navigation optimization */
  .nav {
    padding: 16px 0 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  
  /* Move logo left to align with hero heading */
  .logo {
    margin-left: 0px !important;
  }
  
  .projects {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  
  .project-card {
    padding: 24px !important;
  }
  
  .project-title {
    font-size: 22px !important;
  }
  
  .project-desc {
    font-size: 16px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 16px !important;
    padding: 12px 16px !important;
  }
  
  /* Project detail pages */
  .project-detail-title {
    font-size: clamp(32px, 6.5vw, 44px) !important;
  }
  
  .project-detail-desc {
    font-size: 20px !important;
  }
  
  .overview-heading,
  .process-heading,
  .empathize-heading,
  .define-heading,
  .ideate-heading,
  .prototype-heading {
    font-size: 28px !important;
  }
  
  .overview-text,
  .empathize-text,
  .define-text {
    font-size: 18px !important;
  }
  
  /* Tables for medium tablets */
  .analysis-table {
    font-size: 12px !important;
  }
  
  .analysis-table th,
  .analysis-table td {
    padding: 12px 8px !important;
    font-size: 12px !important;
  }
  
  /* Grid layouts for medium tablets */
  .personas-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  
  .insights-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  
  .audience-list,
  .goals-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  
  /* Apply 720-850px styling to 600-720px breakpoint */
  
  /* Projects grid - match hero alignment exactly */
  .projects {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-top: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  
  /* Project cards optimization - match hero title alignment */
  .project-card {
    padding: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  
  .project-media {
    max-width: 100% !important;
    overflow: hidden !important;
    aspect-ratio: 16/10 !important;
    border-radius: 16px !important;
    box-shadow: inset 0 0 0 1px rgba(16,24,40,0.08), 0 10px 30px rgba(16,24,40,0.08) !important;
    background: #fff !important;
    transform: translateY(calc(var(--parallax, 0px) - 22px)) translateZ(0) !important;
    will-change: transform, box-shadow !important;
    backface-visibility: hidden !important;
    transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease !important;
  }
  
  .project-media img {
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transform: translateZ(0) !important;
  }
  
  .project-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .project-desc {
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Extend project body content to full width of image */
  .project-body {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .project-top {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
  }
  
  .project-year {
    font-size: 13px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    min-width: fit-content !important;
  }
  
  /* Project card hover effects - match 850px+ styling */
  .project-card:hover .project-media {
    transform: translateY(calc(var(--parallax, 0px) - 26px)) scale(1.02) !important;
    box-shadow: inset 0 0 0 1px rgba(16,24,40,0.14), 0 16px 40px rgba(16,24,40,0.12) !important;
  }
  
  /* Contact section - extend to full screen width */
  .contact-new {
    padding: 32px 0 !important;
    margin: 60px 0 0 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }
  
  .contact-new-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 24px !important;
  }
  
  .contact-new-title {
    font-size: clamp(24px, 4vw, 32px) !important;
    margin: 32px 0 0px 0 !important;
  }
  
  .contact-new-button-container {
    margin-top: 0px !important;
  }
  
  .contact-new-button {
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
  
  /* Footer copyright text */
  .site-footer p {
    font-size: 12px !important;
  }
}

/* 720px-850px: Large tablets and small laptops */
@media (min-width: 720px) and (max-width: 850px) {
  /* Prevent horizontal scrolling */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  .container {
    width: 90% !important;
    padding: 0 24px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Ensure all elements fit within viewport */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Hero section optimization */
  .hero {
    padding: 40px 0 60px !important;
  }
  
  .hero-title {
    font-size: clamp(28px, 5.5vw, 36px) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }
  
  .hero-sub {
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
  }
  
  /* Navigation optimization */
  .nav {
    padding: 16px 0 12px !important;
  }
  
  .nav .nav-links a[data-nav] {
    font-size: 15px !important;
    padding: 10px 16px !important;
  }
  
  /* Projects grid - match hero alignment exactly */
  .projects {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-top: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  
  /* Project cards optimization - match hero title alignment */
  .project-card {
    padding: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  
  .project-media {
    max-width: 100% !important;
    overflow: hidden !important;
    aspect-ratio: 16/10 !important;
    border-radius: 16px !important;
    box-shadow: inset 0 0 0 1px rgba(16,24,40,0.08), 0 10px 30px rgba(16,24,40,0.08) !important;
    background: #fff !important;
    transform: translateY(calc(var(--parallax, 0px) - 22px)) translateZ(0) !important;
    will-change: transform, box-shadow !important;
    backface-visibility: hidden !important;
    transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease !important;
  }
  
  .project-media img {
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transform: translateZ(0) !important;
  }
  
  .project-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .project-desc {
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Extend project body content to full width of image */
  .project-body {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .project-top {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
  }
  
  .project-year {
    font-size: 13px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    min-width: fit-content !important;
  }
  
  /* Project card hover effects - match 850px+ styling */
  .project-card:hover .project-media {
    transform: translateY(calc(var(--parallax, 0px) - 26px)) scale(1.02) !important;
    box-shadow: inset 0 0 0 1px rgba(16,24,40,0.14), 0 16px 40px rgba(16,24,40,0.12) !important;
  }
  
  /* About section if present */
  .about-card {
    padding: 24px !important;
    margin: 24px 0 !important;
  }
  
  .about-card h2 {
    font-size: 22px !important;
    margin-bottom: 12px !important;
  }
  
  .about-card p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  
  .about-tags {
    gap: 8px !important;
    margin-top: 16px !important;
  }
  
  .about-tags li {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }
  
  /* Contact section - extend to full screen width */
  .contact-new {
    padding: 32px 0 !important;
    margin: 60px 0 0 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }
  
  .contact-new-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 24px !important;
  }
  
  .contact-new-title {
    font-size: clamp(24px, 4vw, 32px) !important;
    margin: 32px 0 0px 0 !important;
  }
  
  .contact-new-button-container {
    margin-top: 0px !important;
  }
  
  .contact-new-button {
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
  
  /* Footer */
  .site-footer {
    padding: 20px 0 !important;
  }
  
  .site-footer p {
    font-size: 14px !important;
  }
  
  /* Project detail pages */
  .project-detail-title {
    font-size: clamp(36px, 7vw, 48px) !important;
  }
  
  .project-detail-desc {
    font-size: 22px !important;
  }
  
  .overview-heading,
  .process-heading,
  .empathize-heading,
  .define-heading,
  .ideate-heading,
  .prototype-heading {
    font-size: 32px !important;
  }
  
  .overview-text,
  .empathize-text,
  .define-text {
    font-size: 20px !important;
  }
  
  /* Tables for large tablets */
  .analysis-table {
    font-size: 14px !important;
  }
  
  .analysis-table th,
  .analysis-table td {
    padding: 16px 12px !important;
    font-size: 14px !important;
  }
  
  /* Grid layouts for large tablets */
  .personas-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
  }
  
  .insights-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  
  .audience-list,
  .goals-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  
  /* Process steps for large tablets */
  .process-steps {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 8px !important;
  }
  
  .step-number {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  
  .step-title {
    font-size: 14px !important;
  }
}

/* Contact footer alignment for screens up to 1024px */
@media (max-width: 1024px) {
  .contact-new-content {
    margin: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
    max-width: 40ch !important;
    padding-left: 24px !important;
    padding-right: 0 !important;
  }
  
  .contact-new-label {
    text-align: left !important;
    position: static !important;
    margin-bottom: 0 !important;
  }
  
  .contact-new-title {
    text-align: left !important;
    max-width: 40ch !important;
    margin-top: 40px !important;
    margin-left: 0 !important;
  }
  
  .contact-new-button-container {
    justify-content: flex-start !important;
    max-width: 40ch !important;
    margin-top: 20px !important;
  }
}

/* Desktop responsiveness (850px+) - already good as mentioned */
@media (min-width: 850px) {
  .projects { 
    grid-template-columns: 1fr 1fr; 
  }
}

.project-card { display: grid; grid-template-rows: auto 1fr; gap: 10px; padding: 0; text-decoration: none; color: inherit; transform-style: preserve-3d; perspective: 800px; background: transparent; border: none; box-shadow: none; position: relative; }
.project-card::before { content: none; }
.project-card > * { position: relative; z-index: 1; }
.project-media { border-radius: 16px; overflow: hidden; position: relative; aspect-ratio: 16 / 10; box-shadow: inset 0 0 0 1px rgba(16,24,40,0.08), 0 10px 30px rgba(16,24,40,0.08); background: #fff; transform: translateY(calc(var(--parallax, 0px) - 22px)) translateZ(0); will-change: transform, box-shadow; backface-visibility: hidden; transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; }
.project-media img { width: 100%; height: 100%; object-fit: cover; display: block; transform: translateZ(0); }
.project-body { display: grid; gap: 6px; }
.project-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }

.project-arrow {
  color: var(--muted);
  transition: all 0.2s ease;
  flex-shrink: 0;
  margin-left: 12px;
}

.project-card:hover .project-arrow {
  color: var(--text);
  transform: translateX(2px);
}
.project-title { margin: 0; font-size: 18px; font-weight: 600; }
.projects .project:first-child .project-title {
  font-size: 24px;
  font-weight: 400;
}
.projects .project:first-child .project-desc {
  font-size: 17px;
  margin-top: 8px;
  line-height: 1.4;
}
.projects .project:nth-child(2) .project-title {
  font-size: 24px;
  font-weight: 400;
}
.projects .project:nth-child(2) .project-desc {
  font-size: 17px;
  margin-top: 8px;
  line-height: 1.4;
}
.projects .project:nth-child(3) .project-title {
  font-size: 24px;
  font-weight: 400;
}
.projects .project:nth-child(3) .project-desc {
  font-size: 17px;
  margin-top: 8px;
  line-height: 1.4;
}
.projects .project:nth-child(4) .project-title {
  font-size: 24px;
  font-weight: 400;
}
.projects .project:nth-child(4) .project-desc {
  font-size: 17px;
  margin-top: 8px;
  line-height: 1.4;
}
.projects .project:nth-child(5) .project-title {
  font-size: 24px;
  font-weight: 400;
}
.projects .project:nth-child(5) .project-desc {
  font-size: 17px;
  margin-top: 8px;
  line-height: 1.4;
}
.project-year { color: var(--muted); font-size: 12px; }
.project-desc { margin: 0; color: var(--muted); font-size: 13px; }
.project-tags { display: none; }
.project-actions { display: none; }
.badge.muted { background: #eef2f6; color: #3f4c5d; border: 1px solid rgba(16,24,40,0.06); padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.text-link { display: none; }
.project-card:hover .project-media { transform: translateY(calc(var(--parallax, 0px) - 26px)) scale(1.02); box-shadow: inset 0 0 0 1px rgba(16,24,40,0.14), 0 16px 40px rgba(16,24,40,0.12); }

/* Disable hover effects for gluka card */
.gluka-card {
  cursor: default;
  pointer-events: none;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 10px;
  padding: 0;
  text-decoration: none;
  color: inherit;
  transform-style: preserve-3d;
  perspective: 800px;
  background: transparent;
  border: none;
  box-shadow: none;
  position: relative;
}

.gluka-card .project-media {
  transform: none !important;
  box-shadow: inset 0 0 0 1px rgba(16,24,40,0.08), 0 10px 30px rgba(16,24,40,0.08) !important;
}

/* Move gluka project up */
.projects .project:first-child {
  margin-top: -20px;
}

/* Add more space between image and content for gluka */
.gluka-card .project-body {
  margin-top: 20px;
}

/* Staggered reveal timing for projects */
.projects .project[data-reveal] { transition-delay: .02s; }
.projects .project:nth-child(2)[data-reveal] { transition-delay: .06s; }
.projects .project:nth-child(3)[data-reveal] { transition-delay: .10s; }
.projects .project:nth-child(4)[data-reveal] { transition-delay: .14s; }
.projects .project:nth-child(5)[data-reveal] { transition-delay: .18s; }

.contact { padding: 24px 0 72px; }
.contact-card { background: var(--bg-elev); border: 1px solid rgba(16,24,40,0.06); padding: 28px; border-radius: var(--radius-lg); box-shadow: var(--shadow-1); display: grid; gap: 10px; }
.contact-card h2 { margin: 0; font-size: clamp(22px, 4vw, 32px); }
.contact-card p { margin: 0; color: var(--muted); }
.contact-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Contact page styles */
.contact-page {
  padding: 80px 0 120px;
  max-width: 800px;
}

.contact-page-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-label {
  color: black;
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  letter-spacing: 0.5px;
}

.contact-title {
  font-size: clamp(36px, 6vw, 56px);
  font-weight: 300;
  margin: 0;
  color: #008B8B;
  line-height: 1.1;
}

.contact-details {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 40px;
}

.contact-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.contact-label-item {
  color: black;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.contact-value {
  color: var(--text);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.2s ease;
}

.contact-value div {
  display: block;
}

.address-value {
  display: block !important;
  line-height: 1.5;
}

.contact-value:hover {
  color: #008B8B;
}

.contact-value svg {
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

.contact-value:hover svg {
  opacity: 1;
}

/* New contact section */
.contact-new {
  background: #008B8B;
  padding: 40px 0;
  margin: 80px 0 0 0;
  width: 100%;
  max-width: none;
  position: relative;
}
.contact-new-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  position: relative;
}
.contact-new-label {
  color: white;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.5px;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.contact-new-title {
  color: white;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 300;
  margin: 0;
  line-height: 1.1;
  margin-top: 40px;
  margin-left: 0;
}
.contact-new-button-container {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
}
.contact-new-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f5f5f5;
  color: #333;
  padding: 12px 20px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.3s ease;
  border: none;
}
.contact-new-button:hover {
  background: #e8e8e8;
  transform: translateY(-2px);
}

.site-footer { padding: 16px 0 48px; color: var(--muted); text-align: center; }

/* Project detail page styles */
.project-detail { padding: 80px 0 120px; }
.project-detail-content { 
  max-width: 100%; 
  margin: 0 auto; 
  text-align: center; 
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  width: 100%;
}
.project-detail-content > * {
  text-align: center;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.project-detail-title { 
  font-family: "Jura", sans-serif;
  font-size: clamp(36px, 6vw, 56px); 
  font-weight: 400; 
  margin: 0 0 24px; 
  line-height: 1.1;
}
.project-detail-desc { 
  font-family: "Jura", sans-serif;
  font-size: 20px; 
  color: var(--muted); 
  line-height: 1.5; 
  margin: 0 0 40px; 
}
.project-video {
  margin: 40px 0;
  display: flex;
  justify-content: center;
}
.project-video-player {
  width: 100%;
  max-width: 1600px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 20px 40px rgba(16,24,40,0.12);
}
.project-overview {
  margin: 60px 0 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.overview-heading {
  font-family: "Jura", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 20px;
  color: var(--text);
  position: relative;
}
.overview-heading::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: #68C5D7;
  border-radius: 1px;
}
.overview-text {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0 0 16px;
}
.project-process {
  margin: 80px 0 40px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.process-heading {
  font-family: "Jura", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 40px;
  color: var(--text);
  position: relative;
  text-align: center;
}
.process-heading::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: #68C5D7;
  border-radius: 1px;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
  margin-top: 40px;
}
.process-step {
  text-align: center;
  padding: 4px 2px;
  background: transparent;
  border-radius: 12px;
  border: none;
}
.step-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #68C5D7;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Jura", sans-serif;
  font-weight: 600;
  font-size: 14px;
  margin: 0 auto 4px;
}
.step-title {
  font-family: "Jura", sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  color: var(--text);
}
.step-desc {
  font-family: "Jura", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  color: #4a5568;
  margin: 0;
}
.project-empathize {
  margin: 80px 0 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.empathize-heading {
  font-family: "Jura", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 20px;
  color: var(--text);
  position: relative;
  text-align: center;
}
.empathize-heading::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: #68C5D7;
  border-radius: 1px;
}
.empathize-content {
  text-align: center;
}
.empathize-text {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0 0 60px;
}
.competitor-analysis {
  margin-top: 40px;
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}
.analysis-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 30px;
  text-align: center;
}
.analysis-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #68C5D7;
}
.analysis-table th {
  font-family: "Jura", sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #68C5D7;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 20px 16px 20px 8px;
  text-align: center;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.analysis-table td {
  padding: 20px 16px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
  text-align: center;
}
.analysis-table tr:first-child td:not(.competitor-cell) {
  padding-top: 40px;
}
.analysis-table tr:last-child td {
  border-bottom: none;
}
.competitor-cell {
  width: 25%;
}
.analysis-cell {
  font-family: "Jura", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #334155;
}
.competitor-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}
.topgear-logo {
  margin-left: 20px;
}
.logo-image {
  height: 80px;
  width: auto;
  object-fit: contain;
}
.carvana-logo {
  height: 32px;
}
.topgear-logo {
  height: 24px;
}
.key-takeaway {
  margin-top: 40px;
  text-align: center;
}
.takeaway-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #F5A83D;
  margin: 0 0 16px;
}
.takeaway-text {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #F5A83D;
  margin: 0;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.user-personas {
  margin-top: 60px;
  text-align: center;
}
.personas-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 40px;
}
.personas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 50px;
}
.persona-group {
  text-align: center;
}
.persona-category {
  font-family: "Jura", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #68C5D7;
  margin: 0 0 20px;
}
.persona-item {
  margin-bottom: 16px;
  padding: 12px;
  background: white;
  border-radius: 8px;
  border: 1px solid #68C5D7;
}
.persona-name {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}
.persona-role {
  font-family: "Jura", sans-serif;
  font-size: 14px;
  color: #4a5568;
}
.interview-questions {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
.questions-heading {
  font-family: "Jura", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 20px;
  text-align: center;
}
.questions-list {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
  padding-left: 0;
  list-style-position: inside;
}
.questions-list li {
  margin-bottom: 12px;
}
.insights-chart {
  margin-top: 50px;
  text-align: center;
}
.insights-heading {
  font-family: "Jura", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 20px;
}
.insights-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
}
.insights-section {
  text-align: left;
  padding: 20px;
  background: white;
  border-radius: 8px;
  border: 1px solid #68C5D7;
}
.insights-title {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #68C5D7;
  margin: 0 0 16px;
}
.insights-list {
  font-family: "Jura", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
  padding-left: 20px;
}
.insights-list li {
  margin-bottom: 8px;
}
.project-define {
  margin: 80px 0 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.define-heading {
  font-family: "Jura", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 20px;
  color: var(--text);
  position: relative;
  text-align: center;
}
.define-heading::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: #68C5D7;
  border-radius: 1px;
}
.define-content {
  text-align: center;
}
.define-text {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0 0 40px;
}
.problem-section {
  margin-top: 40px;
}
.problem-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 20px;
  text-align: center;
}
.problem-intro {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0 0 30px;
  text-align: center;
}
.problem-solution {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #F5A83D;
  margin: 0 0 30px;
  text-align: center;
}
.problem-list {
  max-width: 800px;
  margin: 0 auto;
}
.problem-item {
  margin-bottom: 30px;
  padding: 20px;
  background: white;
  border-radius: 8px;
  border: 1px solid #68C5D7;
  text-align: center;
}
.problem-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #68C5D7;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Jura", sans-serif;
  font-weight: 600;
  font-size: 16px;
  flex-shrink: 0;
}
.problem-content {
  flex: 1;
  text-align: center;
}
.problem-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
}
.problem-title {
  font-family: "Jura", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.problem-desc {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
}
.problem-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #68C5D7;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Jura", sans-serif;
  font-weight: 600;
  font-size: 14px;
}
.project-ideate {
  margin: 80px 0 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.ideate-heading {
  font-family: "Jura", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 20px;
  color: var(--text);
  position: relative;
  text-align: center;
}
.ideate-heading::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: #68C5D7;
  border-radius: 1px;
}
.ideate-content {
  text-align: center;
}
.target-audience-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 40px 0 20px;
  text-align: center;
}
.audience-list {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.audience-item {
  padding: 20px;
  background: white;
  border-radius: 8px;
  border: 1px solid #68C5D7;
  text-align: center;
}
.audience-title {
  font-family: "Jura", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #68C5D7;
  margin: 0 0 8px;
}
.audience-desc {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
}
.design-goals-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 60px 0 20px;
  text-align: center;
}
.goals-list {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.goal-item {
  padding: 20px;
  background: white;
  border-radius: 8px;
  border: 1px solid #68C5D7;
  text-align: center;
}
.goal-title {
  font-family: "Jura", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #68C5D7;
  margin: 0 0 8px;
}
.goal-desc {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
}
.project-prototype {
  margin: 80px 0 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.prototype-heading {
  font-family: "Jura", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 20px;
  color: var(--text);
  position: relative;
  text-align: center;
}
.prototype-heading::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: #68C5D7;
  border-radius: 1px;
}
.prototype-content {
  text-align: center;
}
.prototype-process {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.prototype-process .process-step {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}
.prototype-process .process-arrow {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
}
.user-flow-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 60px 0 20px;
  text-align: center;
}
.user-flow-image {
  text-align: center;
  margin: 0 auto;
  width: 100%;
}
.flow-image {
  width: 140%;
  height: auto;
  border-radius: 8px;
  max-width: none;
  margin-left: -20%;
}
.wireframes-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 60px 0 20px;
  text-align: center;
}
.wireframes-image {
  text-align: center;
  margin: 0 auto;
  width: 100%;
}
.wireframes-img {
  width: 140%;
  height: auto;
  border-radius: 8px;
  max-width: none;
  margin-left: -20%;
}
.high-fidelity-heading {
  font-family: "Jura", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 60px 0 20px;
  text-align: center;
}

[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
  [data-reveal] { transition: none; }
}


