/* A continuous dark canvas; the journal is the only inset scene. */
.home-dark { background: #080908; color: var(--paper); }
.home-dark [data-motion-scene] { border-radius: 0; }
.home-dark .section,
.home-dark .clients,
.home-dark .trust,
.home-dark .contact {
  padding-top: clamp(116px, 11.5vw, 192px);
  padding-bottom: clamp(116px, 11.5vw, 192px);
  background: #080908;
  color: var(--paper);
}
.home-dark .section-intro { margin-bottom: clamp(52px, 6vw, 88px); }
.home-dark :is(.section-intro h2, .services-copy h2, .clients-head h2, .process-head h2, .faq-head h2) {
  font-size: clamp(40px, 5.25vw, 88px);
  line-height: 1.02;
}
.home-dark .trust .light-statement { font-size: clamp(40px, 4.7vw, 76px); line-height: 1.03; }
.home-dark .contact-title { font-size: clamp(46px, 5vw, 82px); line-height: 1.04; }
.home-dark .services-layout { gap: clamp(56px, 6vw, 92px); }
.home-dark :is(.services-copy p, .services-note, .service-direction > p, .reviews .section-intro p, .faq-head p, .faq-answer p, .trust-item p) {
  color: var(--muted-dark);
}
.home-dark .service-direction {
  border-color: rgba(241, 239, 233, 0.17);
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.home-dark .service-direction:focus-within,
.home-dark .service-direction:hover {
  border-color: rgba(241, 239, 233, 0.34);
  background: transparent;
}
.home-dark .service-direction__title,
.home-dark .service-direction__title:focus-visible { color: var(--paper); }
.home-dark .service-direction__title:hover { color: var(--acid); }
.home-dark .service-direction__items a {
  padding-inline: 0;
  border: 0;
  color: rgba(241, 239, 233, 0.82);
  background: transparent;
}
.home-dark .service-direction__items a:hover,
.home-dark .service-direction__items a:focus-visible { color: var(--acid); background: transparent; }
.home-dark .services-index-link {
  border: 1px solid rgba(241, 239, 233, 0.18);
  color: var(--paper);
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.home-dark .clients { z-index: auto; border-radius: 0; overflow: visible; }
.home-dark .trust { margin-top: 0; }
.home-dark .trust-cta { color: var(--ink); background: var(--acid); }
.home-dark .trust-cta span:last-child { color: var(--acid); background: var(--ink); }
.home-dark .trust-cta:hover { background: var(--paper); }
.home-dark :is(.trust-list, .trust-item, .faq-list, .faq-item, .review-grid, .review-card, .review-card footer, .review-control) { border-color: var(--line-dark); }
.home-dark .review-card::before { color: var(--acid); }
.home-dark .review-card footer .review-person span,
.home-dark .review-count { color: var(--muted-dark); }
.home-dark .review-progress { background: var(--line-dark); }
.home-dark .review-progress span { background: var(--acid); }
.home-dark .review-count strong,
.home-dark .review-control { color: var(--paper); }
.home-dark .review-control:hover,
.home-dark .review-control:focus-visible { color: var(--ink); background: var(--acid); }
.home-dark .faq-toggle { border-color: var(--line-dark); }
.home-dark .faq-item[open] .faq-toggle { color: var(--ink); }

/* A quieter editorial system gives the articles their own identity. */
.home-dark .blog {
  position: relative;
  width: calc(100% - 2 * var(--edge));
  margin-inline: var(--edge);
  padding: clamp(54px, 6vw, 104px);
  border: 1px solid rgba(241, 239, 233, 0.17);
  border-radius: clamp(24px, 3.3vw, 48px);
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  overflow: hidden;
}
.home-dark .blog .section-intro { position: relative; margin-bottom: clamp(52px, 5vw, 76px); }
.home-dark .blog-grid {
  position: relative;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.84fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(36px, 4.5vw, 72px);
}
.home-dark .blog-card { min-width: 0; transition: color 260ms ease; }
.home-dark .blog-card:focus-visible { outline-offset: 8px; }
.home-dark .blog-card-index {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(241, 239, 233, 0.6);
  border-radius: 50%;
  color: var(--paper);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.home-dark .blog-media { border-radius: 18px; background: #090b09; }
.home-dark .blog-card:first-child .blog-media { aspect-ratio: 1.5; }
.home-dark .blog-card:not(:first-child) {
  grid-template-columns: minmax(130px, 0.7fr) minmax(0, 1fr);
  gap: clamp(20px, 2vw, 34px);
  align-items: center;
  padding: clamp(20px, 2.2vw, 34px) 0;
  border-color: rgba(241, 239, 233, 0.14);
}
.home-dark .blog-card:not(:first-child) .blog-card-index { top: clamp(30px, 2.8vw, 44px); left: 10px; }
.home-dark .blog-card:not(:first-child) .blog-media { aspect-ratio: 1.25; }
.home-dark .blog-card h3 { font-size: clamp(18px, 1.45vw, 24px); line-height: 1.28; font-weight: 490; }
.home-dark .blog-card:first-child h3 { max-width: 23ch; font-size: clamp(25px, 2.55vw, 39px); line-height: 1.18; }
.home-dark .blog-read { color: var(--acid); font-weight: 650; }
.home-dark .blog-footer { position: relative; margin-top: clamp(36px, 4vw, 60px); }
.home-dark .case-card-caption { min-height: 0; padding-top: 22px; }

@media (max-width: 980px) {
  .home-dark .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 36px 22px; }
  .home-dark .blog-card:first-child { grid-column: 1 / -1; grid-row: auto; }
  .home-dark .blog-card:not(:first-child) { display: grid; grid-template-columns: 1fr; align-items: start; padding-top: 24px; }
  .home-dark .blog-card:not(:first-child) .blog-card-index { top: 38px; left: 14px; }
  .home-dark .blog-card:not(:first-child) .blog-media { aspect-ratio: 1.5; }
}

@media (max-width: 680px) {
  .home-dark .section,
  .home-dark .clients,
  .home-dark .trust,
  .home-dark .contact { padding-top: 92px; padding-bottom: 92px; }
  .home-dark :is(.section-intro h2, .services-copy h2, .clients-head h2, .process-head h2, .faq-head h2) { font-size: clamp(32px, 8.7vw, 43px); }
  .home-dark .trust .light-statement { font-size: clamp(31px, 8vw, 39px); }
  .home-dark .contact-title { font-size: clamp(34px, 8.8vw, 43px); }
  .home-dark .blog { padding: 36px 22px 40px; border-radius: 26px; }
  .home-dark .blog-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .home-dark .blog-card:first-child { grid-column: auto; }
  .home-dark .blog-card:not(:first-child) { padding-top: 28px; }
  .home-dark .blog-card:first-child .blog-media,
  .home-dark .blog-card:not(:first-child) .blog-media { aspect-ratio: 1.45; }
  .home-dark .blog-card:not(:first-child) .blog-card-index { top: 42px; }
  .home-dark .blog-card h3,
  .home-dark .blog-card:first-child h3 { max-width: none; font-size: clamp(21px, 6vw, 28px); }
}
