.realisation-page{background:var(--surface-page);color:var(--text-primary)}
.realisation-page main{overflow:hidden}
.realisation-shell{width:min(100% - clamp(40px,8.6vw,160px),1760px);margin-inline:auto}
.realisation-hero,.realisation-route,.realisation-team,.realisation-videos,.realisation-build,.realisation-process,.realisation-projects,.realisation-stages{padding-block:clamp(92px,10vw,150px)}
.realisation-hero{padding-top:clamp(64px,7vw,104px)}
.realisation-hero h1{max-width:1160px;margin:0 0 46px;font-size:clamp(54px,5.2vw,80px);font-weight:300;line-height:1.02;letter-spacing:-.04em}
.realisation-hero__media{display:block;width:100%;height:clamp(480px,46vw,680px);overflow:hidden;background:var(--grv-warm-grey)}
.realisation-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform 1s var(--ease)}
.realisation-hero__media:hover img{transform:scale(1.025)}
.realisation-hero__foot{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);gap:64px;align-items:start;padding-top:30px}
.realisation-hero__foot p{max-width:810px;margin:0;font-size:18px;line-height:1.58;color:var(--text-secondary)}
.realisation-hero__actions{display:flex;justify-content:flex-end;gap:12px}
.realisation-route{border-block:1px solid var(--border-subtle)}
.realisation-route__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(560px,1fr);gap:clamp(64px,7vw,118px)}
.realisation-route__copy h2,.realisation-process h2,.realisation-projects h2,.realisation-stages h2,.realisation-cta h2,.realisation-team h2,.realisation-build h2{margin:0;font-size:clamp(42px,3.4vw,50px);font-weight:300;line-height:1.06;letter-spacing:-.035em}
.realisation-lead{max-width:630px;margin:28px 0 0;font-size:20px;line-height:1.55;color:var(--text-secondary)}
.realisation-route__media{position:relative;height:300px;margin-top:42px;overflow:hidden;background:var(--grv-warm-grey)}
.realisation-route__media img{width:100%;height:100%;object-fit:cover}
.realisation-route__curtain{position:absolute;inset:0;background:var(--accent-clay);transform:translateX(-101%);z-index:2}
.realisation-route__media.is-changing .realisation-route__curtain{animation:route-curtain 1s var(--ease) both}
@keyframes route-curtain{0%{transform:translateX(-101%)}48%,54%{transform:translateX(0)}100%{transform:translateX(101%)}}
.realisation-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle)}
.realisation-metric{min-height:270px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.realisation-metric strong{font-size:clamp(64px,5.4vw,86px);font-weight:300;line-height:1;letter-spacing:-.05em}
.realisation-metric p{max-width:28ch;margin:0;font-size:15px;line-height:1.5;color:var(--text-secondary)}
.realisation-metric h3{max-width:13ch;margin:0;font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.12;letter-spacing:-.025em}
.realisation-metric--accent{background:var(--accent-buttermilk)}
.realisation-team__grid{display:grid;grid-template-columns:minmax(410px,1fr) minmax(0,1.75fr);gap:clamp(56px,5vw,88px);align-items:stretch}
.realisation-team__copy{display:flex;flex-direction:column;align-items:flex-start;gap:34px;padding-top:2px}
.realisation-benefits{display:flex;width:100%;max-width:42ch;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.realisation-benefits li{padding:20px 22px;border:1px solid var(--grv-line);background:color-mix(in srgb,var(--grv-surface) 88%,var(--grv-buttermilk) 12%);font-size:18px;line-height:1.5}
.realisation-people{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.2vw,36px);align-items:start}
.realisation-person picture{display:block;width:100%;height:auto;aspect-ratio:2/3;overflow:hidden;background:var(--grv-warm-grey)}
.realisation-person img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s var(--ease)}
.realisation-person:hover img{transform:scale(1.025)}
.realisation-person__head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:18px 0 0}
.realisation-person h3{margin:0;font-size:clamp(22px,1.65vw,24px);font-weight:400;line-height:1.2;letter-spacing:-.02em}
.realisation-person span{font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:right}
.realisation-person p{max-width:47ch;margin:17px 0 0;font-size:15px;line-height:1.55;color:var(--text-secondary)}
.realisation-videos{overflow:hidden;padding-block:clamp(72px,7vw,104px);border-top:1px solid var(--border-subtle);background:var(--grv-paper-warm)}
.realisation-videos__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;margin-bottom:46px}
.realisation-videos__head h2{max-width:900px;margin:0;font-size:clamp(42px,3.4vw,50px);font-weight:300;line-height:1.06;letter-spacing:-.035em}
.realisation-videos__lead{max-width:680px;margin:22px 0 0;color:var(--text-secondary);font-size:17px;line-height:1.55}
.realisation-videos__actions{display:flex;align-items:flex-end;justify-content:flex-end}
.realisation-videos__actions .gx-btn{min-width:230px;padding-inline:20px}
.realisation-videos__slider{display:block;min-width:0}
.realisation-videos__rail{display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch}
.realisation-videos__rail::-webkit-scrollbar{display:none}
.realisation-videos__rail.is-dragging{scroll-snap-type:none;cursor:grabbing}
.realisation-video-card{position:relative;display:block;flex:0 0 calc((100% - 44px)/3);min-width:0;aspect-ratio:16/10;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:var(--grv-brown);color:var(--grv-white);text-decoration:none}
.realisation-video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;transition:transform .75s var(--ease)}
.realisation-video-card__shade{position:absolute;inset:0;background:rgba(48,28,27,.14)}
.realisation-video-card__play{position:absolute;top:50%;left:50%;display:grid;width:68px;height:68px;place-items:center;padding:0;border-radius:50%;background:var(--accent-buttermilk);color:var(--grv-brown);box-shadow:0 8px 28px rgba(48,28,27,.18);font-size:0;line-height:1;transform:translate(-50%,-50%);transition:background .35s var(--ease),transform .35s var(--ease)}
.realisation-video-card__play::before{content:"";display:block;width:0;height:0;margin-left:5px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid currentColor}
.realisation-video-arrow{position:relative;z-index:3;width:52px;height:52px;border:1px solid var(--border-strong);background:transparent;color:var(--grv-brown);font:inherit;font-size:20px;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}
.realisation-videos__footer{margin-top:22px}
.realisation-videos__progress{height:1px;margin-top:0;background:var(--border-subtle)}
.realisation-videos__progress span{display:block;width:20%;height:1px;background:var(--accent-clay);transition:width .45s var(--ease)}
.realisation-videos__controls{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.realisation-videos__controls .is-unavailable{visibility:visible;opacity:.28;pointer-events:none}
@media(hover:hover){.realisation-video-card:hover img{transform:scale(1.025)}.realisation-video-card:hover .realisation-video-card__play{background:var(--grv-paper-warm);transform:translate(-50%,-50%) scale(1.06)}.realisation-video-arrow:hover{border-color:var(--grv-brown);background:var(--grv-brown);color:var(--grv-white)}}
@media(hover:none) and (pointer:coarse){.realisation-video-card:active .realisation-video-card__play{transform:translate(-50%,-50%) scale(.94)}}
.realisation-build{padding-top:clamp(80px,6.5vw,104px)}
.realisation-build__layout{display:grid;grid-template-columns:minmax(190px,.48fr) minmax(0,2fr);gap:clamp(36px,4vw,64px);align-items:start}
.realisation-build__aside{display:flex;flex-direction:column;align-items:flex-start;min-height:100%;gap:22px}
.realisation-controls{display:flex;gap:8px}
.realisation-controls button{width:52px;height:52px;border:1px solid var(--border-strong);background:transparent;color:var(--text-primary);font:inherit;font-size:20px;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.realisation-controls button:disabled{opacity:.28;cursor:default}
.realisation-controls button:hover{background:var(--grv-brown);border-color:var(--grv-brown);color:var(--text-inverse)}
.realisation-build__main{min-width:0}
.realisation-build__aside .realisation-controls{margin-top:auto}
.realisation-projects__slider{display:block;min-width:0}
.realisation-rail-arrow{width:52px;height:52px;border:1px solid var(--border-strong);background:transparent;color:var(--text-primary);font:inherit;font-size:20px;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}
.realisation-rail-arrow.is-unavailable{visibility:visible;opacity:.28;pointer-events:none}
.realisation-video-arrow.is-unavailable{visibility:visible;opacity:.28;pointer-events:none}
.realisation-build__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.realisation-build__track::-webkit-scrollbar,.realisation-projects__rail::-webkit-scrollbar{display:none}
.realisation-build figure{flex:0 0 calc((100% - 40px)/3);min-width:0;height:clamp(430px,32vw,470px);margin:0;scroll-snap-align:start;overflow:hidden;background:var(--grv-warm-grey)}
.realisation-build figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.realisation-build figure:hover img{transform:scale(1.03)}
.realisation-progress{height:1px;margin-top:28px;background:var(--border-subtle)}
.realisation-progress span{display:block;width:34%;height:1px;background:var(--accent-clay);transition:width .55s var(--ease),transform .55s var(--ease);transform-origin:left}
.realisation-build__footer{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:14px;align-items:center;margin-top:28px}
.realisation-build__footer .realisation-progress{margin-top:0}
.realisation-process{border-top:1px solid var(--border-subtle)}
.realisation-process__grid{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.45fr);gap:clamp(60px,8vw,140px)}
.realisation-label{margin:0;font-size:13px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.realisation-process h2{max-width:800px}
.realisation-process__items{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;margin-top:46px}
.realisation-process__items article{padding:24px 0 32px;border-top:1px solid var(--border-subtle)}
.realisation-process__items span{font-size:12px;letter-spacing:.15em;color:var(--text-muted)}
.realisation-process__items h3{margin:18px 0 10px;font-size:22px;font-weight:400}
.realisation-process__items p{margin:0;font-size:16px;line-height:1.55;color:var(--text-secondary)}
.realisation-projects{background:var(--grv-paper-warm)}
.realisation-projects__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end}
.realisation-projects__head h2{max-width:840px;margin:0}
.realisation-projects__lead{max-width:650px;margin:14px 0 0;font-size:16px;line-height:1.55;color:var(--text-secondary)}
.realisation-projects__head .grv-text-link{font-size:16px;white-space:nowrap}
.realisation-projects__head .grv-text-link span{display:inline-block;margin-left:10px;transition:transform .3s var(--ease)}
.realisation-projects__head .grv-text-link:hover span{transform:translateX(5px)}
.realisation-projects__action-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}
.realisation-projects__controls{display:flex;flex-shrink:0;gap:8px}
.realisation-projects__slider{margin-top:36px}
.realisation-projects__rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;overscroll-behavior-inline:contain}
.realisation-project-card{flex:0 0 min(31vw,450px);scroll-snap-align:center;transition:opacity .45s var(--ease),transform .45s var(--ease);transform:scale(.96);opacity:.64;transform-origin:center bottom}
.realisation-project-card.is-active{transform:scale(1);opacity:1}
.realisation-project-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s var(--ease)}
.realisation-project-card:hover img{transform:scale(1.025)}
.realisation-project-card h3,.realisation-project-card__clone-title{display:block;margin:18px 0 5px;font-size:26px;font-weight:400;line-height:1.2}
.realisation-project-card p{margin:0;font-size:14px;color:var(--text-secondary)}
@media(hover:hover){.realisation-rail-arrow:hover{border-color:var(--grv-brown);background:var(--grv-brown);color:var(--text-inverse)}}
.realisation-stages h2{max-width:900px;margin-top:22px}
.realisation-accordion{margin-top:48px;border-top:1px solid var(--border-subtle)}
.realisation-stage{border-bottom:1px solid var(--border-subtle)}
.realisation-stage>button{display:grid;grid-template-columns:70px 1fr 40px;gap:20px;align-items:center;width:100%;padding:25px 0;border:0;background:none;color:var(--text-primary);text-align:left;cursor:pointer}
.realisation-stage>button span{font-size:12px;letter-spacing:.14em;color:var(--text-muted)}
.realisation-stage>button strong{font-size:24px;font-weight:400}
.realisation-stage>button i{font-style:normal;font-size:25px;font-weight:300;text-align:right}
.realisation-stage__body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s var(--ease),opacity .45s var(--ease)}
.realisation-stage__body>div{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:end}
.realisation-stage__body p{max-width:700px;margin:0 0 30px 90px;font-size:16px;line-height:1.6;color:var(--text-secondary)}
.realisation-stage__body img{width:260px;height:170px;object-fit:cover;margin-bottom:30px}
.realisation-stage.is-open .realisation-stage__body{grid-template-rows:1fr;opacity:1}
.realisation-cta{display:flex;justify-content:space-between;align-items:center;gap:60px;width:min(100% - clamp(40px,8.6vw,160px),1760px);margin:0 auto clamp(92px,9vw,140px);padding:clamp(44px,5vw,72px);background:var(--accent-blue-bg)}
.realisation-cta p{margin:18px 0 0;font-size:18px;color:var(--text-secondary)}
.realisation-cta>div:last-child{display:flex;gap:12px;flex-shrink:0}
@media(max-width:1199px){
  .realisation-route__grid{grid-template-columns:1fr;gap:58px}.realisation-route__copy{display:grid;grid-template-columns:1fr 1fr;gap:36px}.realisation-route__copy .realisation-lead{margin-top:0}.realisation-route__media{grid-column:1/-1}.realisation-team__grid{grid-template-columns:1fr}.realisation-team__copy{max-width:720px}.realisation-build__layout{grid-template-columns:1fr}.realisation-build__aside{min-height:0;display:grid;grid-template-columns:1fr auto;align-items:end}.realisation-build__aside .realisation-controls{grid-column:2;grid-row:1}.realisation-build figure{flex-basis:clamp(320px,52vw,420px)}
}
@media(max-width:900px){
  .realisation-shell,.realisation-cta{width:min(100% - 40px,1760px)}.realisation-hero__foot,.realisation-process__grid{grid-template-columns:1fr}.realisation-hero__actions{justify-content:flex-start}.realisation-people{gap:20px}.realisation-person picture{height:520px}.realisation-metrics{grid-template-columns:1fr 1fr}.realisation-process__grid{gap:42px}.realisation-project-card{flex-basis:58vw}.realisation-video-card{flex-basis:calc((100% - 18px)/2)}.realisation-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:767px){
  .realisation-hero,.realisation-route,.realisation-team,.realisation-videos,.realisation-build,.realisation-process,.realisation-projects,.realisation-stages{padding-block:80px}.realisation-hero{padding-top:48px}.realisation-hero h1{font-size:clamp(39px,11vw,48px);margin-bottom:30px}.realisation-hero h1 br{display:none}.realisation-hero__media{height:440px}.realisation-hero__media img{object-fit:contain;object-position:center}.realisation-hero__foot{gap:28px}.realisation-hero__foot p{font-size:16px}.realisation-hero__actions{flex-direction:column;align-items:stretch}.realisation-route__copy{display:block}.realisation-route__copy .realisation-lead{margin-top:24px}.realisation-route__media{height:260px}.realisation-metrics{grid-template-columns:1fr}.realisation-metric{min-height:220px}.realisation-people{grid-template-columns:1fr}.realisation-person picture{height:auto;aspect-ratio:2/3}.realisation-person__head{align-items:flex-start;flex-direction:column;gap:7px}.realisation-person span{text-align:left}.realisation-videos__head{grid-template-columns:1fr;gap:26px;margin-bottom:32px}.realisation-videos__head h2{font-size:36px}.realisation-videos__lead{font-size:15px}.realisation-videos__actions{align-items:flex-start}.realisation-videos__actions .gx-btn{width:100%;min-width:0}.realisation-videos__slider{width:100%;margin-left:0}.realisation-video-arrow{width:40px;height:40px}.realisation-video-card{flex-basis:100%;aspect-ratio:16/10}.realisation-video-card__play{width:56px;height:56px;font-size:0}.realisation-build__aside{display:flex;align-items:flex-start;flex-direction:column;gap:28px}.realisation-build__aside .realisation-controls{margin-top:0}.realisation-build__track{gap:12px}.realisation-build figure{flex-basis:min(78vw,320px);height:clamp(330px,95vw,400px)}.realisation-process__items{grid-template-columns:1fr}.realisation-projects__head{grid-template-columns:1fr;gap:28px}.realisation-projects__controls{justify-content:flex-start}.realisation-project-card{flex-basis:82%}.realisation-stage>button{grid-template-columns:42px 1fr 28px}.realisation-stage__body>div{grid-template-columns:1fr;gap:0}.realisation-stage__body p{margin-left:0}.realisation-stage__body img{width:100%;height:220px}.realisation-cta{padding:34px 24px}.realisation-cta>div:last-child{width:100%;flex-direction:column}.realisation-cta .gx-btn{width:100%}
}
@media(max-width:767px){
  .realisation-projects__slider{width:100%;margin-left:0}
  .realisation-projects__action-row{align-items:flex-end}
  .realisation-build__footer{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;margin-top:22px}
  .realisation-rail-arrow{width:40px;height:40px}
  .realisation-project-card{flex-basis:100%;width:100%}
}
@media(max-width:420px){.realisation-shell,.realisation-cta{width:calc(100% - 32px)}.realisation-hero__media{height:390px}.realisation-person picture{height:500px}.realisation-route__copy h2,.realisation-process h2,.realisation-projects h2,.realisation-stages h2,.realisation-cta h2,.realisation-team h2,.realisation-build h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.realisation-route__media.is-changing .realisation-route__curtain{animation:none}.realisation-project-card,.realisation-route__media img{transition:none}}


