/* Homepage depth study. Shared case-study styles remain independent. */
.home-depth {
  --bg-base: #0b111b;
  --bg-alt: #0e1521;
  --bg-card: #141e2c;
  --border: #273343;
  --text-secondary: #adb9c9;
  --text-muted: #94a5ba;
  --accent: #65d8d0;
  --accent-dim: #399d9f;
}
.home-depth .nav { background: #0b111bec; }
.home-depth .section { padding-block: 80px; }
.home-depth .section-heading { font-size: .75rem; letter-spacing: .18em; }
.home-depth .hero { padding-top: 150px; background: #0b111b; }
.home-depth .hero > .container { position: relative; }
.home-depth .hero-content { max-width: 750px; margin-bottom: 64px; }
.home-depth .hero-name { font-family: var(--font-body); font-size: clamp(2.4rem, 4.7vw, 4rem); letter-spacing: -.055em; }
.home-depth .hero-label { font-size: .73rem; margin-bottom: 24px; }
.home-depth .hero-tagline { font-size: 1.12rem; margin-top: 24px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 32px; font-size: .85rem; }
.hero-actions a { display: inline-flex; gap: 24px; align-items: center; }
.primary-action { padding: 12px 20px; color: #0b111b; background: var(--accent); border: 1px solid var(--accent); border-radius: 4px; font-weight: 600; }
.primary-action:hover { color: var(--text-heading); background: #193540; }
.home-depth .stat-card { background: #152231b3; border-top: 2px solid #3b5e6d; text-align: left; padding: 22px; }
.home-depth .stat-value { font-size: 1.25rem; }
.home-depth .stat-label { font-size: .65rem; margin-top: 8px; }
.hero-art { position: absolute; right: 35px; top: -20px; width: 320px; height: 270px; perspective: 850px; pointer-events: none; opacity: .75; }
.architecture-plane { position: absolute; width: 220px; height: 180px; top: 30px; left: 55px; border: 1px solid #65d8d06b; border-radius: 12px; transform: rotateX(52deg) rotateZ(-32deg); background: linear-gradient(135deg, #2d5d6d66, #10202e99); box-shadow: 0 28px 50px #0005; }
.plane-back { top: 90px; opacity: .4; }
.plane-middle { top: 60px; opacity: .7; }
.plane-front { background: linear-gradient(135deg, #2b515e, #102231); padding: 28px; }
.plane-front span { font: 600 36px var(--font-mono); color: #b7eceb; }
.plane-front i { display: block; width: 75%; height: 1px; background: #65d8d066; margin-top: 12px; }
.plane-front i:last-child { width: 45%; }
.orbit { position: absolute; width: 330px; height: 260px; border: 1px solid #65d8d025; border-radius: 50%; transform: rotate(-30deg); }
.orbit-two { transform: rotate(45deg); }
.home-depth .expertise-card { background: linear-gradient(145deg, #182635, #111b28); border-radius: 10px; border-top-color: #45616e; }
.home-depth .expertise-title { font-family: var(--font-body); font-size: 1.12rem; }
.home-depth .expertise-icon { width: 30px; height: 30px; }
.portfolio-intro { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 36px; }
.portfolio-intro > div { flex: 1; }
.portfolio-intro .section-heading { margin-bottom: 14px; }
.section-lead { font-size: clamp(1.35rem, 3vw, 2rem); color: var(--text-heading); letter-spacing: -.035em; }
.view-toggle { background: transparent; border: 1px solid #4d697a; color: var(--text-primary); border-radius: 4px; padding: 11px 16px; font: 500 .75rem var(--font-mono); cursor: pointer; }
.view-toggle:hover { background: #243446; }
.home-depth :is(a, button):focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.home-depth .project-card { position: relative; border-radius: 12px; border-top-color: #56737e; background: linear-gradient(115deg, #192938, #121e2c 70%); box-shadow: 0 16px 35px #0003; transition: border-color .2s; }
.home-depth .project-card::before { content: attr(data-number); display: block; font: 500 .7rem var(--font-mono); letter-spacing: .12em; color: var(--accent); margin-bottom: 20px; }
.home-depth .project-header { gap: 20px; align-items: flex-start; }
.home-depth .project-name { font-family: var(--font-body); font-size: 1.25rem; letter-spacing: -.025em; line-height: 1.3; }
.home-depth .project-stats { flex-wrap: wrap; }
.home-depth .project-desc { font-size: .92rem; }
.home-depth .project-card.fade-in, .home-depth .timeline-item.fade-in { opacity: 1; transform: none; }
.home-depth .timeline { max-width: 960px; margin-inline: auto; }
.home-depth .timeline-item { padding-block: 10px; margin-bottom: 18px; perspective: 1000px; }
.home-depth .timeline-content { padding: 30px 36px; border-radius: 10px; background: linear-gradient(110deg, #1b2b3a, #121d2b); transform-origin: left center; }
.home-depth .timeline-title { font-family: var(--font-body); font-size: 1.35rem; margin-top: 8px; }
.home-depth .timeline-marker { top: 48px; width: 11px; height: 11px; background: #55717d; }
.home-depth .timeline::before { background: linear-gradient(var(--accent), #273343); }
.home-depth .timeline-focused .timeline-content { border-color: #65d8d087; box-shadow: 0 20px 45px #0004; }
.home-depth .timeline-focused .timeline-marker { background: var(--accent); box-shadow: 0 0 0 5px #65d8d015; }
.home-depth .cred-group { border-top-color: #486574; }
.home-depth .contact-card { background: #15212f; }
.home-depth :is(.stat-card, .expertise-card, .project-card, .timeline-content, .cred-group, .contact-card) {
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.home-depth :is(.stat-card, .expertise-card, .project-card, .timeline-content, .cred-group, .contact-card):is(:hover, :focus-within) {
  border-color: var(--accent-dim);
  box-shadow: 0 0 20px var(--accent-glow), 0 16px 35px #0003;
}
.home-depth .fade-in { opacity: 1; transform: none; }

@media (min-width: 1000px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .depth-enabled .portfolio-grid:not(.is-grid) { display: flex; flex-direction: column; gap: 70px; padding: 0 9% 60px; }
  .depth-enabled .portfolio-grid:not(.is-grid) .project-card { position: sticky; top: calc(90px + var(--card-index) * 9px); min-height: 355px; padding: 30px 40px; transform-origin: center top; z-index: var(--card-index); }
  .depth-enabled .portfolio-grid:not(.is-grid) .project-card.too-tall { position: relative; top: auto; }
  .depth-enabled .portfolio-grid:not(.is-grid) .project-name { font-size: 1.8rem; }
  .depth-enabled .portfolio-grid:not(.is-grid) .project-desc { max-width: 64ch; }
}
@media (max-width: 1100px) { .hero-art { opacity: .27; right: 15px; } }
@media (max-width: 768px) {
  .home-depth .hero { padding-top: 110px; }
  .home-depth .hero-content { margin-bottom: 40px; }
  .hero-art { display: none; }
  .home-depth .section { padding-block: 48px; }
  .home-depth .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-depth .stat-card { padding: 16px 12px; }
  .home-depth .stat-value { font-size: 1.05rem; }
  .home-depth .timeline { padding-left: 28px; }
  .home-depth .timeline-marker { left: -24px; }
  .home-depth .timeline-content { padding: 22px; }
  .home-depth .project-header { flex-wrap: wrap; gap: 10px; }
  .home-depth .nav-links:not(.open) { visibility: hidden; }
  .portfolio-intro { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .home-depth *, .home-depth *::before, .home-depth *::after { animation: none !important; transition: none !important; transform: none !important; }
  .hero-art { display: none; }
}
@media print {
  .home-depth .nav, .hero-art, .view-toggle { display: none; }
  .home-depth .project-card, .home-depth .timeline-content { position: static !important; transform: none !important; break-inside: avoid; box-shadow: none; }
  .home-depth .portfolio-grid { display: block !important; padding: 0 !important; }
  .home-depth .project-card { margin-bottom: 20px; }
  .home-depth .project-card::after { display: none; }
}
