@media (min-width: 801px) {
  .services {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .service {
    padding-left: 28px;
    padding-right: 28px;
  }
}

.service-delivery {
  background: #f5eee9;
}

.rider-delivery {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: stretch;
  background: var(--plum);
  color: #fff;
}

.rider-delivery-image {
  min-height: 0;
  margin: clamp(28px, 4vw, 56px) 0 clamp(28px, 4vw, 56px) clamp(28px, 4vw, 56px);
  aspect-ratio: 4 / 3;
  align-self: center;
  overflow: hidden;
}

.rider-delivery-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 52% center;
}

.rider-delivery-copy {
  padding: clamp(70px, 8vw, 120px) clamp(28px, 7vw, 100px);
  align-self: center;
}

.rider-delivery-copy h2 {
  margin: 0 0 28px;
  font-family: "Playfair Display", serif;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: .98;
  letter-spacing: -.035em;
}

.rider-delivery-copy h2 em {
  color: var(--copper);
  font-weight: 400;
}

.rider-delivery-copy > p:not(.eyebrow) {
  margin: 0;
  color: #dfd0d7;
  font-size: 1.05rem;
  line-height: 1.75;
}

.delivery-highlights {
  list-style: none;
  padding: 0;
  margin: 36px 0;
  border-top: 1px solid rgba(255,255,255,.18);
}