/* 2026-08-19 — unified REM25 refinements. */

/* Visualisation slideshow: calm crossfade, no clay curtain. */
.realisation-route__curtain{display:none !important}
.realisation-route__media img{
  transition:opacity .85s ease,transform 1.15s var(--ease);
}
.realisation-route__media.is-changing img{
  opacity:.18;
  transform:scale(1.012);
}

/* Keep the manually chosen line break in the second benefit. */
.realisation-benefits li{white-space:normal}

/* Portfolio CTA now sits under heading copy. */
.realisation-projects__head{
  display:block;
}
.realisation-projects__head>div{
  max-width:none;
}
.realisation-projects__portfolio-btn{
  margin-top:0;
  min-height:50px;
  padding-inline:22px;
}

/* Slightly calmer project rail transitions. */
.realisation-project-card{
  transition:opacity .75s var(--ease),transform .75s var(--ease);
}
.realisation-project-card img{
  transition:transform 1s var(--ease);
}



/* 2026-08-19 — visualisation carousel:
   classic left-to-right curtain, no opacity dissolve and no orange block. */
.realisation-route__media{
  background:var(--surface-page);
}
.realisation-route__media img{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
.realisation-route__curtain{
  display:block !important;
  position:absolute;
  inset:0;
  z-index:3;
  background:var(--surface-card);
  transform:translateX(-101%);
  pointer-events:none;
}
.realisation-route__media.is-changing .realisation-route__curtain{
  animation:realisation-curtain-ltr 1.32s var(--ease) both;
}
@keyframes realisation-curtain-ltr{
  0%{transform:translateX(-101%)}
  46%,54%{transform:translateX(0)}
  100%{transform:translateX(101%)}
}

/* Final blue CTA uses the same full-width, generous proportions as Support. */
.realisation-cta{
  width:100% !important;
  max-width:none !important;
  min-height:360px;
  margin:0 !important;
  padding:100px var(--pad) !important;
  box-sizing:border-box;
}
.realisation-cta h2{
  max-width:800px;
}
@media(max-width:767px){
  .realisation-cta{
    min-height:0;
    padding:70px 20px !important;
  }
}

/* Team photo: prioritise every face rather than the lower part of the image. */
.realisation-hero__media img{
  object-position:center top !important;
}



/* 2026-08-19 — Realisation hero follows the approved Services/Support composition. */
.realisation-hero--plaque{
  --realisation-hero-media-height:700px;
  position:relative;
  display:block;
  padding:0 0 96px;
  overflow:hidden;
  background:var(--surface-page);
}
.realisation-hero--plaque .realisation-hero__media{
  position:relative;
  display:block;
  width:100%;
  height:var(--realisation-hero-media-height);
  overflow:hidden;
  background:var(--surface-card);
}
.realisation-hero--plaque .realisation-hero__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center !important;
}
.realisation-hero__overlay{
  position:absolute;
  inset:0 0 auto;
  height:var(--realisation-hero-media-height);
  background:linear-gradient(90deg,rgba(48,28,27,.06),rgba(48,28,27,.01) 60%,rgba(48,28,27,.08));
  pointer-events:none;
}
.realisation-hero__plaque{
  position:absolute;
  z-index:2;
  bottom:28px;
  left:var(--pad);
  width:min(620px,calc(100% - (var(--pad) * 2)));
  padding:30px 34px 32px;
  border:1px solid var(--border-subtle);
  background:var(--surface-card);
  color:var(--text-primary);
}
.realisation-hero__plaque h1{
  max-width:540px;
  margin:0 0 14px;
  font-size:46.8px;
  font-weight:var(--fw-regular);
  line-height:1.02;
  letter-spacing:-.025em;
}
.realisation-hero__plaque p{
  max-width:530px;
  margin:0 0 18px;
  color:var(--text-secondary);
  font-size:16px;
  line-height:1.48;
}
.realisation-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* Photo-to-photo curtain: next visualisation reveals left → right, no solid rectangle. */
.realisation-route__media{
  position:relative;
  overflow:hidden;
  background:transparent !important;
}
.realisation-route__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.realisation-route__image--current{
  z-index:1;
}
.realisation-route__image--next{
  z-index:2;
  clip-path:inset(0 100% 0 0);
  transition:none;
}
.realisation-route__media.is-changing .realisation-route__image--next{
  animation:route-image-wipe 1.05s var(--ease) forwards;
}
@keyframes route-image-wipe{
  from{clip-path:inset(0 100% 0 0)}
  to{clip-path:inset(0 0 0 0)}
}
.realisation-route__curtain{display:none !important}

