/* Home page */
.hero-copy { max-width: min(max(68cqw, 100%), 920px); }

.services-overview-grid { margin-top: clamp(40px,7.03cqw,92.8px); display: flex; flex-wrap: wrap; gap: clamp(28px,4.83cqw,63.8px); }
.service-card { flex: 1 1 210px; min-width: 0; border-top: 1px solid rgba(17,17,17,.16); padding-top: clamp(20px,3.08cqw,40.6px); }
.service-card svg { width: 30px; height: 30px; display: block; opacity: .9; margin-top: 4px; }
.service-card h3 { margin: clamp(18px,2.86cqw,37.7px) 0 10px; font-size: clamp(17px,2.42cqw,31.9px); font-weight: 700; letter-spacing: -0.025em; line-height: 1.25; }
.service-card p { margin: 0; font-size: clamp(14.5px,1.76cqw,23.2px); line-height: 1.58; color: var(--ink-soft); }

.mosaic-row { margin-top: clamp(36px,6.37cqw,84.1px); display: flex; flex-wrap: wrap; gap: clamp(16px,2.64cqw,34.8px); }
.mosaic-row + .mosaic-row { margin-top: clamp(16px,2.64cqw,34.8px); }
.mosaic-tile {
  min-width: 0; border-radius: 16px; overflow: hidden; position: relative;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.07); cursor: pointer;
}
.mosaic-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.mosaic-tile .sheen-sweep { position: absolute; inset: -35% -55%; background: linear-gradient(101deg, transparent 34%, rgba(255,255,255,.35) 50%, transparent 66%); animation: sheenSweep 15s ease-in-out infinite; }
.mosaic-tile .tag { position: absolute; left: 20px; bottom: 20px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; color: var(--paper); text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.mosaic-tile.wide { flex: 3 1 440px; aspect-ratio: 16 / 10; }
.mosaic-tile.tall { flex: 2 1 300px; align-self: stretch; aspect-ratio: 4 / 5; }
.mosaic-tile.square { flex: 1 1 220px; aspect-ratio: 1 / 1; }
.mosaic-tile.portrait3-2 { flex: 2 1 340px; aspect-ratio: 3 / 2; }

.plans-teaser-row {
  display: flex; gap: clamp(14px,2.42cqw,31.9px); overflow-x: auto;
  scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px;
}
.plans-teaser-row::-webkit-scrollbar { display: none; }
.plan-teaser-card {
  flex: 1 0 min(84%, 240px); scroll-snap-align: start; display: flex; flex-direction: column;
  border: 1px solid rgba(17,17,17,.12); border-radius: 16px; padding: clamp(22px,3.52cqw,46.4px);
  background: rgba(250,248,245,.82);
  background-image: linear-gradient(115deg, rgba(255,255,255,0) 34%, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 66%);
  background-repeat: no-repeat; background-size: 260% 100%; background-position: 134% 0;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.plan-teaser-card h3 { margin: 0 0 12px; font-size: clamp(17px,2.42cqw,31.9px); font-weight: 700; letter-spacing: -0.025em; }
.plan-teaser-card .desc { margin: 0; font-size: clamp(13.5px,1.65cqw,21.8px); line-height: 1.55; color: var(--ink-softer); }
