/* Shared measurements use the existing Vambrace typefaces and palette. */
:root{--vb-ink:#2a375f;--vb-night:#242d4b;--vb-violet:#cd61ff;--vb-tint:#f7f6f9;--vb-line:#dcdae4;--vb-edge:max(5vw,calc((100vw - 1280px)/2))}
body{overflow-wrap:break-word}
main [id]{scroll-margin-top:100px}
.r-label,.r-parent,.r-index a,.r-library-link{font:400 .76rem/1.45 VambraceGeistMono,monospace;letter-spacing:.045em}
.r-lead{background:var(--vb-ink);color:white;padding:clamp(32px,5vw,76px) var(--vb-edge)}
.r-lead-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);align-items:center;gap:clamp(35px,6vw,100px)}
.r-parent{display:inline-block;color:inherit;text-underline-offset:4px;margin-bottom:clamp(22px,3vw,42px)}
.r-label{display:block;text-transform:uppercase;color:#773993;margin:0 0 14px}
.r-lead .r-label{color:#e4b7ff}
.r-lead h1{color:inherit;margin:0;font-size:clamp(44px,5.4vw,86px);font-weight:400;line-height:1.015;letter-spacing:-.055em}
.r-deck{max-width:53ch;font-size:clamp(17px,1.4vw,21px);margin:20px 0 0;line-height:1.48}
.r-primary{background:var(--vb-violet);color:var(--vb-night);display:inline-flex;align-items:center;gap:25px;font-weight:600;text-decoration:none;padding:15px 21px;margin-top:24px}
.r-primary:hover{background:#df9cff}.r-primary span{font-size:1.15em}
.r-visual{margin:0;position:relative;aspect-ratio:1.28;background:var(--vb-tint);border-bottom:5px solid var(--vb-violet);overflow:hidden}
.r-visual img{display:block;width:100%;height:100%;object-fit:cover}
.r-assessment .r-lead{background:var(--vb-tint);color:var(--vb-ink)}
.r-assessment .r-lead .r-label{color:#773993}
.r-testing .r-visual{aspect-ratio:1.45}
.r-brief{padding:clamp(34px,4vw,64px) var(--vb-edge);background:var(--vb-tint);color:var(--vb-ink);display:grid;grid-template-columns:minmax(190px,.92fr) minmax(0,2fr);gap:4vw;align-items:start}
.r-brief h2,.r-questions h2,.r-reading-note h2{font-size:clamp(28px,3vw,44px);line-height:1.12;letter-spacing:-.04em;margin:0;font-weight:400}
.r-brief dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.r-brief dl>div{border-top:2px solid var(--vb-violet);padding-block:14px 0}
.r-brief dt{font-size:1.13rem;font-weight:600;line-height:1.3;margin-bottom:9px}.r-brief dd{margin:0;font-size:1rem;line-height:1.48}
.r-assessment .r-brief{background:white}
.r-index{padding:16px var(--vb-edge);background:white;border-block:1px solid var(--vb-line);display:flex;align-items:center;flex-wrap:wrap;gap:8px 26px}
.r-index a{color:var(--vb-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a67abe;padding:4px 0;max-width:36ch}
.r-questions{padding:clamp(45px,6vw,92px) var(--vb-edge);background:var(--vb-tint);color:var(--vb-ink)}
.r-questions>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:8%}
.r-faq{border-top:1px solid #adb1c1;padding:0}
.r-faq:last-child{border-bottom:1px solid #adb1c1}
.r-faq summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0;font-size:clamp(17px,1.45vw,21px);line-height:1.4;cursor:pointer}
.r-faq summary::-webkit-details-marker{display:none}.r-faq summary::after{content:'+';font-size:1.3em;color:#773993}.r-faq[open] summary::after{content:'−'}
.r-faq>div{padding:0 25px 18px 0;max-width:68ch}.r-faq p,.r-faq li{line-height:1.6}.r-faq ul,.r-faq ol{padding-left:1.4em}
.r-service :is([data-block="generic-content"],[data-block="service-descriptions"],[data-block="two-column-image-video"],[data-block="key-services"],[data-block="three-column-cta"],[data-block="learn-more-links"]){padding-block:clamp(36px,5vw,78px)}
.r-service .r-content h2{font-size:clamp(29px,3.4vw,52px);line-height:1.12}
.r-service .r-content h3{line-height:1.22;text-wrap:pretty}
.r-service [data-block="learn-more-links"]{border-top:1px solid var(--vb-line)}
.r-service .customer-strip{padding-block:30px}
.pt-report .pt-label{color:#773993}.pt-report dd{color:var(--vb-ink)}
.services-section .services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4vw;border-top:1px solid var(--vb-line)}
.services-section .service-card{display:grid;grid-template-columns:42px 1fr;align-content:start;align-items:start;gap:8px 20px;border:0;border-bottom:1px solid var(--vb-line);background:transparent;box-shadow:none;padding:26px 0;transform:none}
.services-section .service-top{grid-column:1;grid-row:1/4;margin:0}
.services-section .service-card :is(h3,p,.service-link){grid-column:2;margin:0}.services-section .service-card .service-link{margin-top:9px}
.company-hero-grid img{border-bottom:5px solid var(--vb-violet)}
.enquiries{align-items:start}.enquiry-intro h1{font-size:clamp(42px,5vw,76px)}
.enquiries form{border-top:4px solid var(--vb-violet)}.r-form-title{font-size:30px;margin:0 0 20px}.r-contact-note{border-top:1px solid var(--vb-line);margin-top:24px;padding-top:16px}.r-contact-note h2{font-size:21px}
.hub-intro{background:var(--vb-night);color:white}.hub-intro :is(h1,p:not(.eyebrow),.r-library-link){color:white}.hub-intro .eyebrow{color:#e4b7ff}.r-library-link{display:inline-block;margin-top:16px;text-underline-offset:4px}
.hub-article-header{border-bottom:1px solid var(--vb-line)}.hub-article-heading img{border-bottom:4px solid var(--vb-violet)}
.r-reading-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;padding:clamp(28px,4vw,52px) var(--vb-edge);background:var(--vb-night);color:white}
.r-reading-note .r-label{color:#e4b7ff}.r-reading-note h2{color:white;font-size:clamp(23px,2.4vw,35px)}
.r-reading-note p{font-size:clamp(18px,1.5vw,23px);margin:0 0 10px;line-height:1.45}.r-reading-note a{color:white;text-decoration:underline;text-underline-offset:4px}
.risk-map h2{font-size:clamp(21px,2vw,30px)}.cc-example{border-top:1px solid var(--vb-line)}
.hero .hero-copy{align-items:flex-start}.hero .hero-copy h1,.hero .hero-copy .hero-actions{margin-inline:0}
.r-case{background:white;border-top:5px solid var(--vb-violet);padding:clamp(22px,3.2vw,46px);color:var(--vb-ink);box-shadow:9px 9px 0 #ffffff12}
.r-case .r-label{color:#773993}.r-case-heading span{font-size:.9rem}
.r-case h2{font-size:clamp(26px,2.55vw,41px);font-weight:400;line-height:1.12;margin:8px 0 20px}
.r-case dl,.r-case dd{margin:0}.r-case dt{margin-top:16px;border-top:1px solid var(--vb-line);padding-top:12px;font-weight:600}.r-case dd{line-height:1.5;margin-top:5px}
.r-scope,.r-resources{padding:clamp(38px,5vw,80px) var(--vb-edge);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:6vw}
.r-scope{background:var(--vb-tint)}.r-scope h2,.r-resources h2{font-size:clamp(27px,3.2vw,47px);font-weight:400;line-height:1.12;margin:0}
.r-scope>div>div{border-top:1px solid #a9aebf;padding:16px 0}.r-scope h3{font-size:clamp(19px,1.6vw,25px);margin:0 0 8px}.r-scope p,.r-scope ul{margin:6px 0;line-height:1.55}
.r-resources{border-top:1px solid var(--vb-line)}.r-resources a{padding:14px 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--vb-line);text-decoration:none;color:var(--vb-ink)}.r-resources a:hover{text-decoration:underline}.r-resources a span{color:#773993}
.film-frame:has(.r-film-play){position:relative;aspect-ratio:16/9;min-width:0;background:linear-gradient(125deg,#242d4bdb,#242d4b75),url('/assets/hero-city.jpg') center/cover}
.film-frame .r-film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;color:white;font-size:clamp(18px,2vw,32px)}
.r-film-play span{display:grid;place-items:center;background:var(--vb-violet);color:var(--vb-night);width:48px;height:48px;font-size:18px}
@media(max-width:760px){.r-scope,.r-resources{grid-template-columns:1fr;gap:20px}.r-service a.group.w-max{width:fit-content;max-width:100%;height:auto;min-height:50px}.r-service a.group.w-max>span{min-width:0;white-space:normal}.r-service a.group.w-max>span:last-child{flex-shrink:0}.r-brief dl>div{grid-template-columns:minmax(105px,.78fr) 1.5fr}}
@media(max-width:850px){
 .r-lead-inner,.r-brief,.r-questions>div,.r-reading-note{grid-template-columns:1fr}
 .r-lead-inner{gap:24px}.r-visual,.r-testing .r-visual{aspect-ratio:2.05;max-height:350px}
 .r-brief{gap:22px}.r-questions>div{gap:24px}.r-reading-note{gap:18px}
 .r-index{gap:5px 18px}.r-index a{max-width:100%}
}
@media(max-width:600px){
 .r-lead h1{font-size:clamp(36px,10.8vw,56px)}.r-deck{font-size:17px}
 .r-brief dl{grid-template-columns:1fr;gap:0}.r-brief dl>div{display:grid;grid-template-columns:minmax(86px,.62fr) 1.5fr;gap:14px;border-top:1px solid var(--vb-line);padding:13px 0}.r-brief dt{margin:0}
 .services-section .services-grid{grid-template-columns:1fr}.services-section .service-card{grid-template-columns:32px 1fr;gap:8px 16px}
 .site-header nav.open{max-height:calc(100dvh - 72px);overflow:auto}
 .r-reading-note h2{text-wrap:pretty}.hub-toc{position:static}
}