@media(max-width:1024px){
  .realisation-hero--plaque{--realisation-hero-media-height:620px;padding-bottom:72px}
  .realisation-hero__plaque{bottom:24px}
}
@media(max-width:767px){
  .realisation-hero--plaque{--realisation-hero-media-height:520px;padding-bottom:60px}
  .realisation-hero__plaque{
    position:relative;
    bottom:auto;
    left:auto;
    width:calc(100% - 40px);
    margin:-72px auto 0;
    padding:24px;
  }
  .realisation-hero__plaque h1{font-size:34px}
  .realisation-hero__actions{flex-direction:column}
  .realisation-hero__actions .gx-btn{width:100%}
}

.realisation-route__media{min-height:360px}
@media(min-width:1025px){.realisation-route__media{min-height:420px}}


/* 2026-08-19 23:40 — Realisation hero exactly follows Services/Support:
   image fills the whole width, plaque over the image, thinner heading, left-aligned buttons. */
.realisation-hero--plaque{
  --realisation-hero-media-height:700px;
  position:relative;
  width:100%;
  display:block;
  padding:0 0 96px !important;
  overflow:hidden;
  background:var(--surface-page);
}
.realisation-hero--plaque .realisation-hero__media{
  display:block;
  width:100%;
  height:var(--realisation-hero-media-height);
  overflow:hidden;
  background:var(--surface-card);
}
.realisation-hero--plaque .realisation-hero__media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 24% !important;
}
.realisation-hero__overlay{
  position:absolute;
  inset:0 0 auto;
  height:var(--realisation-hero-media-height);
  background:linear-gradient(90deg,rgba(48,28,27,.12),rgba(48,28,27,.025) 62%,rgba(48,28,27,.10));
}
.realisation-hero__plaque{
  position:absolute;
  z-index:2;
  bottom:28px;
  left:var(--pad);
  width:min(620px,calc(100% - (var(--pad) * 2)));
  padding:30px 34px 32px;
  background:var(--surface-card);
  border:1px solid var(--border-subtle);
}
.realisation-hero__plaque h1{
  margin:0 0 14px;
  max-width:560px;
  font-size:46.8px !important;
  font-weight:300 !important;
  line-height:1.02;
  letter-spacing:-.03em;
}
.realisation-hero__plaque p{
  margin:0 0 18px;
  max-width:540px;
}
.realisation-hero__actions{
  display:flex;
  justify-content:flex-start !important;
  align-items:center;
  gap:8px;
}
@media(max-width:767px){
  .realisation-hero--plaque{--realisation-hero-media-height:520px;padding-bottom:60px !important}
  .realisation-hero__plaque{
    position:relative;
    left:auto;
    bottom:auto;
    width:calc(100% - 40px);
    margin:-72px auto 0;
    padding:24px;
  }
  .realisation-hero__plaque h1{font-size:34px !important}
  .realisation-hero__actions{flex-direction:column;align-items:stretch}
  .realisation-hero__actions .gx-btn{width:100%}
}

