.ro-route{
  --ro-bg:#edf1f1;
  --ro-surface:#fff;
  --ro-ink:#16282e;
  --ro-muted:#596b72;
  --ro-line:#c5d1d4;
  --ro-accent:#0656B9;
  --ro-accent-dark:#0656B9;
  background:var(--ro-bg);
  color:var(--ro-ink);
  font-family:"PT Root UI",Arial,sans-serif;
  overflow:clip;
}
.ro-route *{box-sizing:border-box}
.ro-route-shell{width:min(calc(100% - 64px),1320px);margin-inline:auto}
.ro-route-kicker{margin:0 0 16px;color:var(--ro-accent);font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.07em;text-transform:uppercase}
.ro-route h1,.ro-route h2{font-family:"Commissioner Local","PT Root UI",Arial,sans-serif;font-weight:500;letter-spacing:-.03em;text-wrap:balance}
.ro-route-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 19px;border:1px solid var(--ro-accent);border-radius:6px;background:var(--ro-accent);color:#fff;font:500 12px/1 "PT Root UI",Arial,sans-serif;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.ro-route-button:hover{border-color:var(--ro-accent-dark);background:var(--ro-accent-dark);transform:translateY(-1px)}
.ro-route-button:active{transform:translateY(1px)}
.ro-route-button:focus-visible,.ro-route a:focus-visible{outline:3px solid color-mix(in srgb,var(--ro-accent) 34%,transparent);outline-offset:3px}

.ro-route-hero{border-bottom:1px solid var(--ro-line)}
.ro-route-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.72fr);grid-template-areas:"copy media" "proof proof";gap:30px 52px;padding:64px 0 34px}
.ro-route-hero__copy{grid-area:copy;align-self:center;min-width:0}
.ro-route-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px;color:var(--ro-muted);font-size:11px}
.ro-route-breadcrumbs a{color:inherit;text-decoration:none}
.ro-route-hero h1{max-width:720px;margin:0;font-size:clamp(48px,4.7vw,68px);line-height:.99;overflow-wrap:normal;hyphens:none}
.ro-route-lead{max-width:720px;margin:26px 0 30px;color:var(--ro-muted);font-size:17px;line-height:1.6;text-wrap:pretty}
.ro-route-hero__media{grid-area:media;min-width:0;min-height:500px;margin:0;padding:16px;overflow:hidden;border-radius:10px}
.ro-route-hero__media img{display:block;width:100%;height:100%;border-radius:8px;object-fit:cover;object-position:center}
.ro-route-proof{grid-area:proof;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-top:1px solid var(--ro-line);border-bottom:1px solid var(--ro-line);list-style:none}
.ro-route-proof li{padding:16px 18px;color:var(--ro-ink);font:600 12px/1.3 "Manrope Local","PT Root UI",sans-serif}
.ro-route-proof li+li{border-left:1px solid var(--ro-line)}

.ro-route-sections{padding-bottom:96px}
.ro-route-section{display:grid;grid-template-columns:100px minmax(0,1fr);gap:32px;padding:88px 0;border-bottom:1px solid var(--ro-line)}
.ro-route-section__index{color:var(--ro-accent);font:500 48px/1 "Commissioner Local","PT Root UI",sans-serif}
.ro-route-section__content{min-width:0}
.ro-route-section__heading{max-width:900px;margin-bottom:42px}
.ro-route-section__heading h2,.ro-route-cta h2{margin:0;font-size:clamp(34px,3.4vw,50px);line-height:1.06}
.ro-route-section__heading>p:last-child{max-width:720px;margin:20px 0 0;color:var(--ro-muted);font-size:16px;line-height:1.65;text-wrap:pretty}

