/* REPA Services — seven connected capabilities, seven distinct compositions */
.repa-services,
.repa-svc {
    --svc-red: #b21f27;
    --svc-ink: #11151a;
    --svc-paper: #f1f3f5;
    --svc-line: #d7dce1;
    --svc-muted: #626d77;
    --svc-display: "Syne", Oswald, sans-serif;
    --svc-body: "Barlow", WorkSans, sans-serif;
    background: var(--svc-paper);
    color: var(--svc-ink);
    font-family: var(--svc-body);
    overflow: clip;
}

.banner-page:has(.repa-services, .repa-svc) > header {
    background:
        radial-gradient(ellipse 70% 120% at 15% 20%, rgba(178, 31, 39, 0.35), transparent 55%),
        linear-gradient(165deg, #101217 0%, #070809 55%, #0d1014 100%) !important;
}

.banner-page:has(.repa-services, .repa-svc) > header .container-fluid {
    background: transparent !important;
}

.repa-svc__shell {
    width: min(1380px, calc(100% - 6rem));
    margin: 0 auto;
}

.repa-svc :is(h1, h2, h3)::before,
.repa-svc :is(h1, h2, h3)::after,
.repa-services :is(h1, h2, h3)::before,
.repa-services :is(h1, h2, h3)::after {
    content: none !important;
    display: none !important;
}

/* Detail hero */
.repa-svc__hero {
    position: relative;
    display: flex;
    min-height: calc(clamp(520px, 70vh, 760px) + 6rem);
    align-items: flex-end;
    margin-top: -6rem;
    padding: 15rem 0 5rem;
    background: #080a0d;
    color: #fff;
    overflow: hidden;
}

.repa-svc__hero-media {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    width: 54%;
    opacity: 0.58;
    mask-image: linear-gradient(90deg, transparent, #000 28%, #000);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000);
}

.repa-svc__hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 8, 11, 0.08), rgba(5, 8, 11, 0.32));
}

.repa-svc__hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.62) contrast(1.04);
}

.repa-svc__hero-inner {
    position: relative;
    z-index: 3;
    width: min(1380px, calc(100% - 6rem));
    margin: 0 auto;
}

.repa-svc__crumb {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 1.7rem;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.repa-svc__crumb a {
    color: inherit !important;
    text-decoration: none !important;
}

.repa-svc__crumb a:hover {
    color: #fff !important;
}

.repa-svc__number {
    position: absolute;
    right: 0;
    bottom: -0.15em;
    color: rgba(255, 255, 255, 0.045);
    font-family: var(--svc-display);
    font-size: clamp(9rem, 22vw, 22rem);
    font-weight: 800;
    line-height: 0.72;
    letter-spacing: -0.1em;
}

.repa-svc__eyebrow {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0 0 1rem;
    color: #ef777d;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.repa-svc__eyebrow::before {
    content: "";
    width: 2.2rem;
    height: 2px;
    background: currentColor;
}

.repa-svc__hero h1 {
    position: relative;
    max-width: 14ch;
    margin: 0;
    color: #f8f7f3;
    font-family: var(--svc-display);
    font-size: clamp(3.8rem, 6.7vw, 6.9rem);
    font-weight: 780;
    line-height: 0.86;
    letter-spacing: -0.065em;
}

.repa-svc__lead {
    position: relative;
    max-width: 46rem;
    margin: 1.7rem 0 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.65;
}

.repa-svc__group {
    display: inline-flex;
    margin: 1.4rem 0 0;
    padding: 0.5rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/* Sticky service navigation */
.repa-svc__rail {
    position: sticky;
    z-index: 30;
    top: 4.6rem;
    border-bottom: 1px solid #242a30;
    background: rgba(12, 15, 19, 0.96);
    backdrop-filter: blur(14px);
}

.repa-svc__rail > div {
    display: flex;
    width: min(1380px, calc(100% - 6rem));
    margin: 0 auto;
    overflow-x: auto;
}

.repa-svc__rail a {
    display: flex;
    flex: 1 0 auto;
    align-items: center;
    gap: 0.55rem;
    min-height: 3.8rem;
    padding: 0.8rem 1rem;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.48) !important;
    font-size: 0.67rem;
    font-weight: 650;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    white-space: nowrap;
}

.repa-svc__rail a:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.repa-svc__rail a span {
    color: #ed7178;
    font-family: var(--svc-display);
    font-size: 0.62rem;
}

.repa-svc__rail a:hover,
.repa-svc__rail a.is-active {
    background: var(--svc-red);
    color: #fff !important;
}

.repa-svc__rail a.is-active span {
    color: #fff;
}

/* Statement and stats */
.repa-svc__statement {
    padding: clamp(3.5rem, 5vw, 5.5rem) 0;
    background:
        linear-gradient(90deg, transparent calc(50% - 1px), rgba(17, 21, 26, 0.05) 50%, transparent calc(50% + 1px)),
        var(--svc-paper);
}

.repa-svc__statement .repa-svc__shell {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(28rem, 0.88fr);
    align-items: center;
    gap: clamp(3rem, 6vw, 6rem);
}

.repa-svc__statement p {
    margin: 0;
    color: var(--svc-ink);
    font-family: var(--svc-display);
    font-size: clamp(2rem, 3.15vw, 3.75rem);
    font-weight: 650;
    line-height: 1.06;
    letter-spacing: -0.045em;
}

.repa-svc__stats {
    display: grid;
    grid-template-columns: 1fr;
    border: 1px solid #cbd1d7;
    background: rgba(255, 255, 255, 0.62);
}

.repa-svc__stats > div {
    display: grid;
    grid-template-columns: minmax(7rem, 8.5rem) minmax(0, 1fr);
    min-width: 0;
    min-height: 5rem;
    align-items: center;
    gap: 1.25rem;
    padding: 1rem 1.35rem;
    border-bottom: 1px solid #cbd1d7;
}

.repa-svc__stats > div:last-child {
    border-bottom: 0;
}

.repa-svc__stats strong,
.repa-svc__stats span {
    display: block;
}

.repa-svc__stats strong {
    color: var(--svc-red);
    font-family: var(--svc-display);
    font-size: clamp(1.05rem, 1.35vw, 1.4rem);
    line-height: 1;
    white-space: nowrap;
}

.repa-svc__stats span {
    margin-top: 0;
    color: var(--svc-muted);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.45;
    overflow-wrap: break-word;
}

/* Shared module pieces */
.repa-svc__module {
    padding: clamp(4.5rem, 8vw, 8rem) 0;
}

.repa-svc__section-head {
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--svc-line);
}