/* Remove the horizontal separator before "Единый маршрут..." */
.realisation-route,
.realisation-intro,
.realisation-route-section{
  border-top:0 !important;
}
.realisation-route::before,
.realisation-intro::before,
.realisation-route-section::before{
  display:none !important;
}


/* 2026-08-19 23:55 — more air in the repair route block after removing the eyebrow. */
.realisation-process,
.realisation-route-steps,
.realisation-workflow{
  padding-top:40px !important;
}
.realisation-process h2,
.realisation-route-steps h2,
.realisation-workflow h2{
  margin-top:0 !important;
  margin-bottom:44px !important;
  font-weight:300 !important;
}
.realisation-process .accordion-row:first-of-type,
.realisation-route-steps .accordion-row:first-of-type,
.realisation-workflow .accordion-row:first-of-type{
  margin-top:10px;
}

/* Realisation hero title stays lighter and cleaner. */
.realisation-hero__plaque h1{
  font-weight:300 !important;
}
.realisation-context-label{
  display:block;
  margin:0 0 12px;
  color:var(--text-muted);
  font:300 11px/1.3 var(--font-sans);
  letter-spacing:.14em;
  text-transform:uppercase;
}


/* Corrected patch 2026-08-20: keep all heads visible in the realisation hero. */
.realisation-hero--plaque .realisation-hero__media img{object-position:center 12% !important;}
@media(max-width:1024px){.realisation-hero--plaque .realisation-hero__media img{object-position:center 14% !important;}}
@media(max-width:767px){.realisation-hero--plaque .realisation-hero__media img{object-position:center 10% !important;}}

