/* V8.3.1 — darker operating-system view and compact homepage media */

.home-dark {
  --home-bg: #06111f;
  --home-surface: #0a1b2e;
  --home-surface-2: #0d243c;
  --home-line: rgba(151, 190, 224, .18);
  --home-text: #f4f9ff;
  --home-muted: #9eb5ca;
  background: var(--home-bg);
  color: var(--home-text);
}

.home-dark .hero {
  padding: 64px 0 48px;
  background:
    radial-gradient(circle at 12% 10%, rgba(10, 124, 245, .24), transparent 34%),
    radial-gradient(circle at 88% 30%, rgba(18, 199, 217, .11), transparent 27%),
    linear-gradient(155deg, #04101f, #081c34 62%, #06111f);
}
.home-dark .hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(360px, .82fr); gap: 48px; }
.home-dark .hero-copy h1 { color: #fff; font-size: clamp(3rem, 5.4vw, 5.5rem); }
.home-dark .hero-copy p,
.home-dark .trust-row { color: var(--home-muted); }
.home-dark .hero-copy h1 span { color: #61c9ff; }
.home-dark .hero-image { justify-self: end; width: min(100%, 540px); }
.home-dark .hero-image > img.real-photo {
  width: 100%;
  height: clamp(280px, 30vw, 360px);
  aspect-ratio: auto;
  object-fit: cover !important;
  object-position: center 42%;
  border-color: var(--home-line);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .38);
}
.home-dark .hero-badge { left: 16px; right: 16px; bottom: 14px; padding: 12px 14px; }

.home-dark .quick-book { margin-top: 0; background: #06111f; padding-top: 16px; }
.home-dark .quick-book form,
.home-dark .stats,
.home-dark .product-entry,
.home-dark .standard-grid article,
.home-dark .visual-card,
.home-dark .project-card,
.home-dark .review-grid blockquote,
.home-dark .client-cloud span,
.home-dark .location-card {
  background: var(--home-surface);
  border-color: var(--home-line);
  color: var(--home-text);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
}
.home-dark .quick-book label { color: #d8e8f5; }
.home-dark .quick-book select { background: #0d243c; border-color: #24415d; color: #fff; }
.home-dark .stats div { border-color: var(--home-line); }
.home-dark .stats strong { color: #68cfff; }
.home-dark .stats span,
.home-dark .product-entry p,
.home-dark .standard-grid p,
.home-dark .visual-card p,
.home-dark .project-card p,
.home-dark .review-grid blockquote p,
.home-dark .disclaimer,
.home-dark .section-head p,
.home-dark .authentic-photo-note { color: var(--home-muted); }
.home-dark .section,
.home-dark .section-sm { background: var(--home-bg); }
.home-dark .section-alt { background: #081827; }
.home-dark .section-dark { background: linear-gradient(145deg, #071a30, #0a3d72); }
.home-dark .section-head h2,
.home-dark .split h2,
.home-dark .product-entry h3,
.home-dark .standard-grid h3,
.home-dark .visual-card h2,
.home-dark .visual-card h3,
.home-dark .project-card h3,
.home-dark .location-card h3 { color: var(--home-text); }
.home-dark .visual-card footer { border-color: var(--home-line); }
.home-dark .visual-card footer a,
.home-dark .product-entry a,
.home-dark .arrow-link,
.home-dark .section-head > a { color: #66c9ff; }
.home-dark .photo-gallery-section { background: #081827; }
.home-dark .ios-roadmap { background: linear-gradient(145deg, #07172a, #0a3765); }
.home-dark .map-section iframe { border: 1px solid var(--home-line); }

/* Compact media: photographs support the content instead of taking over the page. */
.home-compact-media .photo-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.home-compact-media .photo-card,
.home-compact-media .photo-card.wide,
.home-compact-media .photo-card.tall {
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  height: 250px;
  border-radius: 18px;
}
.home-compact-media .photo-card figcaption { left: 10px; right: 10px; bottom: 10px; padding: 35px 13px 12px; }
.home-compact-media .photo-card figcaption strong { font-size: 1rem; }
.home-compact-media .photo-card figcaption span { font-size: .72rem; }
.home-compact-media .services-grid { gap: 18px; }
.home-compact-media .visual-card > img { width: 100%; height: 180px; aspect-ratio: auto; object-fit: cover !important; }
.home-compact-media .visual-card > div { padding: 20px; }
.home-compact-media .project-card > img { width: 100%; height: 180px; aspect-ratio: auto; object-fit: cover; }
.home-compact-media .location-card { grid-template-columns: 130px 1fr; padding: 18px; gap: 18px; }
.home-compact-media .location-card img { width: 130px; height: 92px; border-radius: 13px; }

/* Administrator dark mode and compact request photographs. */
.admin-shell { background: #06111f; color: #dce9f5; }
.admin-main { background: #06111f; }
.admin-topbar { background: rgba(8, 24, 41, .96); border-color: #1c3853; }
.admin-topbar h1 { color: #fff; }
.admin-shell .panel,
.admin-shell .stat-card,
.admin-shell .media-card { background: #0b2035; border-color: #203c56; box-shadow: 0 10px 28px rgba(0, 0, 0, .22); }
.admin-shell .panel-head { border-color: #203c56; }
.admin-shell .panel-head h2,
.admin-shell .stat-card strong,
.admin-shell .activity-item p,
.admin-shell .media-card strong { color: #f4f9ff; }
.admin-shell .panel-head small,
.admin-shell .stat-card small,
.admin-shell .activity-item small,
.admin-shell .help,
.admin-shell .empty { color: #94abc0; }
.admin-shell .field label { color: #a9bfd3; }
.admin-shell .field input,
.admin-shell .field select,
.admin-shell .field textarea,
.admin-shell .filters input,
.admin-shell .filters select {
  background: #071828;
  border-color: #29455f;
  color: #f4f9ff;
}
.admin-shell .data-table th { background: #081b2d; color: #9eb4c8; }
.admin-shell .data-table th,
.admin-shell .data-table td,
.admin-shell .activity-item { border-color: #20384d; }
.admin-shell .data-table tr:hover td { background: #102940; }
.admin-shell .btn-light { background: #102941; color: #e7f2fc; border-color: #2a4964; }
.admin-shell .booking-admin-card .media-grid.compact {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(82px, 108px));
  justify-content: start;
}
.admin-shell .booking-admin-card .media-grid.compact img { height: 68px; border-color: #29465f; }
.admin-shell .media-card img { height: 125px; aspect-ratio: auto; }

@media (max-width: 900px) {
  .home-dark .hero-grid { grid-template-columns: 1fr; }
  .home-dark .hero-image { justify-self: start; width: min(100%, 620px); }
  .home-dark .hero-image > img.real-photo { height: 330px; }
  .home-compact-media .photo-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .home-dark .hero { padding: 48px 0 38px; }
  .home-dark .hero-image > img.real-photo { height: 230px; }
  .home-dark .hero-badge { position: static; margin-top: 10px; }
  .home-compact-media .photo-mosaic { grid-template-columns: 1fr; }
  .home-compact-media .photo-card,
  .home-compact-media .photo-card.wide,
  .home-compact-media .photo-card.tall { height: 210px; min-height: 0; }
  .home-compact-media .visual-card > img,
  .home-compact-media .project-card > img { height: 165px; }
  .home-compact-media .location-card { grid-template-columns: 92px 1fr; }
  .home-compact-media .location-card img { width: 92px; height: 76px; }
}