.delivery-highlights li {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) 1.3fr;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.delivery-highlights strong { color: #fff; }
.delivery-highlights span { color: #cdbfc5; line-height: 1.55; }

@media (max-width: 900px) {
  .rider-delivery { grid-template-columns: 1fr; }
  .rider-delivery-image { margin: 24px 24px 0; aspect-ratio: 16 / 10; }
  .rider-delivery-copy { padding: 70px 24px 80px; }
}

@media (max-width: 520px) {
  .delivery-highlights li { grid-template-columns: 1fr; gap: 6px; }
}

.service h3 .nail-service-title { font: inherit; }
.service h3 > a { font: inherit; }

.taxi-fleet {
  padding: 105px clamp(24px, 8vw, 130px) 115px;
  background: #160b10;
  color: #fff;
}

.fleet-heading {
  display: grid;
  grid-template-columns: 1.35fr .75fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 48px;
}

.fleet-heading h2 {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: clamp(2.7rem, 5vw, 5.4rem);
  line-height: .96;
  letter-spacing: -.035em;
}

.fleet-heading > p {
  margin: 0;
  color: #d6c8ce;
  font-size: 1.08rem;
  line-height: 1.75;
}

.fleet-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.fleet-card {
  background: #fff;
  color: var(--ink);
  overflow: hidden;
}

.fleet-image {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #332a2e;
}

.fleet-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

.fleet-card:hover .fleet-image img { transform: scale(1.025); }

.fleet-card-copy { padding: 28px 30px 32px; }
.fleet-card-copy span {
  color: var(--copper);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.fleet-card-copy h3 {
  margin: 8px 0 12px;
  color: var(--plum);
  font-family: "Playfair Display", serif;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
}
.fleet-card-copy p { margin: 0; color: var(--muted); line-height: 1.65; }
.fleet-cta { margin-top: 28px; background: var(--copper); color: #fff; }
.tour-offer { margin-top: 70px; padding-top: 60px; border-top: 1px solid rgba(255,255,255,.16); display: grid; grid-template-columns: 1fr .9fr; gap: 60px; align-items: center; }
.tour-offer h3 { margin: 0 0 20px; font-family: "Playfair Display",serif; font-size: clamp(2.5rem,4.5vw,4.6rem); line-height: 1; }
.tour-offer-copy > p:not(.eyebrow) { color: #d6c8ce; line-height: 1.75; max-width: 650px; }
.destination-list { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0 32px; }
.destination-list span { padding: 9px 13px; border: 1px solid rgba(255,255,255,.24); color: #f5eee7; font-size: .88rem; }
.tour-feature-photo { margin: 0; position: relative; }
.tour-feature-photo img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.tour-feature-photo figcaption { position: absolute; right: 14px; bottom: 14px; padding: 9px 12px; background: rgba(22,11,16,.82); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 800px) {
  .taxi-fleet { padding: 80px 24px; }
  .fleet-heading, .fleet-grid { grid-template-columns: 1fr; }
  .tour-offer { grid-template-columns: 1fr; gap: 30px; margin-top: 55px; padding-top: 45px; }
  .fleet-heading { gap: 24px; margin-bottom: 34px; }
  .fleet-grid { gap: 18px; }
  .fleet-card-copy { padding: 23px 22px 27px; }
}

.fleet-dialog {
  width: min(1000px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 36px;
  border: 0;
  background: var(--cream);
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(22, 11, 16, .45);
}
.fleet-dialog::backdrop { background: rgba(22, 11, 16, .8); backdrop-filter: blur(5px); }
.beauty-dialog { width: min(920px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 36px; border: 0; background: var(--cream); color: var(--ink); box-shadow: 0 28px 90px rgba(22,11,16,.45); }
.beauty-dialog::backdrop { background: rgba(22,11,16,.8); backdrop-filter: blur(5px); }
.beauty-dialog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 28px 0; }
.beauty-dialog-grid figure { margin: 0; background: #fff; overflow: hidden; }
.beauty-dialog-grid img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 22%; background: #21171b; }
.beauty-dialog-grid figcaption { padding: 18px 20px 22px; }
.beauty-dialog-grid figcaption span { color: var(--copper); font-size: .7rem; font-weight: 700; letter-spacing: .15em; }
.beauty-dialog-grid figcaption strong { display: block; color: var(--plum); font-family: "Playfair Display",serif; font-size: 1.35rem; margin: 6px 0; }
.beauty-dialog-grid figcaption p { color: var(--muted); font-size: .9rem; line-height: 1.5; margin: 0; }
.fleet-dialog-bar { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.fleet-dialog-bar .eyebrow { margin-bottom: 10px; }
.fleet-dialog-bar h2 { margin: 0; color: var(--plum); font-family: "Playfair Display", serif; font-size: clamp(2rem, 4vw, 3.5rem); }
.fleet-dialog-close { flex: 0 0 auto; width: 46px; height: 46px; border: 1px solid #cdbfc4; border-radius: 50%; background: #fff; color: var(--plum); font-size: 2rem; line-height: 1; cursor: pointer; }
.fleet-dialog-close:hover { background: var(--plum); color: #fff; }
.fleet-dialog-intro { max-width: 680px; color: var(--muted); line-height: 1.65; }
.fleet-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 28px 0; }
.fleet-dialog-grid figure { margin: 0; background: #fff; }
.fleet-dialog-grid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.fleet-dialog-grid figcaption { display: flex; flex-direction: column; gap: 5px; padding: 18px 20px; }
.fleet-dialog-grid figcaption span { color: var(--copper); font-size: .72rem; font-weight: 700; letter-spacing: .15em; }
.fleet-dialog-grid figcaption strong { color: var(--plum); font-family: "Playfair Display", serif; font-size: 1.35rem; }
.fleet-dialog-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body.dialog-open { overflow: hidden; }

.nail-dialog {
  width: min(1100px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 36px;
  border: 0;
  background: var(--cream);
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(22, 11, 16, .45);
}
.trading-dialog { width: min(1180px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 36px; border: 0; background: var(--cream); color: var(--ink); box-shadow: 0 28px 90px rgba(22,11,16,.45); }
.trading-dialog::backdrop { background: rgba(22,11,16,.8); backdrop-filter: blur(5px); }
.trading-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 28px 0; }
.trading-card { background: #fff; overflow: hidden; }
.trading-card img,.trading-card video { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #251820; }
.trading-card > div { padding: 17px 18px 20px; }
.trading-card span { color: var(--copper); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
.trading-card h3 { margin: 6px 0 8px; color: var(--plum); font-family: "Playfair Display",serif; font-size: 1.35rem; }
.trading-card p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.trading-video-card { grid-column: span 2; }
.trading-video-card video { aspect-ratio: 16/9; object-fit: contain; }
.art-dialog { width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:36px;border:0;background:var(--cream);color:var(--ink);box-shadow:0 28px 90px rgba(22,11,16,.45) }
.art-dialog::backdrop { background:rgba(22,11,16,.8);backdrop-filter:blur(5px) }
.art-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 }
.art-grid figure { margin:0;background:#fff;overflow:hidden }
.art-grid img,.art-grid video { display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:#21171b }
.art-grid .art-video { grid-column:span 2 }
.art-grid .art-video video { aspect-ratio:16/9 }
.art-grid figcaption { padding:13px 15px;color:var(--plum);font-family:"Playfair Display",serif;font-size:1.05rem }
.nail-dialog::backdrop { background: rgba(22, 11, 16, .8); backdrop-filter: blur(5px); }
.nail-dialog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 26px 0; }
.nail-dialog-grid img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #e6dcd7; }

@media (max-width: 640px) {
  .fleet-dialog, .beauty-dialog, .nail-dialog, .trading-dialog, .art-dialog { padding: 24px 18px; }
  .beauty-dialog-grid { grid-template-columns: 1fr; }
  .fleet-dialog-grid { grid-template-columns: 1fr; }
  .nail-dialog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trading-grid { grid-template-columns: 1fr; }
  .trading-video-card { grid-column: auto; }
  .art-grid { grid-template-columns:1fr 1fr }
  .art-grid .art-video { grid-column:span 2 }
  .fleet-dialog-actions { flex-direction: column; }
  .fleet-dialog-actions .button { text-align: center; }
}

@media (min-width: 641px) and (max-width: 900px) {
  .nail-dialog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Portfolio framing keeps complete nail sets visible on every screen. */
.nail-dialog-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.nail-dialog-grid img{object-fit:contain;object-position:center;background:#f1eded;border-radius:6px;min-width:0}
.nail-gallery-item{margin:0;min-width:0;background:#f8f5f6;border:1px solid #e7dfe2;border-radius:8px;overflow:hidden}
.nail-gallery-item figcaption{padding:12px 14px;color:var(--plum);font-size:1rem;line-height:1.5}
.nail-video-heading{font-family:"Playfair Display",serif;font-size:1.5rem;color:var(--plum);margin:28px 0 16px}
.nail-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px}
.nail-video-grid video{display:block;width:100%;height:480px;max-height:65vh;object-fit:contain;background:#21171b}
@media(max-width:900px){.nail-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.nail-dialog-grid,.nail-video-grid{grid-template-columns:1fr}.nail-video-grid video{height:440px}}

#nail-videos{scroll-margin-top:30px}.nail-video-link{margin:0 0 24px}.nail-video-intro{font-size:1rem;line-height:1.6;color:var(--muted);margin:0 0 20px}.showcase>.nail-video-grid{max-width:880px;margin-inline:auto}.showcase>.nail-video-heading{margin-top:36px}