/* Mobile team portrait: fill the media block without letterboxing. */
@media(max-width:767px){
  .realisation-hero--plaque{
    --realisation-hero-media-height:min(520px,125vw);
  }
  .realisation-hero--plaque .realisation-hero__media img{
    object-fit:cover !important;
    object-position:center top !important;
  }

  .realisation-build__track{
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
  }
  .realisation-build figure{
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  /* Compact mobile-only section rhythm. */
  .realisation-route,.realisation-team,.realisation-videos,.realisation-build,
  .realisation-process,.realisation-projects,.realisation-stages{
    padding-top:60px;
    padding-bottom:60px;
  }
  .realisation-cta{
    min-height:0;
    padding:60px 20px !important;
  }
}

/* Tablet alignment for the two REM25 construction cards. */
@media(min-width:768px) and (max-width:1180px){
  .realisation-people{align-items:stretch;}
  .realisation-person{display:grid;height:100%;grid-template-rows:auto auto 1fr;}
  .realisation-person>img{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:cover;object-position:center top;}
  .realisation-person__head{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(54px,auto) minmax(30px,auto);align-items:start;gap:8px;}
  .realisation-person h3{font-size:22px;}
  .realisation-person span{max-width:none;text-align:left;}
  .realisation-person p{margin-top:17px;}
}
