/* pdp28: Repairs page (repairs.html), built to Ajith's mockup. */
.rp-page { background: #f5f5f6; }
.rp { --y: #ffd200; --ink: #111; overflow-x: clip; }
.rp-wrap { width: min(100% - 2.4rem, 1240px); margin-inline: auto; }
.rp-y { color: var(--y); }
.rp-dot { color: var(--y); }
/* hero */
.rp-hero { position: relative; background: #0d0d0e; color: #fff; overflow: hidden; isolation: isolate; }
.rp-hero__bg { position: absolute; z-index: -1; top: 0; right: 0; height: 100%; width: min(58%, 1100px); object-fit: cover; object-position: 40% 50%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%); mask-image: linear-gradient(90deg, transparent 0, #000 30%); }
.rp-hero__in { padding: 1.4rem 0 3.2rem; }
.rp-crumb { font-size: .82rem; color: #d7d7d7; margin-bottom: .55rem; }
.rp-crumb a { color: #d7d7d7; text-decoration: none; } .rp-crumb a:hover { color: var(--y); }
.rp-eyebrow { margin: 0 0 .55rem; color: var(--y); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.rp-hero h1 { margin: 0; font-size: clamp(2.1rem, 4.6vw, 4rem); line-height: 1.04; font-weight: 800; letter-spacing: -.02em; max-width: 15.5em; }
.rp-hero h1 span { display: block; }
.rp-hero__sub { margin: 1rem 0 1.6rem; font-size: clamp(1rem, 1.35vw, 1.2rem); color: #e8e8e8; }
.rp-hero__btns { display: flex; flex-wrap: wrap; gap: .7rem; }
.rp-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: .9rem; min-height: 50px; padding: .8rem 1.3rem; border-radius: 6px; font-weight: 700; font-size: 1rem; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.rp-btn .i-arr { flex: none; }
.rp-btn--y { background: var(--y); color: #111 !important; min-width: 9.5rem; }
.rp-btn--y:hover, .rp-btn--y:focus-visible { background: #ffe14d; }
.rp-btn--line { border: 1.5px solid rgba(255,255,255,.85); color: #fff; background: rgba(0,0,0,.25); }
.rp-btn--line:hover, .rp-btn--line:focus-visible { background: #fff; color: #111; }
.rp-btn--chip { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); color: #fff; font-size: .95rem; }
.rp-btn--block { width: 100%; }
/* sections */
.rp-sec { padding: 2.6rem 0 1rem; }
.rp-kicker { margin: 0 0 .35rem; color: #8a8d93; font-weight: 800; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.rp-kicker span { color: #c9c9c9; }
.rp-sec h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; color: #111; }
.rp-lead { margin: .4rem 0 1.4rem; font-size: 1.05rem; color: #222; }
.rp-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.rp-card { background: #fff; border: 1px solid #e6e7ea; border-radius: 10px; padding: .55rem .55rem 1.1rem; display: flex; flex-direction: column; }
.rp-card img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 7px; display: block; background: #efece7; }
.rp-card h3 { margin: .9rem .45rem .35rem; font-size: 1.05rem; font-weight: 800; color: #111; }
.rp-card p { margin: 0 .45rem; font-size: .93rem; line-height: 1.45; color: #4a4d52; }
.rp-card--ask { background: #1a1a1a; border-color: #1a1a1a; padding: 1.3rem 1.1rem 1.1rem; }
.rp-card--ask img { width: 88px; height: auto; aspect-ratio: auto; background: none; margin: .4rem auto .6rem; }
.rp-card--ask h3 { color: #fff; margin: .4rem 0 .35rem; }
.rp-card--ask p { color: #e3e3e3; margin: 0 0 1.1rem; }
.rp-card--ask .rp-btn { margin-top: auto; font-size: .95rem; min-height: 44px; }
/* steps */
.rp-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6rem; }
.rp-steps__list li { position: relative; display: flex; gap: 1.1rem; align-items: flex-start; background: #fff; border: 1px solid #e6e7ea; border-radius: 10px; padding: 1.1rem 1.2rem; }
.rp-steps__list li + li::before { content: "→"; position: absolute; left: -1.75rem; top: 50%; transform: translateY(-50%); color: #9a9da3; font-size: 1.1rem; }
.rp-n { flex: none; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #ececee; font-weight: 800; font-size: 1.3rem; color: #111; }
.rp-steps__list h3 { margin: .1rem 0 .3rem; font-size: 1.05rem; font-weight: 800; color: #111; }
.rp-steps__list p { margin: 0; font-size: .92rem; line-height: 1.45; color: #4a4d52; }
/* visit band */
.rp-visit { margin-top: 1.4rem; margin-bottom: 2.6rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1.4rem 1.6rem; align-items: center; padding: 1.4rem 1.8rem;
  border-radius: 8px; color: #fff; background: linear-gradient(90deg, #0e0e0f 0%, #121212 45%, rgba(18,18,18,.55) 75%, rgba(18,18,18,.35) 100%), url("../images/repairs/hero.webp") right 40% / 55% auto no-repeat, #121212; }
.rp-visit__pin { align-self: start; padding-top: .2rem; }
.rp-visit h2 { margin: 0 0 .35rem; font-size: clamp(1.25rem, 1.9vw, 1.6rem); font-weight: 800; color: #fff; }
.rp-visit__name { margin: 0 0 .35rem; font-weight: 600; }
.rp-visit ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; font-size: .95rem; color: #ececec; }
.rp-visit li { display: flex; align-items: center; gap: .55rem; }
.rp-visit li a { color: #fff; text-decoration: none; } .rp-visit li a:hover { color: var(--y); }
.rp-visit__btns { display: flex; gap: .8rem; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 1100px) { .rp-grid { grid-template-columns: repeat(3, 1fr); } .rp-visit { grid-template-columns: auto 1fr; } .rp-visit__btns { grid-column: 1 / -1; justify-content: flex-start; } }
@media (max-width: 860px) { .rp-grid { grid-template-columns: repeat(2, 1fr); } .rp-steps__list { grid-template-columns: 1fr; gap: .9rem; } .rp-steps__list li + li::before { display: none; } }
@media (max-width: 700px) {
  .rp-hero__bg { width: 100%; opacity: .45; -webkit-mask-image: linear-gradient(180deg, #000 0, #000 100%); mask-image: none; object-position: 70% 50%; }
  .rp-hero__in { padding: 1rem 0 2rem; }
  .rp-hero__btns .rp-btn { flex: 1 1 100%; }
  .rp-grid { gap: .7rem; }
  .rp-card h3 { font-size: .95rem; margin: .7rem .2rem .3rem; } .rp-card p { font-size: .85rem; margin: 0 .2rem; }
  .rp-card--ask { grid-column: 1 / -1; }
  .rp-visit { grid-template-columns: 1fr; padding: 1.3rem; background-size: cover; }
  .rp-visit__pin { display: none; }
  .rp-visit__btns .rp-btn { flex: 1 1 100%; }
}
/* pdp33: 19 services + ask card; container = homepage width; 5 columns on wide desktops down to 2 on phones */
.rp-wrap { width: var(--preview-max, min(100% - 2.4rem, 1520px)); }
.rp-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rp-card img { object-fit: cover; }
.rp-card h3 { line-height: 1.25; }
@media (max-width: 1360px) { .rp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .rp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .rp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .rp-card--ask { grid-column: auto; padding: 1rem .8rem .9rem; }
  .rp-card--ask img { width: 64px; }
  .rp-card--ask .rp-btn { padding: .6rem .7rem; font-size: .85rem; gap: .4rem; }
  .rp-btn { min-height: 48px; }
  .rp-hero h1 { font-size: clamp(1.9rem, 8.6vw, 2.4rem); }
  .rp-card h3 { overflow-wrap: anywhere; hyphens: auto; }
}
.rp-crumb a, .rp-visit li a { display: inline-block; padding: .65rem .2rem; margin: -.65rem -.2rem; }
/* pdp34: service cards are information only - not clickable */
.rp-card { cursor: default; transition: none; }
.rp-card:hover { transform: none; box-shadow: none; }
