/* Renewtek — v2 design system. No framework, no builder. */
:root{
  --navy:#0C1B2A;--navy-2:#122740;--blue:#0B4C9C;--blue-h:#0E63C9;--sky:#8FC2F0;--pale:#C6DBE6;--bg:#F2F4F7;--white:#fff;
  --ink-76:rgba(12,27,42,.76);--ink-66:rgba(12,27,42,.66);--ink-12:rgba(12,27,42,.12);
  --w-86:rgba(255,255,255,.86);--w-78:rgba(255,255,255,.78);--w-62:rgba(255,255,255,.62);--w-12:rgba(255,255,255,.12);
  --pad:44px;--max:1400px;--font:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--navy);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--blue)}
h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.025em;text-wrap:pretty}
p{margin:0;text-wrap:pretty}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.rt-light :focus-visible{outline-color:var(--blue)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rt-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--blue);color:#fff;padding:10px 16px;border-radius:999px}
.rt-skip:focus{top:12px;color:#fff}
.rt-site{max-width:100%;overflow-x:clip}
main:focus{outline:0}
.rt-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.rt-dark{background:var(--navy);color:#fff}
.rt-light{background:var(--bg)}
.rt-dark a:hover{color:var(--sky)}

/* ---------- Buttons & links ---------- */
.rt-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:999px;font-size:14.5px;font-weight:500;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap}
.rt-btn--primary{background:var(--blue);color:#fff}
.rt-btn--primary:hover,.rt-dark .rt-btn--primary:hover{background:var(--blue-h);color:#fff}
.rt-btn--ghost-light{border-color:rgba(255,255,255,.34);color:#fff;font-weight:400}
.rt-btn--ghost-light:hover{border-color:#fff;color:#fff}
.rt-btn--outline{border-color:rgba(12,27,42,.24);background:transparent;padding:14px 30px}
.rt-btn--outline:hover{border-color:var(--blue);color:var(--blue)}
.rt-btn--block{width:100%;padding:14px}
.rt-actions{display:flex;gap:10px;flex-wrap:wrap}
.rt-ulink{display:inline-block;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:4px}
.rt-ulink--light{color:#fff;border-color:rgba(255,255,255,.4);margin-top:22px}
.rt-ulink--light:hover{border-color:var(--sky)}
.rt-center{display:flex;justify-content:center;margin-top:40px}

/* ---------- Type helpers ---------- */
.rt-eyebrow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.rt-eyebrow--light{color:var(--sky)}
.rt-h2{font-size:clamp(28px,3.2vw,44px);line-height:1.08;max-width:24ch}
.rt-h3{font-size:clamp(20px,1.8vw,24px);line-height:1.2;margin-bottom:18px}
.rt-intro{font-size:17px;line-height:1.66;color:var(--ink-76);max-width:52ch}
.rt-lede{font-size:17.5px;line-height:1.66;max-width:58ch}
.rt-lede--light{color:var(--w-78)}
.rt-body{font-size:16.5px;line-height:1.7;color:var(--ink-76);max-width:68ch}
.rt-mb{margin-bottom:48px}

/* ---------- Layout ---------- */
.rt-sect{padding:104px 0}
.rt-sect--sm{padding:72px 0}
.rt-sect--flush{padding-top:0}
.rt-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.rt-split--head{margin-bottom:44px}
.rt-split--intl{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.rt-stack{display:grid}
.rt-stack>*{grid-area:1/1}

/* ---------- Header ---------- */
.rt-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(12,27,42,.1)}
.rt-header__bar{height:78px;display:flex;align-items:center;gap:24px}
.rt-header__logo{flex:none;display:flex}
.rt-header__logo img{height:40px;width:auto;display:block}
.rt-nav{margin-left:auto}
.rt-menu{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center}
.rt-menu a{font-size:14px;color:rgba(12,27,42,.72);padding:6px 0;position:relative}
.rt-menu a:hover,.rt-menu .current-menu-item>a,.rt-menu .current_page_item>a,.rt-menu .current-menu-ancestor>a,.rt-menu .current_page_parent>a{color:var(--blue)}
.rt-menu .current-menu-item>a::after,.rt-menu .current_page_item>a::after,.rt-menu .current-menu-ancestor>a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--blue)}
.rt-header__cta{flex:none;padding:11px 22px;font-size:14px}
.rt-burger{display:none;flex:none;width:42px;height:42px;background:transparent;border:1px solid rgba(12,27,42,.22);border-radius:999px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;padding:0}
.rt-burger span[aria-hidden]{width:15px;height:1.5px;background:var(--navy);display:block;transition:transform .2s ease,opacity .2s ease}
.rt-burger[aria-expanded="true"] span:nth-of-type(2){transform:translateY(5.5px) rotate(45deg)}
.rt-burger[aria-expanded="true"] span:nth-of-type(3){opacity:0}
.rt-burger[aria-expanded="true"] span:nth-of-type(4){transform:translateY(-5.5px) rotate(-45deg)}

/* ---------- Hero ---------- */
.rt-hero{position:relative;min-height:min(780px,calc(100svh - 78px));display:flex;flex-direction:column;justify-content:space-between;gap:40px;overflow:hidden}
.rt-hero__media,.rt-hero__slide{position:absolute;inset:0;overflow:hidden}
.rt-hero__slide{opacity:0;transition:opacity 1.2s ease}
.rt-hero__slide[data-on]{opacity:1}
.rt-hero__img{width:100%;height:100%;object-fit:cover;display:block}
.rt-hero__shade{position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,20,32,.9) 0%,rgba(8,20,32,.6) 46%,rgba(8,20,32,.28) 100%)}
.rt-hero__top,.rt-hero__bottom{position:relative;width:100%}
.rt-hero__top{padding-top:60px}
.rt-hero__bottom{padding-bottom:52px}
.rt-hero__copy,.rt-hero__title{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease;pointer-events:none}
.rt-hero__copy[data-on],.rt-hero__title[data-on]{opacity:1;transform:none;pointer-events:auto}
.rt-hero__lead{max-width:48ch;font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.9)}
.rt-hero__title{font-size:clamp(40px,6.6vw,104px);line-height:.98;font-weight:500;letter-spacing:-.04em;color:#fff;max-width:18ch}
.rt-hero__foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-top:34px}
.rt-hero__ctrl{display:flex;align-items:center;gap:18px}
.rt-hero__dots{display:flex;gap:8px}
.rt-dot{width:12px;height:6px;border-radius:999px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:width .3s ease,background .3s ease;position:relative}
.rt-dot::before{content:"";position:absolute;inset:-10px -4px}
.rt-dot[data-on]{background:#fff;width:30px}
.rt-hero__next{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.34);background:transparent;color:#fff;font-size:15px;cursor:pointer}
.rt-hero__next:hover{border-color:#fff;background:rgba(255,255,255,.1)}
@media (prefers-reduced-motion:no-preference){
  .rt-hero__slide[data-on] .rt-hero__img{animation:rt-kb 9s ease-out both}
}
@keyframes rt-kb{from{transform:scale(1.03)}to{transform:scale(1.17) translate3d(-1.5%,-1%,0)}}

/* ---------- Credibility strip ---------- */
.rt-proof{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:1px}
.rt-proof__item{padding:44px 40px;background:#fff}
.rt-proof__num{font-size:clamp(40px,4.6vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1}
.rt-proof__label{font-size:13.5px;color:var(--ink-76);margin-top:12px}
.rt-proof__detail{font-size:14px;color:var(--ink-66);margin-top:8px}
.rt-proof__item--blue{background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.rt-proof__title{font-size:24px;line-height:1.2}
.rt-proof__copy{font-size:16px;line-height:1.62;margin-top:14px;color:rgba(255,255,255,.82)}
.rt-proof__item--blue .rt-ulink{margin-top:0;align-self:flex-start;color:#fff}

/* ---------- Audience rows ---------- */
.rt-dark>.rt-wrap>.rt-lede{padding-bottom:56px}
.rt-rows{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--w-12)}
.rt-rows__item{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(0,1.4fr) auto;gap:32px;align-items:center;padding:30px 0;border-top:1px solid var(--w-12)}
.rt-rows__num{font-size:13px;color:rgba(255,255,255,.45)}
.rt-rows__title{font-size:21px;letter-spacing:-.01em}
.rt-rows__text{font-size:16.5px;line-height:1.62;color:var(--w-86)}
.rt-rows__cta{font-size:13.5px;color:var(--sky);white-space:nowrap}

/* ---------- Services ---------- */
.rt-services{padding:0 0 104px}
.rt-ghost{overflow:hidden;padding-bottom:8px;font-size:clamp(72px,15.5vw,236px);line-height:.82;font-weight:600;letter-spacing:-.05em;color:rgba(12,27,42,.07);white-space:nowrap;user-select:none}
.rt-services .rt-split--head{margin-top:24px;margin-bottom:40px}
.rt-svc-list{display:flex;flex-direction:column;gap:12px}
.rt-svc{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;background:#fff;transition:transform .2s ease;color:var(--navy);overflow:hidden}
.rt-svc:hover{transform:translateX(6px);color:var(--navy)}
.rt-svc__img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
.rt-svc__body{align-self:center}
.rt-svc__body{padding:36px 40px}
.rt-svc__head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.rt-svc__title{font-size:clamp(21px,2.1vw,29px);line-height:1.15;max-width:22ch}
.rt-svc__arrow{font-size:22px;color:var(--blue);flex:none;transition:transform .2s ease}
.rt-svc:hover .rt-svc__arrow{transform:translateX(4px)}
.rt-svc__text{font-size:16px;line-height:1.62;color:var(--ink-76);margin-top:30px;max-width:62ch}
.rt-svc--pale{background:var(--pale)}
.rt-svc--pale .rt-svc__arrow{color:var(--navy)}
.rt-svc--pale .rt-svc__text{color:rgba(12,27,42,.8)}
.rt-svc--dark{background:var(--navy);color:#fff}
.rt-svc--dark:hover{color:#fff}
.rt-svc--dark .rt-svc__arrow{color:var(--sky)}
.rt-svc--dark .rt-svc__text{color:var(--w-78)}

/* ---------- Cards ---------- */
.rt-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rt-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rt-cards__cell[hidden]{display:none}
.rt-cards__cell{display:flex}
.rt-cards__cell>.rt-card{flex:1}
.rt-card{background:#fff;transition:box-shadow .2s ease;height:100%}
.rt-card:hover{box-shadow:0 12px 30px rgba(12,27,42,.09)}
.rt-card__link{display:flex;flex-direction:column;height:100%;color:var(--navy);overflow:hidden}
.rt-card__link:hover{color:var(--navy)}
.rt-card__img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--pale)}
.rt-card__body{padding:22px 24px 28px}
.rt-card__meta{font-size:12px;letter-spacing:.1em;color:var(--blue);text-transform:uppercase}
.rt-card__title{font-size:19px;margin-top:12px;line-height:1.3}
.rt-card__link:hover .rt-card__title{color:var(--blue)}
.rt-card__text{font-size:15.5px;line-height:1.62;color:var(--ink-76);margin-top:10px}
.rt-card__more{display:inline-block;margin-top:16px;font-size:14px;font-weight:500;color:var(--blue)}

/* ---------- Image band ---------- */
.rt-band{position:relative;height:clamp(280px,42vw,520px);overflow:hidden;background:var(--navy)}
.rt-band__img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Map ---------- */
.rt-intl{padding-bottom:104px}
.rt-intl .rt-split--head{margin-bottom:48px}
.rt-mapbox{border-top:1px solid var(--w-12)}
.rt-mapbox__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 2px 22px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--w-62)}
.rt-mapbox__hint{display:flex;align-items:center;gap:9px;font-size:12.5px;letter-spacing:0;text-transform:none}
.rt-mapbox__hint span{width:9px;height:9px;border-radius:999px;background:var(--sky)}
.rt-map{position:relative;aspect-ratio:1280/620}
.rt-map__base,.rt-map__hl{position:absolute;inset:0;width:100%;height:100%;display:block}
.rt-map__hl path{fill:var(--blue);stroke:#3C86D8;stroke-width:1}
.rt-map__pins{list-style:none;margin:0;padding:0}
.rt-pin{position:absolute;width:0;height:0}
.rt-pin__btn{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border:0;background:transparent;padding:0;cursor:pointer;color:#fff}
.rt-pin__dot{position:absolute;left:50%;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:radial-gradient(circle,var(--navy) 0 2.6px,var(--sky) 2.7px);transition:transform .15s ease}
.rt-pin__dot::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--sky);opacity:0}
@media (prefers-reduced-motion:no-preference){.rt-pin__dot::after{animation:rt-pulse 2.8s ease-out infinite}}
@keyframes rt-pulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(3.4);opacity:0}}
.rt-pin__btn:hover .rt-pin__dot,.rt-pin__btn[aria-expanded="true"] .rt-pin__dot{transform:scale(1.3)}
.rt-pin__label{position:absolute;top:50%;transform:translateY(-50%);font-size:clamp(11px,1.15vw,15px);font-weight:500;white-space:nowrap;color:rgba(255,255,255,.92);pointer-events:none}
.rt-pin__label--right{left:34px}
.rt-pin__label--left{right:34px}
.rt-pin__tip{position:absolute;z-index:5;left:24px;top:0;transform:translateY(-50%);min-width:216px;max-width:280px;background:var(--navy-2);border:1px solid rgba(143,194,240,.34);box-shadow:0 18px 40px rgba(0,0,0,.45);padding:16px 18px 18px}
.rt-pin--flip .rt-pin__tip{left:auto;right:24px}
.rt-pin__country{font-size:15.5px;font-weight:500}
.rt-pin__sector{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--sky);margin-top:6px}
.rt-pin__tip ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.rt-pin__tip li{font-size:13px;display:flex;gap:8px;align-items:baseline}
.rt-pin__tip li::before{content:"";width:4px;height:4px;border-radius:999px;background:var(--sky);flex:none;transform:translateY(-2px)}
.rt-pin__tip a{color:var(--w-86);border-bottom:1px solid transparent}
.rt-pin__tip a:hover{color:var(--sky);border-color:var(--sky)}
.rt-pin__stage{font-size:12.5px;color:var(--w-62);margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14);line-height:1.5}

/* ---------- Enquiry section & form ---------- */
.rt-enquiry{padding:104px 0}
.rt-enquiry__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:start}
.rt-enquiry__title{font-size:clamp(30px,3.6vw,52px);line-height:1.04;max-width:22ch}
.rt-enquiry__text{font-size:18px;line-height:1.66;color:rgba(255,255,255,.8);margin-top:22px;max-width:52ch}
.rt-enquiry__contacts{margin-top:44px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.rt-iconlink{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:rgba(255,255,255,.8)}
.rt-socials{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 0}
.rt-socials img,.rt-footer__social img{width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(1);opacity:.86}
.rt-socials a{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;color:var(--w-86)}
.rt-socials a:hover{border-color:var(--sky)}
.rt-form{background:rgba(255,255,255,.05);padding:32px}
.rt-form__label{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin-bottom:24px}
.rt-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin-bottom:24px}
.rt-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.rt-field--full{grid-column:1/-1}
.rt-field label{font-size:13px;color:var(--w-62)}
.rt-field input,.rt-field select,.rt-field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.24);padding:8px 0 9px;font-size:15px;color:#fff;border-radius:0;transition:border-color .15s ease}
.rt-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--sky) 50%),linear-gradient(135deg,var(--sky) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}
.rt-field select option{color:var(--navy)}
.rt-field textarea{border:1px solid rgba(255,255,255,.18);padding:12px 14px;min-height:96px;resize:vertical;margin-top:4px}
.rt-field input:focus,.rt-field select:focus,.rt-field textarea:focus{outline:0;border-color:var(--sky)}
.rt-field [aria-invalid="true"]{border-color:#FF8A80}
.rt-field__err{font-size:12.5px;color:#FFB4AB}
.rt-field--check{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px}
.rt-field--check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue);flex:none}
.rt-field--check label{flex:1;font-size:13px;line-height:1.55}
.rt-field--check label a{text-decoration:underline}
.rt-field--check .rt-field__err{flex-basis:100%}
.rt-form__note{margin-top:16px;font-size:13px;line-height:1.6;color:var(--w-62)}
.rt-form__err{background:rgba(255,138,128,.12);border-left:3px solid #FF8A80;padding:10px 14px;font-size:14px;margin-bottom:20px}
.rt-form__done{background:rgba(143,194,240,.12);border-left:3px solid var(--sky);padding:18px 20px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.rt-form__done span{color:var(--w-78);font-size:14px}
.rt-form__project{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--blue);padding:12px 12px 12px 16px;margin-bottom:22px}
.rt-form__project-k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.rt-form__project-v{font-size:14.5px;font-weight:500;flex:1;min-width:0}
.rt-form__project-x{width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer;line-height:1;font-size:16px}
.rt-form__project-x:hover{background:rgba(255,255,255,.12)}
.rt-form [type=submit][disabled]{opacity:.6;cursor:progress}
.rt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rt-address{font-style:normal;font-size:17px;line-height:1.7}

/* ---------- About ---------- */
.rt-about-ov{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.rt-about-ov__text{margin-top:28px;font-size:17px;line-height:1.72;color:var(--ink-76);max-width:60ch}
.rt-about-ov__text p+p{margin-top:1em}
.rt-about-ov__media{margin:0;position:relative}
.rt-about-ov__media img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block}
.rt-about-ov__media::after{content:"";position:absolute;left:-18px;bottom:-18px;width:42%;height:42%;background:var(--pale);z-index:-1}
.rt-about-ov__proof{margin-top:88px}
.rt-proof--3{grid-template-columns:repeat(3,1fr)}
.rt-svcgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ink-12);border:1px solid var(--ink-12)}
.rt-svcgrid li{display:flex}
.rt-svcgrid__item{flex:1;display:flex;flex-direction:column;background:#fff;padding:36px 34px 32px;color:var(--navy);transition:background .2s ease}
.rt-svcgrid__item:hover{background:var(--navy);color:#fff}
.rt-svcgrid__num{font-size:13px;color:var(--blue);letter-spacing:.06em}
.rt-svcgrid__title{font-size:21px;line-height:1.25;margin-top:44px}
.rt-svcgrid__text{font-size:15px;line-height:1.62;color:var(--ink-76);margin-top:14px;flex:1}
.rt-svcgrid__more{margin-top:26px;font-size:14px;font-weight:500;color:var(--blue)}
.rt-svcgrid__item:hover .rt-svcgrid__num,.rt-svcgrid__item:hover .rt-svcgrid__more{color:var(--sky)}
.rt-svcgrid__item:hover .rt-svcgrid__text{color:var(--w-78)}
.rt-about-how{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:center}
.rt-about-how__media{margin:0}
.rt-about-how__media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.rt-about-how__text{margin-top:22px}
.rt-modes{list-style:none;margin:40px 0 0;padding:0;border-bottom:1px solid var(--w-12)}
.rt-modes li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid var(--w-12)}
.rt-modes__num{font-size:13px;color:rgba(255,255,255,.45);padding-top:4px}
.rt-modes__title{font-size:20px;letter-spacing:-.01em}
.rt-modes__text{font-size:15.5px;line-height:1.62;color:var(--w-78);margin-top:6px}
.rt-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rt-principle{background:#fff;padding:34px 30px 36px;border-top:3px solid var(--blue)}
.rt-principle__num{font-size:clamp(34px,3.4vw,48px);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--pale)}
.rt-principle__title{font-size:21px;margin-top:28px}
.rt-principle__text{font-size:15.5px;line-height:1.62;color:var(--ink-76);margin-top:12px}

/* ---------- Enquiry pop-up ---------- */
html:has(.rt-modal[open]){overflow:hidden}
.rt-modal{border:0;padding:0;margin:auto;width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);background:transparent;color:#fff;overflow:visible}
.rt-modal::backdrop{background:rgba(8,20,32,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.rt-modal__panel{position:relative;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:44px 40px 36px}
.rt-modal__close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}
.rt-modal__close:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.rt-modal__title{font-size:clamp(26px,3vw,36px);line-height:1.1;padding-right:56px}
.rt-modal__text{font-size:15.5px;line-height:1.6;color:var(--w-78);margin:12px 0 28px;max-width:56ch}
.rt-modal .rt-form{padding:0;background:transparent}
.rt-modal .rt-form__label{display:none}
@media (prefers-reduced-motion:no-preference){
  .rt-modal[open]{animation:rt-pop .28s cubic-bezier(.2,.8,.2,1)}
  .rt-modal[open]::backdrop{animation:rt-fade .28s ease}
}
@keyframes rt-pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes rt-fade{from{opacity:0}to{opacity:1}}
@media (max-width:720px){
  .rt-modal{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0}
  .rt-modal__panel{max-height:100dvh;height:100%;padding:28px 20px 32px}
}

/* ---------- Footer ---------- */
.rt-footer{background:var(--navy);color:#fff;padding-top:88px;border-top:1px solid var(--w-12)}
.rt-enquiry+.rt-footer,main:has(>.rt-enquiry:last-child)+.rt-footer{border-top:0;padding-top:0}
.rt-footer__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--w-12)}
.rt-footer__h{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--w-62);margin-bottom:16px}
.rt-footer__text{font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.6);max-width:40ch}
.rt-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15.5px;color:var(--w-86)}
.rt-footer__links a:hover{color:var(--sky)}
.rt-footer__base{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0 28px;font-size:12.5px;color:rgba(255,255,255,.5)}
.rt-footer__icons{display:flex;align-items:center;gap:18px}
.rt-footer__social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px}
.rt-footer__social a{display:flex;color:rgba(255,255,255,.6)}
.rt-footer__social a:hover{color:var(--sky)}
.rt-footer__icons a{display:flex;color:rgba(255,255,255,.6)}
.rt-ghost--footer{color:rgba(255,255,255,.06);font-size:clamp(72px,15.6vw,240px);line-height:.74;padding:0}

