/* Structured modules inherit the established TVRC service-page design. */
.structured-page .service-nav-items{max-width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}
.structured-page .service-nav-items a{white-space:nowrap}
.structured-page .service-introduction>:first-child{margin-top:0}
.structured-page .service-introduction ul,.structured-page .module-media-text ul,.structured-page [role=tabpanel] ul{padding-left:1.25em;line-height:1.8}
.structured-page button.service-inline-link{font:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer}
.module-media-text,.module-tabs,.module-features,.module-clients{padding:clamp(56px,8vw,132px) 0;border-top:1px solid #c1cdd2;scroll-margin-top:40px}
.module-media-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);align-items:center}
.module-media-text figure{margin:0}.module-media-text img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.module-media-text.image-right figure{order:2}
.module-media-text h2,.module-tabs h2,.module-features h2,.module-clients h2{font-size:clamp(36px,4.5vw,76px);font-weight:400;letter-spacing:-.045em;line-height:1.06;margin:0 0 32px}
.module-media-text p,.module-feature-grid p,.module-tabs p{font-size:clamp(18px,1.3vw,22px);line-height:1.7}
.module-tab-list{display:flex;overflow-x:auto;gap:12px;border-bottom:1px solid #b5c4cc;padding-bottom:16px;margin-bottom:36px}
.module-tab-list button{font:inherit;font-size:18px;border:1px solid transparent;border-radius:30px;background:transparent;color:inherit;padding:12px 20px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.module-tab-list [aria-selected=true]{background:#12232c;color:white}
.module-tab-list button:hover{background:#cddde3}.module-tab-list [aria-selected=true]:hover{background:#12232c}
.module-tabs [role=tabpanel]:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
.module-tabs [role=tabpanel] img{width:100%;max-height:500px;object-fit:cover;border-radius:4px}
.module-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.module-feature-grid article{border-top:1px solid #93a7b1;padding-top:24px}.module-feature-grid h3{font-size:28px;font-weight:400;margin:0 0 20px}
.module-client-gallery{display:flex;gap:36px;overflow-x:auto;padding:12px 0 24px;scroll-snap-type:x proximity}
.module-client-gallery figure{margin:0;flex:0 0 190px;scroll-snap-align:start}.module-client-gallery img{width:100%;height:100px;object-fit:contain}.module-client-gallery figcaption{margin-top:16px}
.structured-page [hidden]{display:none!important}
.structured-page .module-related-link{display:flex;align-items:center;justify-content:space-between;gap:20px}
.structured-page .module-related-link svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5}
.structured-page :is(button,a):focus-visible{outline:2px solid #08738c;outline-offset:5px}
@media(max-width:700px){.module-media-text,.module-tabs [role=tabpanel]:not([hidden]),.module-feature-grid{grid-template-columns:1fr}.module-media-text.image-right figure{order:0}.module-tab-list button{font-size:16px;padding:12px 16px}.structured-page .service-nav-full{display:none}.structured-page .service-nav-short{display:inline}.module-client-gallery figure{flex-basis:150px}}
@media(prefers-reduced-motion:reduce){.structured-page *{scroll-behavior:auto!important}.module-tab-list button{transition:none}}

.structured-page .structured-start{position:absolute;top:0;height:100svh;width:1px;pointer-events:none}
.module-media-text.no-image{grid-template-columns:1fr;max-width:900px}.module-media-text.no-image figure{display:none}

.module-features.layout-list .module-feature-grid{display:block;max-width:1000px;margin-left:auto}
.module-features.layout-list article{display:grid;grid-template-columns:40px 1fr;gap:32px;padding:32px 0}
.module-features.layout-list .service-icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;color:#08738c}
.structured-page .editorial-eyebrow{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#08738c;margin:0 0 20px}
.structured-page .module-related{padding:56px 0;border-top:1px solid #c1cdd2}
.structured-page .module-related h2{font-size:clamp(28px,3vw,48px);font-weight:400;letter-spacing:-.04em;margin:0 0 24px}
.structured-page .service-enquiry .service-inline-link{display:flex;width:fit-content;margin-bottom:24px}
.template-article .service-overview{display:block}.template-article .service-overview h2{font-size:clamp(32px,4vw,56px);margin-bottom:32px}
.template-article :is(.service-overview,.module-media-text.no-image){max-width:760px;margin-inline:auto}
.template-article .module-media-text.no-image h2{font-size:clamp(28px,3vw,42px)}
.module-article-meta{padding:40px 0 0;max-width:760px;margin-inline:auto;color:#546973;font-size:15px}
@media(max-width:700px){.module-features.layout-list article{gap:20px;grid-template-columns:28px 1fr}.module-features.layout-list .service-icon{width:24px;height:24px}}
/* Editorial modules retain the incumbent company, contact and reading layouts. */
.structured-page:not(.template-home) .service-paper>section+section{margin-top:clamp(48px,6vw,96px)}
.structured-page .story-list article>a{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.structured-page .story-list article>a img{width:100%;aspect-ratio:16/9;object-fit:cover}
.structured-page .module-directory{padding-inline:0}
.structured-page .contact-page-grid .contact-address svg{display:none}
.structured-page .article-layout .legacy-anchor{position:absolute}
.structured-page .client-wall a{display:block;width:100%;height:100%}
.structured-page .client-wall a img{height:100%;object-fit:contain}
@media(max-width:650px){.structured-page .story-list article>a{grid-template-columns:1fr;gap:24px}.structured-page .article-layout{grid-template-columns:1fr}.structured-page .article-contents{position:static}}
.home-hidden-section{display:block;position:relative;height:0;pointer-events:none}
.structured-page .story-preview{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.structured-page .story-preview img{width:100%;aspect-ratio:16/9;object-fit:cover}
.structured-page .role-list button:disabled{opacity:1;cursor:default}
@media(max-width:650px){.structured-page .story-preview{grid-template-columns:1fr;gap:24px}}