.ro-route-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ro-route-card,.ro-route-step{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--ro-line);border-radius:8px;background-color:var(--ro-surface);background-repeat:no-repeat;background-position:center;background-size:cover;box-shadow:0 8px 24px rgba(23,33,38,.025);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.ro-route-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:20px;min-height:190px;padding:24px;background-image:linear-gradient(90deg,#f5f7f7 0%,rgba(245,247,247,.94) 27%,rgba(245,247,247,.68) 54%,rgba(245,247,247,.26) 78%,rgba(245,247,247,.04) 100%),var(--ro-image)}
.ro-route-card:nth-child(1){--ro-image:url("../img/service-reconstruction/card-technical-upgrade.webp")}
.ro-route-card:nth-child(2){--ro-image:url("../img/service-reconstruction/card-structural-transformation.webp");background-position:62% center}
.ro-route-card:nth-child(3){--ro-image:url("../img/service-reconstruction/card-construction.webp");background-position:74% center}
.ro-route-card:nth-child(4){--ro-image:url("../img/service-reconstruction/card-engineering.webp");background-position:86% center}
.ro-route-card:hover,.ro-route-step:hover{transform:translateY(-2px);border-color:#9cb0b6;box-shadow:0 16px 36px rgba(32,61,70,.08)}
.ro-route-card:hover,.ro-route-step:hover{background-image:linear-gradient(90deg,rgba(245,247,247,.92) 0%,rgba(245,247,247,.76) 38%,rgba(245,247,247,.36) 68%,rgba(245,247,247,0) 100%),var(--ro-image)}
.ro-route-card>span,.ro-route-step>span{position:relative;z-index:1;color:var(--ro-accent);font:600 11px/1 "Manrope Local",sans-serif;font-variant-numeric:tabular-nums}
.ro-route-card>div,.ro-route-step>div{position:relative;z-index:1;align-self:end}
.ro-route-card>div{max-width:82%}
.ro-route-card h3,.ro-route-step h3{margin:0 0 10px;font:600 19px/1.22 "Manrope Local","PT Root UI",sans-serif;letter-spacing:-.015em}
.ro-route-card p,.ro-route-step p{margin:0;color:var(--ro-muted);font-size:14px;line-height:1.55}

.ro-route-section--scope-cascade{display:block;margin-top:88px;padding:0 56px 28px;border:1px solid var(--ro-line);background:transparent}
.ro-route-scope-head{display:grid;grid-template-columns:300px minmax(0,1fr);gap:46px;padding:56px 0 40px}
.ro-route-scope-head .ro-route-kicker{margin:0}
.ro-route-scope-head h2{margin:0;font-size:clamp(42px,4.4vw,64px);line-height:.98}
#roScopeTitle{scroll-margin-top:112px}
.ro-route-scope-head h2 em{color:var(--ro-accent);font-style:normal}
.ro-route-scope-head>div>p{max-width:720px;margin:22px 0 0;color:var(--ro-muted);font-size:16px;line-height:1.55}
.ro-route-cascade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;min-height:492px}
.ro-route-cascade-card{position:relative;isolation:isolate;display:flex;min-width:0;min-height:360px;padding:22px;overflow:hidden;background-color:#123f53;background-image:var(--ro-cascade-image);background-position:center;background-size:cover;color:#fff;transition:transform .3s cubic-bezier(.16,1,.3,1),filter .3s ease}
.ro-route-cascade-card::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(8,31,43,.12),rgba(8,31,43,.4) 48%,rgba(8,31,43,.96));content:"";transition:opacity .3s ease}
.ro-route-cascade-card:nth-child(1){--ro-cascade-image:url("../img/service-reconstruction/card-technical-upgrade.webp")}
.ro-route-cascade-card:nth-child(2){--ro-cascade-image:url("../img/service-reconstruction/card-structural-transformation.webp");transform:translateY(44px)}
.ro-route-cascade-card:nth-child(3){--ro-cascade-image:url("../img/service-reconstruction/card-construction.webp");transform:translateY(88px)}
.ro-route-cascade-card:nth-child(4){--ro-cascade-image:url("../img/service-reconstruction/card-engineering.webp");transform:translateY(132px)}
.ro-route-cascade-card:hover{filter:saturate(1.06)}
.ro-route-cascade-card:hover::before{opacity:.87}
.ro-route-cascade-card b{position:absolute;top:22px;left:22px;color:#82ddea;font:500 32px/1 "Commissioner Local","PT Root UI",sans-serif;font-variant-numeric:tabular-nums}
.ro-route-cascade-card>div{align-self:end;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.ro-route-cascade-card:hover>div{transform:translateY(-7px)}
.ro-route-cascade-card small{color:#82ddea;font:700 10px/1.2 "Manrope Local","PT Root UI",sans-serif;letter-spacing:.04em;text-transform:uppercase}
.ro-route-cascade-card h3{margin:9px 0 12px;font:600 21px/1.15 "Manrope Local","PT Root UI",sans-serif;letter-spacing:-.02em}
.ro-route-cascade-card p{margin:0;color:#c3d2d9;font-size:14px;line-height:1.5}

.ro-route-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.ro-route-step{display:grid;gap:34px;min-height:220px;padding:23px 20px 25px;background-image:linear-gradient(90deg,#f5f7f7 0%,rgba(245,247,247,.94) 27%,rgba(245,247,247,.68) 54%,rgba(245,247,247,.26) 78%,rgba(245,247,247,.04) 100%),var(--ro-image)}
.ro-route-step:nth-child(1){--ro-image:url("../img/service-reconstruction/step-audit.webp")}
.ro-route-step:nth-child(2){--ro-image:url("../img/service-reconstruction/step-design.webp");background-position:62% center}
.ro-route-step:nth-child(3){--ro-image:url("../img/service-reconstruction/step-execution.webp");background-position:74% center}
.ro-route-step:nth-child(4){--ro-image:url("../img/service-reconstruction/step-commissioning.webp");background-position:86% center}

.ro-route-section--stair{display:block;margin-top:88px;padding:0 56px 60px;border:1px solid var(--ro-line);background:transparent}
.ro-route-stair-head{display:grid;grid-template-columns:300px minmax(0,1fr);gap:46px;padding:56px 0 40px}
.ro-route-stair-head .ro-route-kicker{margin:0}
.ro-route-stair-head h2{margin:0;font-size:clamp(42px,4.4vw,64px);line-height:.98}
#roProcessTitle{scroll-margin-top:112px}
.ro-route-stair-head h2 em{color:var(--ro-accent);font-style:normal}
.ro-route-stair-head>div>p{max-width:720px;margin:22px 0 0;color:var(--ro-muted);font-size:16px;line-height:1.55}
.ro-route-stair-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:8px;margin:0;padding:0;list-style:none}
.ro-route-stair-list li{position:relative;display:flex;min-height:230px;padding:28px;background:#eaf2f5;border-top:3px solid var(--ro-accent)}
.ro-route-stair-list li:nth-child(2){min-height:280px;background:#dcebf0}
.ro-route-stair-list li:nth-child(3){min-height:330px;background:#cce3ea}
.ro-route-stair-list li:nth-child(4){min-height:380px;background:#123f53;color:#fff}
.ro-route-stair-list b{position:absolute;top:22px;right:24px;color:rgba(7,133,163,.34);font:500 48px/1 "Commissioner Local","PT Root UI",sans-serif;font-variant-numeric:tabular-nums}
.ro-route-stair-list li:last-child b{color:rgba(255,255,255,.25)}
.ro-route-stair-list div{align-self:end}
.ro-route-stair-list small{color:var(--ro-accent);font:700 10px/1.2 "Manrope Local","PT Root UI",sans-serif;text-transform:uppercase}
.ro-route-stair-list h3{margin:9px 0 12px;font:600 20px/1.15 "Manrope Local","PT Root UI",sans-serif;letter-spacing:-.02em}
.ro-route-stair-list p{margin:0;color:var(--ro-muted);font-size:14px;line-height:1.5}
.ro-route-stair-list li:last-child h3{color:#fff}
.ro-route-stair-list li:last-child p{color:#b9ccd5}

.ro-route-cta{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-top:76px;padding:40px 44px;border-radius:8px;background:var(--site-patterned-panel-bg, #0a3553);color:#fff}
.ro-route-cta .ro-route-kicker{color:#83d7e5}
.ro-route-cta h2{font-size:clamp(34px,3.3vw,48px)}
.ro-route-cta>div>p:last-child{margin:12px 0 0;color:#b9c9ce;font-size:14px}

@media (prefers-reduced-motion:no-preference){
  .ro-route-card,.ro-route-step,.ro-route-stair-list li{animation:ro-route-reveal .5s cubic-bezier(.16,1,.3,1) both}
  .ro-route-card:nth-child(2),.ro-route-step:nth-child(2),.ro-route-stair-list li:nth-child(2){animation-delay:45ms}
  .ro-route-card:nth-child(3),.ro-route-step:nth-child(3),.ro-route-stair-list li:nth-child(3){animation-delay:90ms}
  .ro-route-card:nth-child(4),.ro-route-step:nth-child(4),.ro-route-stair-list li:nth-child(4){animation-delay:135ms}
}
@keyframes ro-route-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (max-width:1100px){
  .ro-route-hero__grid{grid-template-columns:1fr;grid-template-areas:"copy" "media" "proof";gap-inline:0}
  .ro-route-hero h1{font-size:clamp(44px,6vw,62px)}
  .ro-route-hero__media{min-height:460px}
  .ro-route-section{grid-template-columns:82px minmax(0,1fr);gap:28px}
  .ro-route-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ro-route-section--stair{display:block;padding-inline:40px}
  .ro-route-section--scope-cascade{display:block;padding-inline:40px}
  .ro-route-scope-head{grid-template-columns:210px minmax(0,1fr)}
  .ro-route-cascade{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
  .ro-route-cascade-card,.ro-route-cascade-card:nth-child(n){min-height:320px;transform:none}
  .ro-route-stair-head{grid-template-columns:210px minmax(0,1fr)}
  .ro-route-stair-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .ro-route-stair-list li,.ro-route-stair-list li:nth-child(n){min-height:240px}
}

@media (max-width:820px){
  .ro-route-shell{width:min(calc(100% - 32px),760px)}
  .ro-route-hero__grid{padding-top:48px}
  .ro-route-hero__media{min-height:430px}
  .ro-route-section{display:block;padding:68px 0}
  .ro-route-section--stair{margin-top:68px;padding:0 24px 36px}
  .ro-route-section--scope-cascade{margin-top:68px;padding:0 24px 36px}
  .ro-route-scope-head{display:block;padding:36px 0 28px}
  .ro-route-scope-head .ro-route-kicker{margin-bottom:22px}
  .ro-route-scope-head h2{font-size:clamp(34px,7vw,48px)}
  .ro-route-cascade{grid-template-columns:1fr}
  .ro-route-cascade-card,.ro-route-cascade-card:nth-child(n){min-height:300px}
  .ro-route-stair-head{display:block;padding:36px 0 28px}
  .ro-route-stair-head .ro-route-kicker{margin-bottom:22px}
  .ro-route-stair-head h2{font-size:clamp(34px,7vw,48px)}
  .ro-route-section__index{display:block;margin-bottom:22px}
  .ro-route-cards{grid-template-columns:1fr}
  .ro-route-card>div{max-width:78%}
}

@media (max-width:560px){
  .ro-route-shell{width:calc(100% - 28px)}
  .ro-route-hero__grid{gap:22px;padding-top:36px}
  .ro-route-breadcrumbs{margin-bottom:24px}
  .ro-route-hero h1{font-size:clamp(38px,12.4vw,48px);overflow-wrap:anywhere;hyphens:auto}
  .ro-route-lead{margin:20px 0 24px;font-size:15px;line-height:1.55}
  .ro-route-hero__media{min-height:300px;padding:10px}
  .ro-route-proof{grid-template-columns:1fr}
  .ro-route-proof li{padding:12px 4px}
  .ro-route-proof li+li{border-left:0;border-top:1px solid var(--ro-line)}
  .ro-route-sections{padding-bottom:54px}
  .ro-route-section{padding:54px 0}
  .ro-route-section--stair{margin-top:54px;padding:0 16px 28px}
  .ro-route-section--scope-cascade{margin-top:54px;padding:0 16px 28px}
  .ro-route-scope-head{padding-top:30px}
  .ro-route-scope-head h2{font-size:clamp(31px,9.4vw,40px);overflow-wrap:anywhere}
  .ro-route-scope-head>div>p{font-size:15px}
  .ro-route-cascade-card,.ro-route-cascade-card:nth-child(n){min-height:280px;padding:20px 18px}
  .ro-route-cascade-card b{top:20px;left:18px}
  .ro-route-cascade-card h3{font-size:18px}
  .ro-route-stair-head{padding-top:30px}
  .ro-route-stair-head h2{font-size:clamp(31px,9.4vw,40px);overflow-wrap:anywhere}
  #roProcessTitle{scroll-margin-top:86px}
  #roScopeTitle{scroll-margin-top:86px}
  .ro-route-stair-head>div>p{font-size:15px}
  .ro-route-stair-list{grid-template-columns:1fr}
  .ro-route-stair-list li,.ro-route-stair-list li:nth-child(n){min-height:210px}
  .ro-route-section__index{font-size:42px}
  .ro-route-section__heading{margin-bottom:28px}
  .ro-route-section__heading h2,.ro-route-cta h2{font-size:clamp(29px,9vw,38px);overflow-wrap:anywhere;hyphens:auto}
  .ro-route-section__heading>p:last-child{font-size:15px}
  .ro-route-card{grid-template-columns:34px minmax(0,1fr);min-height:178px;padding:20px 16px;background-image:linear-gradient(90deg,#f5f7f7 0%,rgba(245,247,247,.91) 38%,rgba(245,247,247,.56) 68%,rgba(245,247,247,.12) 100%),var(--ro-image)}
  .ro-route-card>div{max-width:100%}
  .ro-route-card h3,.ro-route-step h3{font-size:17px}
  .ro-route-process{grid-template-columns:1fr}
  .ro-route-step{min-height:178px;background-image:linear-gradient(90deg,#f5f7f7 0%,rgba(245,247,247,.91) 38%,rgba(245,247,247,.56) 68%,rgba(245,247,247,.12) 100%),var(--ro-image)}
  .ro-route-cta{grid-template-columns:1fr;align-items:start;gap:26px;margin-top:50px;padding:30px 22px}
  .ro-route-cta .ro-route-button{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .ro-route-card,.ro-route-step,.ro-route-stair-list li,.ro-route-cascade-card,.ro-route-button{animation:none;transition:none}
}