/* ---------- Inner pages ---------- */
.rt-phero{position:relative;overflow:hidden;padding:56px 0 72px}
.rt-phero--img{padding:72px 0 96px}
.rt-phero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.rt-phero--img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(8,20,32,.92) 0%,rgba(8,20,32,.65) 55%,rgba(8,20,32,.35) 100%)}
.rt-phero__inner{position:relative;z-index:2}
.rt-phero__title{font-size:clamp(36px,5vw,72px);line-height:1.02;letter-spacing:-.035em;max-width:20ch}
.rt-phero__intro{font-size:18px;line-height:1.66;color:rgba(255,255,255,.82);margin-top:24px;max-width:60ch}
.rt-phero .rt-actions{margin-top:34px}
.rt-crumbs ol{list-style:none;margin:0 0 36px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:13px}
.rt-crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.rt-crumbs--light{color:var(--w-62)}
.rt-crumbs--light a:hover{color:#fff}
.rt-crumbs [aria-current]{color:rgba(255,255,255,.88)}

.rt-case{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:64px;align-items:start}
.rt-case__facts{position:sticky;top:110px;background:#fff;padding:32px}
.rt-case__body{min-width:0}
.rt-facts{margin:0 0 24px}
.rt-facts div{padding:14px 0;border-bottom:1px solid var(--ink-12)}
.rt-facts div:first-child{padding-top:0}
.rt-facts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.rt-facts dd{margin:4px 0 0;font-size:15.5px;line-height:1.5}
.rt-block{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--ink-12)}
.rt-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.rt-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.6;color:var(--ink-76)}
.rt-list li{position:relative;padding-left:22px}
.rt-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--blue)}
.rt-list--check li{padding-left:30px}
.rt-list--check li::before{top:.28em;width:18px;height:18px;border-radius:50%;background:var(--pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2 6.7 11 12 5.2' fill='none' stroke='%230B4C9C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.rt-list--cols{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px}
.rt-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rt-chips li{font-size:14px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--ink-12)}
.rt-chips--light li{background:transparent;border-color:rgba(255,255,255,.25);color:var(--w-86)}
.rt-linklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rt-linklist a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--ink-12);font-weight:500}
.rt-linklist--grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.rt-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.rt-panel{background:#fff;padding:40px}
.rt-panel--wide{grid-column:1/-1}
.rt-panel--pale{background:var(--pale)}
.rt-panel--pale .rt-list{color:rgba(12,27,42,.82)}
.rt-panel--pale .rt-list li::before{background:var(--navy)}
.rt-panel--dark{background:var(--navy);color:#fff}
.rt-panel:only-child,.rt-panel--wide:last-child{grid-column:1/-1}
.rt-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.rt-gallery figure{margin:0}
.rt-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.rt-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.rt-filter a{padding:9px 18px;border-radius:999px;border:1px solid rgba(12,27,42,.18);font-size:14px}
.rt-filter a span{color:var(--ink-66);font-size:12.5px}
.rt-filter a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.rt-filter a[aria-current] span{color:var(--w-62)}
.rt-pager .nav-links{display:flex;gap:8px;justify-content:center;margin-top:48px}
.rt-pager .page-numbers{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(12,27,42,.18);font-size:14px}
.rt-pager .current{background:var(--navy);color:#fff}

/* ---------- Prose (editor content) ---------- */
.rt-prose{font-size:17px;line-height:1.75;color:rgba(12,27,42,.84)}
.rt-prose--narrow{max-width:760px}
.rt-prose>*+*{margin-top:1.1em}
.rt-prose h2{font-size:clamp(24px,2.4vw,32px);line-height:1.2;margin-top:1.9em;color:var(--navy)}
.rt-prose h3{font-size:21px;line-height:1.3;margin-top:1.6em;color:var(--navy)}
.rt-prose>h2:first-child,.rt-prose>h3:first-child{margin-top:0}
.rt-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.rt-prose ul,.rt-prose ol{padding-left:1.3em}
.rt-prose li+li{margin-top:.4em}
.rt-prose li::marker{color:var(--blue)}
.rt-prose blockquote{margin-left:0;padding:4px 0 4px 22px;border-left:3px solid var(--blue);font-size:19px}
.rt-prose img{display:block}
.rt-prose figure{margin-left:0;margin-right:0}
.rt-prose figcaption{font-size:13.5px;color:var(--ink-66);margin-top:8px}
.rt-prose table{width:100%;border-collapse:collapse;font-size:15px}
.rt-prose th,.rt-prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ink-12);vertical-align:top}
.rt-prose th{font-weight:500;background:#fff}
.rt-prose .wp-block-table{overflow-x:auto}
.rt-prose .wp-block-columns{display:flex;gap:32px;flex-wrap:wrap}
.rt-prose .wp-block-column{flex:1 1 260px;min-width:0}
.rt-prose .wp-block-column>*+*{margin-top:1em}
.rt-prose .wp-block-separator{border:0;border-top:1px solid var(--ink-12);margin:2.4em 0}
.rt-prose .has-text-align-center{text-align:center}
.rt-prose .rt-note{background:#fff;border-left:3px solid var(--blue);padding:18px 22px;font-size:15.5px}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  :root{--pad:28px}
  .rt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-svcgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-menu{gap:18px}
  .rt-footer__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:1000px){
  .rt-burger{display:flex}
  .rt-header__cta{margin-left:auto}
  .rt-nav{position:absolute;left:0;right:0;top:100%;margin:0;background:#fff;box-shadow:0 18px 30px rgba(12,27,42,.08);border-bottom:1px solid rgba(12,27,42,.1);padding:8px var(--pad) 18px;display:none}
  .rt-nav.is-open{display:block}
  .rt-menu{flex-direction:column;align-items:stretch;gap:0}
  .rt-menu a{display:block;font-size:16px;padding:13px 0;border-bottom:1px solid rgba(12,27,42,.08);color:rgba(12,27,42,.85)}
  .rt-menu li:last-child a{border-bottom:0}
  .rt-menu a::after{display:none}
}
@media (max-width:1000px){
  .rt-split,.rt-split--intl,.rt-enquiry__grid,.rt-hero__foot,.rt-case{grid-template-columns:1fr;gap:32px}
  .rt-proof,.rt-proof--3{grid-template-columns:1fr}
  .rt-about-ov,.rt-about-how{grid-template-columns:1fr;gap:40px}
  .rt-about-ov__proof{margin-top:56px}
  .rt-about-how__media img{aspect-ratio:16/10}
  .rt-rows__item{grid-template-columns:1fr;gap:10px}
  .rt-svc{grid-template-columns:200px minmax(0,1fr)}
  .rt-svc__body{padding:28px 30px}
  .rt-svc__text{margin-top:14px}
  .rt-cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-case__facts{position:static}
  .rt-panels,  .rt-linklist--grid{grid-template-columns:1fr 1fr}
  .rt-ghost{font-size:clamp(64px,17vw,150px)}
  .rt-hero__ctrl{justify-self:start}
}
@media (max-width:720px){
  :root{--pad:20px}
  .rt-header__bar{height:68px;gap:12px}
  .rt-header__logo img{height:34px}
  .rt-header__cta{padding:10px 16px;font-size:13px}
  html{scroll-padding-top:84px}
  .rt-sect,.rt-enquiry{padding:64px 0}
  .rt-sect--flush{padding-top:0}
  .rt-services{padding-bottom:64px}
  .rt-hero{min-height:560px}
  .rt-hero__top{padding-top:40px}
  .rt-hero__lead{font-size:16.5px}
  .rt-cards,.rt-cards--3,.rt-principles,.rt-svcgrid{grid-template-columns:1fr}
  .rt-svcgrid__title{margin-top:24px}
  .rt-about-ov__media::after{display:none}
  .rt-proof__item{padding:32px 26px}
  .rt-svc{grid-template-columns:88px minmax(0,1fr);column-gap:16px;align-items:center;padding:16px 16px 20px}
  .rt-svc__body{display:contents}
  .rt-svc__head{grid-column:2;gap:12px}
  .rt-svc__title{font-size:18px}
  .rt-svc__arrow{font-size:18px}
  .rt-svc__text{grid-column:1/-1;margin-top:16px;font-size:15px;line-height:1.6}
  .rt-form{padding:24px 20px}
  .rt-form__grid{grid-template-columns:1fr}
  .rt-list--cols{grid-template-columns:1fr}
  .rt-panel{padding:28px 24px}
  .rt-pin__label{display:none}
  .rt-pin__tip{min-width:180px;max-width:220px;padding:12px 14px 14px}
  .rt-pin__btn{left:-14px;top:-14px;width:28px;height:28px}
  .rt-footer{padding-top:64px}
  .rt-footer__cols{grid-template-columns:1fr}
  .rt-footer__base{flex-direction:column;align-items:flex-start}
  .rt-phero{padding:40px 0 56px}
  .rt-crumbs ol{margin-bottom:26px}
}
@media (max-width:420px){
  .rt-header__logo img{height:30px}
  .rt-header__cta{padding:9px 13px;font-size:12.5px}
}
@media (max-width:340px){
  .rt-header__cta{display:none}
  .rt-burger{margin-left:auto}
}

/* ---------- Motion (enabled by .rt-anim; off for reduced-motion) ---------- */
:root{--ease-out:cubic-bezier(.2,.7,.2,1)}
@keyframes rt-rise{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
@keyframes rt-drop{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}
@keyframes rt-pin-in{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}

/* Page load: header, homepage hero, inner-page headers */
.rt-anim .rt-header{animation:rt-drop .7s var(--ease-out) both}
.rt-anim .rt-hero__copy[data-on],.rt-anim .rt-hero__title[data-on]{animation:rt-rise 1s var(--ease-out) both}
.rt-anim .rt-hero__top .rt-hero__copy[data-on]{animation-delay:.15s}
.rt-anim .rt-hero__bottom .rt-hero__title[data-on]{animation-delay:.3s}
.rt-anim .rt-hero__foot{animation:rt-rise 1s var(--ease-out) .5s both}
.rt-anim .rt-phero__inner>*{animation:rt-rise .9s var(--ease-out) both}
.rt-anim .rt-phero__inner>:nth-child(2){animation-delay:.08s}
.rt-anim .rt-phero__inner>:nth-child(3){animation-delay:.16s}
.rt-anim .rt-phero__inner>:nth-child(4){animation-delay:.24s}
.rt-anim .rt-phero__inner>:nth-child(5){animation-delay:.32s}
.rt-anim .rt-phero__bg{animation:rt-kb 9s ease-out both}

/* Scroll reveal: fade + rise, staggered per batch via --d */
.rt-anim :is(.rt-split--head>*,.rt-proof__item,.rt-dark>.rt-wrap>.rt-lede,.rt-rows__item,.rt-svc,.rt-cards>*,.rt-mapbox,.rt-enquiry__grid>*,.rt-svcgrid>li,.rt-principle,.rt-modes>li,.rt-about-ov>*,.rt-about-how>*,.rt-panel,.rt-case__facts,.rt-block,.rt-filter,.rt-footer__cols>*,.rt-prose--narrow>*):not(.is-done){
  opacity:0;transform:translate3d(0,32px,0);
  transition:opacity .9s var(--ease-out) var(--d,0s),transform .9s var(--ease-out) var(--d,0s)}
.rt-anim :is(.rt-split--head>*,.rt-proof__item,.rt-dark>.rt-wrap>.rt-lede,.rt-rows__item,.rt-svc,.rt-cards>*,.rt-mapbox,.rt-enquiry__grid>*,.rt-svcgrid>li,.rt-principle,.rt-modes>li,.rt-about-ov>*,.rt-about-how>*,.rt-panel,.rt-case__facts,.rt-block,.rt-filter,.rt-footer__cols>*,.rt-prose--narrow>*).is-in,
.rt-anim-done :is(.rt-split--head>*,.rt-proof__item,.rt-dark>.rt-wrap>.rt-lede,.rt-rows__item,.rt-svc,.rt-cards>*,.rt-mapbox,.rt-enquiry__grid>*,.rt-svcgrid>li,.rt-principle,.rt-modes>li,.rt-about-ov>*,.rt-about-how>*,.rt-panel,.rt-case__facts,.rt-block,.rt-filter,.rt-footer__cols>*,.rt-prose--narrow>*){opacity:1;transform:none}

/* Audience rows: the divider line draws across */
.rt-anim .rt-rows__item{position:relative;border-top-color:transparent}
.rt-anim .rt-rows__item::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--w-12);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-out) var(--d,0s)}
.rt-anim .rt-rows__item:is(.is-in,.is-done)::before,.rt-anim-done .rt-rows__item::before{transform:none}

/* Images settle from a slight zoom as their card reveals */
.rt-anim :is(.rt-svc__img,.rt-card__img,.rt-about-how__media img){transition:transform 1.6s var(--ease-out)}
.rt-anim :is(.rt-svc,.rt-cards>*,.rt-about-how>*):not(.is-in):not(.is-done) :is(.rt-svc__img,.rt-card__img,.rt-about-how__media img){transform:scale(1.12)}
.rt-about-how__media{overflow:hidden}

/* Full-width image band and the large background words */
.rt-anim .rt-band__img{transform:scale(1.18);transition:transform 2s var(--ease-out)}
.rt-anim .rt-band.is-in .rt-band__img,.rt-anim-done .rt-band__img{transform:none}
.rt-anim .rt-ghost>.rt-wrap{opacity:0;transform:translate3d(-5%,0,0);transition:opacity 1.4s var(--ease-out),transform 1.6s var(--ease-out)}
.rt-anim .rt-ghost>.rt-wrap.is-in,.rt-anim-done .rt-ghost>.rt-wrap{opacity:1;transform:none}

/* Map pins pop in one after another */
.rt-anim .rt-pin{opacity:0}
.rt-anim .rt-mapbox.is-in .rt-pin,.rt-anim .rt-mapbox.is-done .rt-pin,.rt-anim-done .rt-pin{animation:rt-pin-in .6s var(--ease-out) both}
.rt-anim .rt-mapbox.is-in .rt-pin:nth-child(1){animation-delay:.6s}
.rt-anim .rt-mapbox.is-in .rt-pin:nth-child(2){animation-delay:.72s}
.rt-anim .rt-mapbox.is-in .rt-pin:nth-child(3){animation-delay:.84s}
.rt-anim .rt-mapbox.is-in .rt-pin:nth-child(4){animation-delay:.96s}
.rt-anim .rt-mapbox.is-in .rt-pin:nth-child(5){animation-delay:1.08s}
.rt-anim .rt-mapbox.is-in .rt-pin:nth-child(n+6){animation-delay:1.2s}

/* Buttons: arrow nudges on hover */
.rt-btn span[aria-hidden]{display:inline-block;transition:transform .25s var(--ease-out)}
.rt-btn:hover span[aria-hidden]{transform:translateX(4px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
}
