/* Section rules are shared by ACF's actual preview and the frontend. */
.tc-editor-guidance{padding:24px;border:1px dashed #787e87;background:#f5f6f4;color:#333;font:16px/1.5 sans-serif}
.tc-acf-hero .tc-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.tc-acf-hero .tc-hero-copy{padding-bottom:48px}
.tc-acf-hero .tc-readout h2{font-size:25px;line-height:1.2;font-weight:400;margin:0 0 12px}.tc-acf-hero .tc-readout h2::before{display:none}
.tc-acf-hero .tc-button-outline{background:transparent;color:var(--tc-ink);border:1px solid var(--tc-ink)}
.tc-acf-hero .tc-hero-visual{display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.tc-acf-hero .tc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.tc-acf-hero .tc-hero-object{margin-left:-48px;padding-bottom:25px}
.tc-acf-hero .tc-hero-object img{display:block;width:100%;mix-blend-mode:multiply}
.tc-acf-hero .tc-hero-object figcaption{padding-left:48px}
.tc-acf-hero .tc-service-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}
.tc-acf-hero .tc-service-strip li{padding:20px 24px;font-size:14px;line-height:1.4}
.tc-acf-hero .tc-service-strip li+li{border-left:1px solid #cfd1cf}
.tc-acf-hero .tc-service-strip li:first-child{padding-left:0}
.tc-section-table{overflow-x:auto}.tc-section-table table{width:100%;border-collapse:collapse}
.tc-section-table th,.tc-section-table td{padding:12px;text-align:left;border-bottom:1px solid var(--tc-rule,#d6d8d9)}
.tc-section-table caption{text-align:left;margin-bottom:16px}
@media(max-width:781px){.tc-acf-hero .tc-hero-grid{grid-template-columns:1fr}.tc-acf-hero .tc-hero-copy{padding-bottom:0}.tc-acf-hero .tc-hero-object{margin-left:0;margin-top:20px}.tc-acf-hero .tc-hero-object figcaption{padding-left:0}.tc-acf-hero .tc-service-strip{grid-template-columns:1fr 1fr}.tc-acf-hero .tc-service-strip li{padding:16px!important;border-left:0!important}.tc-acf-hero .tc-service-strip li:nth-child(even){border-left:1px solid #cfd1cf!important}}
.tc-models td,.tc-models th{vertical-align:top}.tc-models .tc-button{font-size:13px;padding:9px 12px;white-space:nowrap}
.tc-assembly figure{margin:0;border:1px solid var(--tc-rule);background:#f6f7f5;padding:24px}
.tc-assembly-view{position:relative;width:100%;aspect-ratio:1300/610}
.tc-assembly-image{position:absolute;left:3.077%;top:13.115%;width:78.923%;height:auto;mix-blend-mode:multiply}
.tc-assembly-view svg{position:absolute;inset:0;width:100%;height:100%;stroke:#737c80;stroke-width:1;vector-effect:non-scaling-stroke;fill:none;pointer-events:none}
.tc-assembly-view svg line{vector-effect:non-scaling-stroke}
.tc-assembly-label{position:absolute;transform:translate(-50%,-50%);font-size:14px;line-height:1.25;background:#f6f7f5;padding:5px;max-width:24%;text-align:center}
.tc-assembly-link{color:var(--tc-ink);text-decoration:underline;text-underline-offset:3px}
.tc-assembly-narrow{display:none;aspect-ratio:930/1080}
.tc-assembly-narrow .tc-assembly-image{left:15.054%;top:2.778%;width:49.677%}
.tc-assembly figcaption{border-top:1px solid var(--tc-rule);padding-top:16px;font-size:13px}.tc-assembly figcaption p{margin-bottom:0}
@media(max-width:600px){.tc-assembly figure{padding:8px}.tc-assembly-wide:not(.tc-assembly-only){display:none}.tc-assembly-narrow{display:block}.tc-assembly-label{font-size:11px;max-width:30%}}
/* Current homepage sections share their editor and public layout. */
.tc-section .wp-block-columns{display:flex;gap:64px;align-items:center}.tc-section .wp-block-column{flex:1;min-width:0}
.tc-result-card h3{font-size:22px;font-weight:500;margin:20px 0 10px}.tc-result-card h3 a{text-decoration:none}.tc-result-card h3 a:hover{text-decoration:underline}
.tc-link-grid>.tc-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:36px 64px}.tc-link-grid h2{max-width:12em}.tc-link-grid .tc-section-intro{max-width:40em;color:var(--tc-graphite)}
.tc-link-grid .tc-card-grid,.tc-expanded-directory{grid-column:1/-1}.tc-link-grid .tc-result-card figure{aspect-ratio:1.6;background:var(--tc-stage);display:flex;align-items:center;overflow:hidden}.tc-link-grid .tc-result-card figure img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.tc-link-grid .tc-result-card p{font-size:16px;color:var(--tc-graphite)}
.tc-expanded-directory{border-top:1px solid var(--tc-rule);padding-top:22px}.tc-expanded-directory summary{cursor:pointer;font-weight:500}.tc-resource-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.tc-resource-groups ul{list-style:none;padding:0;margin:0}.tc-resource-groups li{padding:10px 0;border-bottom:1px solid var(--tc-rule);font-size:15px}.tc-resource-groups h3{margin-bottom:16px}.tc-expanded-directory .tc-resource-groups{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:28px}
.tc-search-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.tc-search-section h2{max-width:12em}.tc-search-section .tc-search-form{margin-left:0;max-width:none}.tc-search-section .tc-search-form button{width:auto;padding-inline:16px;background:var(--tc-ink);color:#fff;border-color:var(--tc-ink);white-space:nowrap}.tc-search-section .tc-search-form input[type=search]{width:100%;min-width:0}
.tc-capability-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:26px 0}.tc-capability-item{border-top:1px solid var(--tc-rule);padding-top:14px}.tc-capability-item p{margin-bottom:5px;font-size:15px}.tc-capability-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px}.tc-capability-tags .tc-capability-item{border:0;padding:0}.tc-capability-tags p{font-size:18px}.tc-capabilities:has(.tc-capability-tags){text-align:center}.tc-capabilities:has(.tc-capability-tags)>.tc-wrap{max-width:1000px}.tc-accreditation-badge{margin-top:24px}.tc-accreditation-badge img{width:90px;height:auto}.tc-capabilities figcaption{margin-top:12px}
.tc-enquiry-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:80px;margin-top:44px}.tc-enquiry-columns:not(:has(aside)){grid-template-columns:1fr}.tc-enquiry-columns .tc-card-grid{display:block}.tc-enquiry-columns .tc-branch{margin-bottom:30px}.tc-enquiry-columns .tc-branch h2{font-size:19px;font-weight:500;margin-bottom:12px}.tc-enquiry-columns .tc-branch h2::before{display:none}.tc-enquiry-columns .tc-branch p{font-size:15px;margin-bottom:8px}.tc-enquiry-form fieldset[disabled]{border:0;padding:0;margin:0;min-width:0}
.tc-acf-hero .tc-readout{width:324px}.tc-acf-hero .tc-readout h2{font-size:20px}.tc-acf-hero .tc-feature-measurement{display:flex;align-items:flex-start;gap:5px;margin-block:20px 8px;line-height:1}.tc-feature-measurement>span{font-size:76px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tc-feature-measurement small{font-size:24px;color:var(--tc-red)}.tc-scope-metrics{margin:20px 0 14px}.tc-scope-metrics>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid var(--tc-rule);padding-top:10px}.tc-scope-metrics dt{font-size:13px;color:var(--tc-graphite)}.tc-scope-metrics dd{margin:0;font-size:20px;white-space:nowrap}
.tc-acf-hero .tc-hero-visual{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr}.tc-acf-hero .tc-readout{grid-column:2;grid-row:1;z-index:2}.tc-acf-hero .tc-hero-object{grid-column:1/-1;grid-row:2;align-self:end;margin-top:-100px;margin-left:-64px}.tc-acf-hero .tc-hero-object img{width:92%}.tc-acf-hero .tc-hero-object figcaption{padding-left:64px}
@media(max-width:1100px){.tc-search-grid,.tc-enquiry-columns{gap:40px}.tc-acf-hero .tc-hero-object{margin-top:16px}.tc-link-grid>.tc-wrap{gap:28px}.tc-section .wp-block-columns{gap:36px}}
@media(max-width:781px){.tc-section .wp-block-columns{display:flex;flex-direction:column;align-items:stretch;gap:28px}.tc-link-grid>.tc-wrap,.tc-search-grid,.tc-enquiry-columns{grid-template-columns:1fr}.tc-link-grid .tc-card-grid,.tc-expanded-directory{grid-column:auto}.tc-resource-groups,.tc-expanded-directory .tc-resource-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-acf-hero .tc-hero-visual{display:flex}.tc-acf-hero .tc-hero-object{margin-top:25px;margin-left:0}.tc-acf-hero .tc-hero-object img{width:100%}.tc-acf-hero .tc-hero-object figcaption{padding-left:0}.tc-acf-hero .tc-readout{width:min(100%,324px)}.tc-enquiry-columns{gap:40px}}
@media(max-width:420px){.tc-resource-groups,.tc-expanded-directory .tc-resource-groups{grid-template-columns:1fr}.tc-search-section .tc-search-form{flex-wrap:wrap}.tc-search-section .tc-search-form input[type=search]{flex-basis:100%}.tc-search-section .tc-search-form button{width:100%;min-height:44px}.tc-capability-items:not(.tc-capability-tags){grid-template-columns:1fr}}
.tc-scope-scale{display:block;width:100%;height:auto;margin-block:14px;overflow:visible}.tc-scope-scale text{font:14px var(--tc-sans);fill:var(--tc-graphite)}
.tc-media-below .wp-block-columns{flex-direction:column;align-items:stretch}.tc-media-below .tc-capability-items{grid-template-columns:repeat(4,minmax(0,1fr))}.tc-media-below figure{max-width:1100px;margin-inline:auto;text-align:center}.tc-media-below .wp-block-column>div:not(.tc-capability-items):not(.tc-actions){max-width:900px}
@media(max-width:781px){.tc-media-below .tc-capability-items{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tc-assembly-introduction{background:var(--tc-stage);padding-block:28px 58px}
.tc-assembly-head-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:60px;align-items:center}
.tc-assembly-head-grid h1{font-size:clamp(34px,3.2vw,48px);line-height:1.1}
.tc-assembly-head-grid .tc-lead{font-size:18px;line-height:1.55}
.tc-assembly-head-grid figure{padding:12px;background:transparent;border-color:#8d9491}
.tc-assembly-head-grid .tc-assembly-label{font-size:12px;background:var(--tc-stage);padding:3px}
.tc-assembly-head-grid figcaption{font-size:11px;padding-top:10px;line-height:1.4}
.tc-assembly-head-grid figcaption p{font-size:11px}
.tc-assembly-view svg line[marker-start]{stroke:var(--tc-red)}
.tc-button-outline{background:transparent;color:var(--tc-ink);border-color:#8d9491}
.tc-button-outline:hover{background:#fff;color:var(--tc-ink)}
@media(max-width:1000px){.tc-assembly-head-grid{grid-template-columns:1fr;gap:32px}.tc-assembly-head-grid figure{max-width:800px}.tc-assembly-head-grid .tc-assembly-label{font-size:13px}}
@media(max-width:600px){.tc-assembly-head-grid .tc-assembly-label{font-size:11px}.tc-assembly-head-grid figure{padding:8px}.tc-assembly-introduction{padding-bottom:36px}}

@media(max-width:600px){.tc-document-row{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px 14px}.tc-document-icon{width:26px;height:34px;line-height:30px;font-size:22px}.tc-document-open{grid-column:2;justify-self:start}.tc-document-description h3{font-size:18px;line-height:1.35}}
.tc-site-footer{background:#111;color:#fff;padding:64px 0 28px}
.tc-site-footer h2::before,.tc-site-footer h3::before{content:none}
.tc-footer-brand{text-align:center;margin-bottom:54px}.tc-footer-logo{width:300px;max-width:100%;height:auto}.tc-footer-brand>a{display:inline-block}.tc-footer-brand p{font-size:15px;color:#d2d2d2;margin-top:20px}
.tc-footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.tc-footer-columns h3{font-size:15px;font-weight:600;margin:0 0 18px}.tc-footer-column-menu{list-style:none;margin:0;padding:0;font-size:14px}.tc-footer-column-menu li{margin:0 0 8px}.tc-footer-column-menu a{text-decoration:none}.tc-footer-column-menu a:hover{text-decoration:underline}
.tc-footer-contact .tc-utility-links{display:block;font-size:14px}.tc-footer-contact .tc-utility-links p{margin:0 0 8px}.tc-footer-contact .tc-utility-links p:last-child{margin:18px 0 0}
.tc-footer-base{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 22px;border-top:1px solid #444;margin-top:44px;padding-top:24px;font-size:12px;color:#d2d2d2}.tc-footer-base p{margin:0}.tc-footer-base .tc-footer-menu{margin:0;padding:0;border:0;font-size:12px}.tc-site-footer :focus-visible{outline-color:#fff}
.tc-record-topics{display:flex;flex-wrap:wrap;gap:12px 24px;padding:0;list-style:none}.tc-record-metadata{padding-block:32px}.tc-record-date{margin:0 0 18px}.tc-record-metadata figure img{max-height:600px;width:auto}
.tc-form-response [hidden]{display:none!important}.tc-response-failure{border-left:4px solid var(--tc-red)}
@media(max-width:850px){.tc-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-footer-brand{text-align:left}}
@media(max-width:480px){.tc-footer-columns{grid-template-columns:1fr 1fr;gap:32px 20px}.tc-footer-contact{grid-column:1/-1}.tc-footer-base{justify-content:flex-start}.tc-footer-logo{width:270px}}
.tc-site-footer{--tc-graphite:#d2d2d2}
/* Service and institutional sections share their frontend/editor layout. */
.tc-page-content:has(>.tc-page-head){padding-top:0}.tc-page-content>.tc-page-head{width:100%;max-width:none;margin:0}.tc-intro-grid{display:grid;gap:48px}.tc-intro-split{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center}.tc-intro-grid>*{min-width:0}.tc-intro-grid figure{margin:0}.tc-intro-grid figure img{width:100%;height:auto}.tc-intro-grid figcaption{font-size:13px;margin-top:10px}.tc-intro-facts{margin:0;border-top:2px solid #111}.tc-intro-facts>div{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;border-bottom:1px solid var(--tc-rule);padding:14px 0;font-size:15px}.tc-intro-facts dt{color:var(--tc-graphite)}.tc-intro-facts dd{margin:0}.tc-intro-badge{display:flex;align-items:center;gap:22px;margin-top:30px}.tc-intro-badge img{width:72px;height:auto}.tc-intro-badge p{font-size:13px}.tc-capability-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-top:32px}.tc-capability-groups h3{font-size:22px}.tc-capability-groups ul{padding-left:20px}.tc-capability-groups li{margin-bottom:8px}.tc-capability-groups table{min-width:440px}.tc-capability-groups .tc-table-scroll{overflow-x:auto;max-width:100%}.tc-capabilities .wp-block-column{min-width:0}.tc-capabilities:has(.tc-capability-groups) .wp-block-columns:not(:has(figure)):not(:has(.tc-accreditation-badge)){display:block}.tc-branches .tc-card-grid{gap:32px}.tc-branch{border-top:2px solid #111;padding-top:22px}.tc-branch p{font-size:15px;overflow-wrap:anywhere}.tc-notice{border-left:3px solid var(--tc-red);padding-left:20px;margin-top:24px}.tc-notice p{font-size:16px}
@media(max-width:781px){.tc-intro-split{grid-template-columns:1fr}.tc-intro-grid{gap:30px}.tc-capability-groups{gap:28px}.tc-intro-grid h1{font-size:clamp(32px,6vw,46px)}}
@media(max-width:560px){.tc-capability-groups{grid-template-columns:1fr}.tc-intro-facts>div{grid-template-columns:1fr 1.5fr;gap:12px}.tc-branches .tc-card-grid{grid-template-columns:1fr}}
.tc-page-content>.tc-page-head.tc-page-head{width:100%;max-width:none}.tc-capability-groups>article{min-width:0}.tc-capability-groups table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.tc-capability-groups caption{text-align:left;font-weight:600;font-size:18px;padding:20px 0 12px}.tc-capability-groups th,.tc-capability-groups td{border-bottom:1px solid var(--tc-rule);padding:12px 10px;vertical-align:top}.tc-capability-groups th{font-weight:500}.tc-capability-groups article:has(dl){border:1px solid var(--tc-rule);padding:24px;background:var(--tc-stage);align-self:start}.tc-capability-groups article:has(dl) dd{margin:8px 0 0;font-size:28px}.tc-capability-groups article:has(dl) dl{margin-top:28px}.tc-capability-groups article:has(dl)>div>p:nth-last-of-type(2){font-size:clamp(44px,6vw,76px);letter-spacing:-.04em;line-height:1;margin-block:26px 10px}
@media(max-width:560px){.tc-capability-groups{grid-template-columns:minmax(0,1fr)}}