.repa-svc__section-head > span {
    color: var(--svc-red);
    font-size: 0.67rem;
    font-weight: 750;
    letter-spacing: 0.18em;
}

.repa-svc__section-head h2 {
    max-width: 20ch;
    margin: 0;
    color: var(--svc-ink);
    font-family: var(--svc-display);
    font-size: clamp(2.1rem, 4vw, 4.7rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.repa-svc__module-link {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    color: var(--svc-ink) !important;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.14em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.repa-svc__module-link b {
    color: var(--svc-red);
    font-size: 1.2rem;
}

.repa-svc__process-strip,
.repa-svc__factory-flow,
.repa-svc__dispatch {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 2rem;
    border: 1px solid var(--svc-line);
}

.repa-svc__process-strip > div,
.repa-svc__factory-flow > div,
.repa-svc__dispatch > div {
    min-height: 11rem;
    padding: 1.35rem;
    border-right: 1px solid var(--svc-line);
}

.repa-svc__process-strip > div:last-child,
.repa-svc__factory-flow > div:last-child,
.repa-svc__dispatch > div:last-child {
    border-right: 0;
}

.repa-svc__process-strip span,
.repa-svc__factory-flow span,
.repa-svc__dispatch span {
    color: var(--svc-red);
    font-family: var(--svc-display);
    font-size: 0.7rem;
}

.repa-svc__process-strip strong,
.repa-svc__factory-flow strong,
.repa-svc__dispatch strong {
    display: block;
    margin-top: 1.2rem;
    font-family: var(--svc-display);
    font-size: 1.05rem;
}

.repa-svc__process-strip p,
.repa-svc__factory-flow p,
.repa-svc__dispatch p {
    margin: 0.5rem 0 0;
    color: var(--svc-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

/* Development — blueprint */
.repa-svc__blueprint {
    background: #0b1118;
    color: #fff;
}

.repa-svc__blueprint .repa-svc__section-head {
    border-color: rgba(255, 255, 255, 0.14);
}

.repa-svc__blueprint .repa-svc__section-head h2 {
    color: #fff;
}

.repa-svc__blueprint-board {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    padding: 1px;
    background: rgba(117, 183, 233, 0.2);
    overflow: hidden;
}

.repa-svc__blueprint-board::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.22;
    background-image:
        linear-gradient(rgba(117, 183, 233, 0.25) 1px, transparent 1px),
        linear-gradient(90deg, rgba(117, 183, 233, 0.25) 1px, transparent 1px);
    background-size: 2rem 2rem;
}

.repa-svc__blueprint-board article {
    position: relative;
    z-index: 1;
    min-height: 15rem;
    padding: 2rem;
    background: rgba(10, 18, 27, 0.9);
}

.repa-svc__blueprint-board article > span {
    color: #6db7e8;
    font-family: var(--svc-display);
    font-size: 0.7rem;
}

.repa-svc__blueprint-board h3 {
    margin: 3.5rem 0 0;
    color: #fff;
    font-family: var(--svc-display);
    font-size: 1.45rem;
}

.repa-svc__blueprint-board p {
    max-width: 32rem;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.6;
}

.repa-svc__blueprint-orbit {
    position: absolute;
    z-index: 2;
    inset: 50% auto auto 50%;
    width: 15rem;
    height: 15rem;
    border: 1px solid rgba(109, 183, 232, 0.45);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.repa-svc__blueprint-orbit i {
    position: absolute;
    inset: 18%;
    border: 1px dashed rgba(109, 183, 232, 0.3);
    border-radius: 50%;
}

.repa-svc__blueprint-orbit i:nth-child(2) { inset: 38%; }
.repa-svc__blueprint-orbit i:nth-child(3) { inset: 49%; background: #6db7e8; }

.repa-svc__gate-line {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 2rem;
    border-top: 1px solid rgba(109, 183, 232, 0.32);
}

.repa-svc__gate-line > div {
    padding: 1.5rem 1rem 0;
    border-left: 1px solid rgba(109, 183, 232, 0.2);
}

.repa-svc__gate-line span { color: #6db7e8; font-size: 0.67rem; }
.repa-svc__gate-line strong { display: block; margin-top: 1rem; font-family: var(--svc-display); }
.repa-svc__gate-line p { color: rgba(255,255,255,.5); font-size: .75rem; line-height: 1.45; }

/* Production — factory lanes */
.repa-svc__factory {
    background:
        linear-gradient(rgba(17, 21, 26, 0.04) 1px, transparent 1px),
        #f7f8f9;
    background-size: 100% 4.5rem;
}

.repa-svc__factory-line {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.repa-svc__factory-line article {
    min-height: 22rem;
    padding: 1.5rem;
    border-top: 4px solid var(--svc-red);
    background: #11151a;
    color: #fff;
}

.repa-svc__factory-line article > span {
    color: rgba(255,255,255,.32);
    font-family: var(--svc-display);
    font-size: 2.8rem;
}

.repa-svc__factory-line article > div {
    margin-top: 5rem;
}

.repa-svc__factory-line h3 {
    margin: 0;
    color: #fff;
    font-family: var(--svc-display);
    font-size: 1.4rem;
}

.repa-svc__factory-line p {
    color: rgba(255,255,255,.56);
    line-height: 1.55;
}

/* Modernization — before/after */
.repa-svc__comparison {
    background: #e8ebee;
}

.repa-svc__compare {
    position: relative;
    height: clamp(28rem, 56vw, 47rem);
    border: 1px solid #cdd3d9;
    background: #11151a;
    overflow: hidden;
}

.repa-svc__compare-layer {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.repa-svc__compare-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.repa-svc__compare-layer.is-before img { filter: grayscale(1) contrast(1.08); }
.repa-svc__compare-layer.is-after { width: 52%; border-right: 2px solid #fff; }
.repa-svc__compare-layer.is-after img { width: min(1380px, calc(100vw - 6rem)); max-width: none; filter: saturate(.85); }

.repa-svc__compare-layer span {
    position: absolute;
    left: 1.25rem;
    bottom: 1.25rem;
    padding: .55rem .7rem;
    background: rgba(8,10,13,.82);
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.repa-svc__compare-layer.is-before span { left: auto; right: 1.25rem; }
.repa-svc__compare input { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; }
.repa-svc__compare > i { position: absolute; z-index: 4; top: 50%; left: 52%; width: 3.5rem; height: 3.5rem; border: 1px solid #fff; border-radius: 50%; background: var(--svc-red); transform: translate(-50%,-50%); box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.repa-svc__compare > i::before { content: "↔"; display: grid; place-items: center; width: 100%; height: 100%; color: #fff; font-size: 1.3rem; font-style: normal; }

.repa-svc__compare-notes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 1rem;
    border: 1px solid #ccd2d8;
    background: #f5f6f7;
}

.repa-svc__compare-notes article { padding: 1.35rem; border-right: 1px solid #ccd2d8; }
.repa-svc__compare-notes article:last-child { border-right: 0; }
.repa-svc__compare-notes span { color: var(--svc-red); font-family: var(--svc-display); }
.repa-svc__compare-notes h3 { margin: 1.4rem 0 .5rem; font-family: var(--svc-display); font-size: 1rem; }
.repa-svc__compare-notes p { color: var(--svc-muted); font-size: .78rem; line-height: 1.5; }

/* Repairs — diagnostic console */
.repa-svc__diagnostic {
    background: #11151a;
    color: #fff;
}

.repa-svc__diagnostic .repa-svc__section-head { border-color: rgba(255,255,255,.13); }
.repa-svc__diagnostic .repa-svc__section-head h2 { color: #fff; }
.repa-svc__diagnostic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.12); }
.repa-svc__diagnostic-grid article,
.repa-svc__diagnostic-core { min-height: 16rem; padding: 1.5rem; background: #0d1116; }
.repa-svc__diagnostic-core { position: relative; display: grid; place-items: center; text-align: center; overflow: hidden; }
.repa-svc__diagnostic-core::before { content:""; position:absolute; width:12rem; height:12rem; border:1px solid rgba(178,31,39,.5); border-radius:50%; box-shadow: inset 0 0 0 2rem rgba(178,31,39,.04); }
.repa-svc__diagnostic-core span { color:rgba(255,255,255,.42); font-size:.65rem; letter-spacing:.2em; }
.repa-svc__diagnostic-core strong { z-index:1; font-family:var(--svc-display); font-size:2rem; }
.repa-svc__diagnostic-grid article > span { color:#ed7178; font-family:var(--svc-display); font-size:.7rem; }
.repa-svc__diagnostic-grid h3 { margin:3.5rem 0 .6rem; color:#fff; font-family:var(--svc-display); font-size:1.2rem; }
.repa-svc__diagnostic-grid p { color:rgba(255,255,255,.52); line-height:1.55; }
.repa-svc__diagnostic-flow { display:grid; grid-template-columns:repeat(5,1fr); margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.15); }
.repa-svc__diagnostic-flow li { display:flex; gap:1rem; padding:1.4rem 1rem 0; border-left:1px solid rgba(255,255,255,.1); }
.repa-svc__diagnostic-flow li > span { color:#ed7178; font-family:var(--svc-display); font-size:.7rem; }
.repa-svc__diagnostic-flow strong { font-family:var(--svc-display); font-size:.9rem; }
.repa-svc__diagnostic-flow p { color:rgba(255,255,255,.45); font-size:.72rem; line-height:1.4; }

/* Life cycle — timeline */
.repa-svc__lifecycle { background:#f7f5f0; }
.repa-svc__life-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); padding-top:4rem; }
.repa-svc__life-track::before { content:""; position:absolute; left:0; right:0; top:1.2rem; height:2px; background:linear-gradient(90deg,var(--svc-red),#11151a); }
.repa-svc__life-track article { position:relative; min-height:15rem; padding:1.5rem; border-left:1px solid #cbc8c1; }
.repa-svc__life-track article > span { position:absolute; top:-4rem; left:0; display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:#11151a; color:#fff; font-family:var(--svc-display); font-size:.68rem; }
.repa-svc__life-track small { color:var(--svc-red); letter-spacing:.15em; }
.repa-svc__life-track h3 { margin:2.2rem 0 .6rem; font-family:var(--svc-display); font-size:1.35rem; }
.repa-svc__life-track p { color:var(--svc-muted); line-height:1.55; }
.repa-svc__life-ledger { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.repa-svc__life-ledger article { position:relative; min-height:12rem; padding:1.5rem 1.5rem 1.5rem 4rem; border:1px solid #d3d0c9; background:#fff; }
.repa-svc__life-ledger i { position:absolute; left:1.4rem; top:1.6rem; width:1.1rem; height:1.1rem; border:1px solid var(--svc-red); border-radius:50%; box-shadow:inset 0 0 0 4px #fff; background:var(--svc-red); }
.repa-svc__life-ledger h3 { margin:0; font-family:var(--svc-display); font-size:1.2rem; }
.repa-svc__life-ledger p { color:var(--svc-muted); line-height:1.55; }

/* Technology transfer — steps */
.repa-svc__transfer { background:#e9edf0; }
.repa-svc__transfer-steps { display:grid; gap:.55rem; }
.repa-svc__transfer-steps article { display:grid; grid-template-columns:6rem minmax(0,1fr); align-items:center; width:calc(100% - (var(--step) * 5%)); margin-left:calc(var(--step) * 5%); min-height:8.5rem; border-left:4px solid var(--svc-red); background:#11151a; color:#fff; }
.repa-svc__transfer-steps article > span { display:grid; place-items:center; align-self:stretch; border-right:1px solid rgba(255,255,255,.12); color:#ec767c; font-family:var(--svc-display); }
.repa-svc__transfer-steps article > div { padding:1.2rem 1.6rem; }
.repa-svc__transfer-steps h3 { margin:0; color:#fff; font-family:var(--svc-display); font-size:1.35rem; }
.repa-svc__transfer-steps p { margin:.45rem 0 0; color:rgba(255,255,255,.54); line-height:1.5; }
.repa-svc__transfer-packages { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:4rem; }
.repa-svc__transfer-packages article { min-height:16rem; padding:1.4rem; border:1px solid #cbd1d6; background:#f8f9fa; }
.repa-svc__transfer-packages span { color:var(--svc-red); font-size:.65rem; letter-spacing:.14em; }
.repa-svc__transfer-packages h3 { margin:3.5rem 0 .6rem; font-family:var(--svc-display); font-size:1.15rem; }
.repa-svc__transfer-packages p { color:var(--svc-muted); font-size:.8rem; line-height:1.5; }

/* Sales & logistics — route map */
.repa-svc__logistics { background:#0d1116; color:#fff; }
.repa-svc__logistics .repa-svc__section-head { border-color:rgba(255,255,255,.14); }
.repa-svc__logistics .repa-svc__section-head h2 { color:#fff; }
.repa-svc__logistics-map { display:grid; grid-template-columns:1fr; border:1px solid rgba(255,255,255,.13); }
.repa-svc__map-field {
    position:relative;
    min-width:0;
    min-height:clamp(34rem,54vw,46rem);
    overflow:hidden;
    background:
        radial-gradient(circle at 55% 44%,rgba(178,31,39,.2),transparent 24%),
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
        #0a0e13;
    background-size:auto,2.5rem 2.5rem,2.5rem 2.5rem,auto;
    animation:svc-map-grid 18s linear infinite;
}
.repa-svc__map-field::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(10,14,19,.55),transparent 18%,transparent 82%,rgba(10,14,19,.5));
}
.repa-svc__map-title { position:absolute; z-index:3; top:1.5rem; left:1.6rem; }
.repa-svc__map-title span,.repa-svc__map-title strong { display:block; }
.repa-svc__map-title span { color:#ee747b; font-size:.62rem; font-weight:700; letter-spacing:.18em; }
.repa-svc__map-title strong { margin-top:.4rem; color:#fff; font-family:var(--svc-display); font-size:1.15rem; letter-spacing:.04em; }
.repa-svc__world { position:absolute; z-index:1; inset:4.8rem 1.2rem 1.2rem; width:calc(100% - 2.4rem); height:calc(100% - 6rem); overflow:visible; }
.repa-svc__natural-earth { opacity:.2; filter:invert(1) sepia(.08) saturate(.45) hue-rotate(170deg); }
.repa-svc__route-lines path { fill:none; stroke:#cf4149; stroke-width:1.6; stroke-dasharray:7 8; vector-effect:non-scaling-stroke; animation:svc-route-flow 1.1s linear infinite; }
.repa-svc__route-lines path:nth-child(even) { stroke:rgba(238,116,123,.64); animation-duration:1.45s; }
.repa-svc__destination-nodes circle { fill:#ee747b; stroke:#fff; stroke-width:1.5; filter:drop-shadow(0 0 7px rgba(238,116,123,.8)); transform-box:fill-box; transform-origin:center; animation:svc-destination-pulse 2.4s ease-in-out infinite; }
.repa-svc__destination-nodes circle:nth-child(2n) { animation-delay:-1.2s; }
.repa-svc__moving-packets circle { fill:#fff; stroke:#cf2933; stroke-width:2; filter:drop-shadow(0 0 6px #ed5a63); }
.repa-svc__ankara-node .pulse { fill:none; stroke:#ed555e; stroke-width:2; opacity:0; animation:svc-ankara-pulse 2.6s ease-out infinite; }
.repa-svc__ankara-node .pulse-b { animation-delay:1.3s; }
.repa-svc__ankara-node .core-ring { fill:#111820; stroke:#fff; stroke-width:2; }
.repa-svc__ankara-node .core { fill:#d12933; filter:drop-shadow(0 0 8px #ed555e); }
.repa-svc__ankara-label { fill:#fff; font-family:var(--svc-display); font-size:13px; font-weight:700; letter-spacing:1.5px; }
.repa-svc__map-coordinate { fill:rgba(255,255,255,.45); font-family:var(--svc-body); font-size:9px; letter-spacing:1px; }
@keyframes svc-map-grid { to { background-position:0,2.5rem 2.5rem,2.5rem 2.5rem,0; } }
@keyframes svc-route-flow { to { stroke-dashoffset:-30; } }
@keyframes svc-destination-pulse { 0%,100% { transform:scale(.8); opacity:.55; } 50% { transform:scale(1.3); opacity:1; } }
@keyframes svc-ankara-pulse { 0% { transform:scale(.25); opacity:.9; } 100% { transform:scale(2.3); opacity:0; } }
.repa-svc__logistics-copy { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.12); background:#11151a; }
.repa-svc__logistics-copy article { min-height:12rem; padding:1.4rem; border-right:1px solid rgba(255,255,255,.1); }
.repa-svc__logistics-copy article:last-child { border-right:0; }
.repa-svc__logistics-copy span { color:#ed7178; font-family:var(--svc-display); font-size:.7rem; }
.repa-svc__logistics-copy h3 { margin:2rem 0 .6rem; color:#fff; font-family:var(--svc-display); font-size:1.05rem; }
.repa-svc__logistics-copy p { color:rgba(255,255,255,.56); font-size:.85rem; line-height:1.55; }
.repa-svc__dispatch { border-color:rgba(255,255,255,.13); }
.repa-svc__dispatch > div { border-color:rgba(255,255,255,.13); }
.repa-svc__dispatch strong { color:#fff; }.repa-svc__dispatch p { color:rgba(255,255,255,.5); }

/* Quality */
.repa-svc__quality {
    padding: clamp(4rem, 7vw, 7rem) 0;
    background: var(--svc-red);
    color: #fff;
}

.repa-svc__quality .repa-svc__shell {
    display: grid;
    grid-template-columns: 1fr 22rem;
    align-items: center;
    gap: 6rem;
}

.repa-svc__quality-copy > span { font-size:.67rem; font-weight:750; letter-spacing:.2em; opacity:.7; }
.repa-svc__quality h2 { max-width:18ch; margin:1.2rem 0; color:#fff; font-family:var(--svc-display); font-size:clamp(2.2rem,4vw,4.6rem); line-height:.98; letter-spacing:-.05em; }
.repa-svc__quality p { max-width:46rem; color:rgba(255,255,255,.72); line-height:1.65; }
.repa-svc__quality a { display:inline-flex; gap:1rem; margin-top:1rem; color:#fff!important; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-decoration:none!important; text-transform:uppercase; }
.repa-svc__quality-mark { position:relative; display:grid; place-items:center; aspect-ratio:1; border:1px solid rgba(255,255,255,.34); border-radius:50%; text-align:center; }
.repa-svc__quality-mark::before { content:""; position:absolute; inset:12%; border:1px dashed rgba(255,255,255,.36); border-radius:50%; }
.repa-svc__quality-mark span,.repa-svc__quality-mark small { position:absolute; font-size:.58rem; letter-spacing:.18em; }
.repa-svc__quality-mark span { top:24%; }.repa-svc__quality-mark small { bottom:24%; }
.repa-svc__quality-mark strong { font-family:var(--svc-display); font-size:6rem; line-height:1; }

.repa-svc__hero-media.is-missing::before,
.repa-services__card-media.is-missing::before { content:"REPA / VISUAL PLACEHOLDER"; position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.35); font-size:.65rem; letter-spacing:.18em; background:linear-gradient(135deg,#161b21,#0b0e12); }

/* FAQ */
.repa-svc__faq { padding:clamp(3.75rem,5vw,5.5rem) 0; background:#f7f8f9; }
.repa-svc__faq-list { border-top:1px solid #ccd2d7; }
.repa-svc__faq details { border-bottom:1px solid #ccd2d7; }
.repa-svc__faq summary { display:grid; grid-template-columns:4.5rem minmax(0,1fr) 2rem; align-items:center; min-height:5.25rem; padding:.65rem 0; color:var(--svc-ink); font-family:var(--svc-display); font-size:clamp(1.05rem,1.35vw,1.3rem); cursor:pointer; list-style:none; }
.repa-svc__faq summary::-webkit-details-marker { display:none; }
.repa-svc__faq summary::after { content:"+"; justify-self:end; color:var(--svc-red); font-family:var(--svc-body); font-size:1.5rem; }
.repa-svc__faq details[open] summary::after { content:"−"; }
.repa-svc__faq summary span { color:#7c8791; font-family:var(--svc-body); font-size:.8rem; font-weight:650; }
.repa-svc__faq details > p { max-width:58rem; margin:0 3rem 1.75rem 4.5rem; padding:1.25rem 1.5rem; border-left:3px solid var(--svc-red); background:#eef1f3; color:#46515b; font-size:1rem; line-height:1.7; }

/* CTA */
.repa-svc__cta { padding:clamp(5rem,9vw,9rem) 0; background:#080a0d; color:#fff; }
.repa-svc__cta span { color:#ed7178; font-size:.68rem; font-weight:700; letter-spacing:.2em; }
.repa-svc__cta h2 { max-width:17ch; margin:1.3rem 0; color:#fff; font-family:var(--svc-display); font-size:clamp(2.7rem,5.8vw,6.8rem); line-height:.9; letter-spacing:-.06em; }
.repa-svc__cta p { max-width:42rem; color:rgba(255,255,255,.55); line-height:1.6; }
.repa-svc__cta a { display:inline-flex; align-items:center; gap:2rem; margin-top:1.5rem; padding:1rem 1.2rem; border:1px solid rgba(255,255,255,.22); color:#fff!important; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-decoration:none!important; text-transform:uppercase; }

/* Services index */
.repa-services__hero { position:relative; display:flex; align-items:flex-end; min-height:calc(clamp(480px,65vh,680px) + 6rem); margin-top:-6rem; padding:15rem 0 5rem; background:#080a0d; color:#fff; overflow:hidden; }
.repa-services__hero-inner { position:relative; z-index:2; width:min(1380px,calc(100% - 6rem)); margin:0 auto; }
.repa-services__kicker { color:#ed7178; font-size:.7rem; font-weight:700; letter-spacing:.22em; }
.repa-services__hero h1 { max-width:14ch; margin:1rem 0; color:#fff; font-family:var(--svc-display); font-size:clamp(3.5rem,7vw,8rem); line-height:.88; letter-spacing:-.065em; }
.repa-services__hero-inner > p:last-child { max-width:44rem; color:rgba(255,255,255,.6); font-size:1.05rem; line-height:1.65; }
.repa-services__intro { padding:4rem 0; background:#f1f3f5; }
.repa-services__intro .repa-svc__shell { display:grid; grid-template-columns:1fr auto; gap:5rem; align-items:end; padding-bottom:2rem; border-bottom:1px solid #ccd2d7; }
.repa-services__intro p { max-width:38ch; margin:0; font-family:var(--svc-display); font-size:clamp(1.7rem,3vw,3.4rem); line-height:1.12; letter-spacing:-.04em; }
.repa-services__intro div > div { display:flex; align-items:flex-end; gap:1rem; }
.repa-services__intro strong { font-family:var(--svc-display); font-size:5rem; line-height:.75; }
.repa-services__intro span { color:var(--svc-muted); font-size:.62rem; font-weight:700; letter-spacing:.15em; }
.repa-services__map { padding:1rem 0 7rem; background:#f1f3f5; }
.repa-services__map .repa-svc__shell { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.repa-services__card { position:relative; grid-column:span 4; min-height:31rem; background:#0e1216; color:#fff!important; text-decoration:none!important; overflow:hidden; }
.repa-services__card:nth-child(1),.repa-services__card:nth-child(6) { grid-column:span 7; }
.repa-services__card:nth-child(2),.repa-services__card:nth-child(7) { grid-column:span 5; }
.repa-services__card-media { position:absolute; inset:0; background:#14191f; }
.repa-services__card-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(5,8,11,.95)); }
.repa-services__card-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.62); transition:transform .7s ease,filter .7s ease; }
.repa-services__card:hover img { transform:scale(1.04); filter:saturate(.9); }
.repa-services__card-num { position:absolute; z-index:2; top:1.2rem; right:1.2rem; color:rgba(255,255,255,.45); font-family:var(--svc-display); font-size:.7rem; }
.repa-services__card-copy { position:absolute; z-index:2; inset:auto 0 0; padding:5rem 1.5rem 1.5rem; }
.repa-services__card-copy small { color:#ee747b; font-size:.62rem; font-weight:700; letter-spacing:.14em; }
.repa-services__card-copy h2 { max-width:18ch; margin:.6rem 0; color:#fff; font-family:var(--svc-display); font-size:clamp(1.6rem,2.6vw,2.7rem); line-height:1; }
.repa-services__card-copy p { color:rgba(255,255,255,.55); }
.repa-services__card-copy b { position:absolute; right:1.5rem; bottom:1.5rem; font-size:1.4rem; }
.repa-services__brands { padding:5rem 0; background:var(--svc-red); color:#fff; }
.repa-services__brands span { font-size:.66rem; font-weight:700; letter-spacing:.18em; }
.repa-services__brands div { display:flex; justify-content:space-between; gap:2rem; margin-top:2rem; border-top:1px solid rgba(255,255,255,.35); padding-top:2rem; }
.repa-services__brands strong { font-family:var(--svc-display); font-size:clamp(1.3rem,2.5vw,2.8rem); }

@media (max-width: 1050px) {
    .repa-svc__shell,.repa-svc__hero-inner,.repa-svc__rail>div,.repa-services__hero-inner { width:min(100% - 3rem,900px); }
    .repa-svc__statement .repa-svc__shell { grid-template-columns:1fr; gap:3rem; }
    .repa-svc__hero-media { width:70%; }
    .repa-svc__factory-line,.repa-svc__compare-notes,.repa-svc__transfer-packages { grid-template-columns:repeat(2,1fr); }
    .repa-svc__logistics-map { grid-template-columns:1fr; }
    .repa-svc__map-field { min-height:28rem; }
    .repa-svc__logistics-copy { grid-template-columns:repeat(2,1fr); }
    .repa-svc__logistics-copy article { border-bottom:1px solid rgba(255,255,255,.1); }
    .repa-svc__logistics-copy article:nth-child(2n) { border-right:0; }
    .repa-svc__quality .repa-svc__shell { grid-template-columns:1fr 16rem; gap:3rem; }
    .repa-services__map .repa-svc__shell { grid-template-columns:repeat(2,1fr); }
    .repa-services__card,.repa-services__card:nth-child(n) { grid-column:span 1; }
}

@media (max-width: 700px) {
    .repa-svc__shell,.repa-svc__hero-inner,.repa-services__hero-inner { width:calc(100vw - 2rem); max-width:calc(100vw - 2rem); }
    .repa-svc__rail>div { width:100vw; max-width:100vw; }
    .repa-svc__hero { min-height:0; margin-top:-5rem; padding:11.5rem 0 3rem; }
    .repa-svc__hero-media { width:100%; opacity:.3; }
    .repa-svc__hero h1 { max-width:100%; font-size:1.75rem; overflow-wrap:normal; word-break:normal; }
    .repa-svc__lead { width:calc(100vw - 2rem); max-width:calc(100vw - 2rem); font-size:.9rem; white-space:normal!important; overflow-wrap:break-word; }
    .repa-svc__rail { top:4rem; }
    .repa-svc__statement .repa-svc__shell { gap:2rem; }
    .repa-svc__statement p { width:calc(100vw - 2rem); max-width:calc(100vw - 2rem); font-size:1.7rem; white-space:normal!important; overflow-wrap:anywhere; }
    .repa-svc__stats { grid-template-columns:1fr; }
    .repa-svc__stats>div { min-height:0; border-right:0; border-bottom:1px solid #cbd1d7; }
    .repa-svc__stats>div:last-child { border-bottom:0; }
    .repa-svc__section-head { grid-template-columns:1fr; gap:.8rem; }
    .repa-svc__section-head h2 { font-size:2.25rem; }
    .repa-svc__blueprint-board,.repa-svc__factory-line,.repa-svc__compare-notes,.repa-svc__life-ledger,.repa-svc__transfer-packages,.repa-svc__logistics-copy { grid-template-columns:1fr; }
    .repa-svc__blueprint-orbit { display:none; }
    .repa-svc__gate-line,.repa-svc__process-strip,.repa-svc__factory-flow,.repa-svc__dispatch,.repa-svc__diagnostic-flow,.repa-svc__life-track { grid-template-columns:1fr; }
    .repa-svc__gate-line>div,.repa-svc__process-strip>div,.repa-svc__factory-flow>div,.repa-svc__dispatch>div { border-right:0; border-bottom:1px solid var(--svc-line); }
    .repa-svc__diagnostic-grid { grid-template-columns:1fr; }
    .repa-svc__map-field { min-height:22rem; }
    .repa-svc__world { inset:4.2rem .25rem .35rem; width:calc(100% - .5rem); height:calc(100% - 4.55rem); }
    .repa-svc__map-title { top:1rem; left:1rem; }
    .repa-svc__map-title span { font-size:.52rem; }
    .repa-svc__map-title strong { font-size:1rem; }
    .repa-svc__logistics-copy article {
        display:grid;
        grid-template-columns:2.2rem minmax(0,1fr);
        min-height:0;
        gap:.3rem .75rem;
        padding:1.15rem 1rem;
        border-right:0;
    }
    .repa-svc__logistics-copy article > span { grid-row:1 / span 2; padding-top:.15rem; }
    .repa-svc__logistics-copy h3 { grid-column:2; margin:0; font-size:1rem; }
    .repa-svc__logistics-copy p { grid-column:2; margin:.15rem 0 0; font-size:.82rem; }
    .repa-svc__dispatch>div { min-height:0; padding:1rem 1.15rem; }
    .repa-svc__life-track::before { left:1.2rem; top:0; bottom:0; width:2px; height:auto; }
    .repa-svc__life-track article { padding:1rem 1rem 1rem 4rem; }
    .repa-svc__life-track article>span { top:1rem; left:0; }
    .repa-svc__transfer-steps article { grid-template-columns:4rem 1fr; width:100%; margin-left:0; }
    .repa-svc__quality .repa-svc__shell { grid-template-columns:1fr; }
    .repa-svc__quality-mark { width:14rem; margin:auto; }
    .repa-svc__faq summary { grid-template-columns:2.5rem minmax(0,1fr) 1.5rem; font-size:1rem; }
    .repa-svc__faq details>p { margin:0 0 1.25rem 2.5rem; padding:1rem; font-size:.95rem; }
    .repa-services__hero { min-height:0; margin-top:-5rem; padding:11.5rem 0 3rem; }
    .repa-services__hero h1 { font-size:3.15rem; }
    .repa-services__intro .repa-svc__shell { grid-template-columns:1fr; gap:2rem; }
    .repa-services__map .repa-svc__shell { grid-template-columns:1fr; }
    .repa-services__card { min-height:25rem; }
    .repa-services__brands div { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
    .repa-svc__map-field,
    .repa-svc__route-lines path,
    .repa-svc__destination-nodes circle,
    .repa-svc__ankara-node .pulse {
        animation: none;
    }

    .repa-svc__moving-packets {
        display: none;
    }
}
