/* Dark hero */
.hero { background: var(--ink); padding: 72px 0 64px; }
.hero::before { background: radial-gradient(closest-side, rgba(150,132,46,.55), transparent 70%); opacity: 1; z-index: 0; right: -5%; top: -10%; width: 65%; height: 130%; }
.hero-inner { position: relative; z-index: 1; }
.hero h1 { color: var(--gold-light); }
.hero .hero-sub { color: rgba(255,255,255,.75); }
.hero .eyebrow { background: rgba(255,255,255,.1); color: var(--gold-light); }
.hero .btn-outline { border-color: rgba(255,255,255,.5); color: #fff; }
.hero .btn-outline:hover { background: rgba(255,255,255,.1); }
.hero-visual img { border-radius: 0; filter: drop-shadow(0 30px 40px rgba(0,0,0,.5)); max-height: 520px; width: auto; margin: 0 auto; }

/* About: collage + text */
.about-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.collage { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(6, 56px); gap: 12px; }
.collage img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.collage .c1 { grid-column: 1 / 5; grid-row: 1 / 4; }
.collage .c2 { grid-column: 5 / 7; grid-row: 1 / 3; }
.collage .c3 { grid-column: 5 / 7; grid-row: 3 / 5; }
.collage .c4 { grid-column: 1 / 3; grid-row: 4 / 7; }
.collage .c5 { grid-column: 3 / 7; grid-row: 5 / 7; }

/* Services + FAQ: light numbered list, thumbnail on hover */
.svc-dark { background: #fff; color: var(--ink); padding: 88px 0; }
.svc-dark-title { margin-bottom: 48px; white-space: pre-line; }
.dk-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.svc-dark h3.grp { color: var(--gold-deep); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; }
.dk-row { display: grid; grid-template-columns: 48px 1fr 40px; align-items: center; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--border); position: relative; color: var(--ink); transition: padding-left .25s ease; }
.dk-row .n { color: var(--gold-dark); font-weight: 700; font-size: .9rem; }
.dk-row .t { font-size: 1.25rem; font-weight: 700; }
.dk-row .s { display: block; color: var(--ink-soft); font-size: .88rem; font-weight: 400; margin-top: 2px; }
.dk-row svg { width: 22px; height: 22px; color: var(--gold-dark); transition: transform .25s ease; }
.dk-row:hover { padding-left: 12px; } .dk-row:hover svg { transform: translateX(4px); }
.dk-row .th { position: absolute; right: 56px; top: 50%; width: 130px; height: 86px; border-radius: 12px; object-fit: cover; opacity: 0; transform: translateY(-50%) scale(.9); pointer-events: none; transition: opacity .25s, transform .25s; box-shadow: var(--shadow-card-hover); z-index: 2; }
.dk-row:hover .th { opacity: 1; transform: translateY(-50%) scale(1); }
.dk-faq { margin-top: 88px; padding-top: 72px; border-top: 1px solid var(--border); }
@media (max-width: 900px) {
  .about-split, .dk-cols { grid-template-columns: 1fr; gap: 32px; }
  .dk-row .th { display: none; }
  .dk-faq { margin-top: 56px; padding-top: 48px; }
  .hero-visual img { max-height: 380px; }
}
.intro-block h2 { margin-bottom: 16px; }
.intro-block p { margin-bottom: 24px; font-size: 1.05rem; }
