:root { --replica-ink: #0b3948; --replica-aqua: #e5ece2; --replica-purple: #fff6df; }
html { scroll-behavior: smooth; }
header.banner a.brand{width:175px!important;overflow:visible!important}header.banner a.brand img{width:175px!important;height:53px!important;max-width:none!important;object-fit:contain}footer a.brand img{object-fit:contain}
.studio-editing .studio-hover{outline:1px dashed #8256df!important;outline-offset:-1px;cursor:pointer!important}.studio-editing .studio-selected{outline:2px solid #8256df!important;outline-offset:-2px}.replica-content-error{position:fixed;bottom:18px;right:18px;max-width:320px;background:#fff6d8;border:1px solid #e5ce86;border-radius:8px;padding:14px;font:13px system-ui;z-index:100001}
.replica-language { background: transparent; color:#0b3948; border:0; width:106px; font:500 13px Poppins,sans-serif; }
.gtranslate_wrapper select{background:transparent;color:var(--brand-ink,#0b3948);border:0;width:106px;font:500 13px Poppins,sans-serif}.replica-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:60px 0}.replica-team-grid a{color:var(--brand-ink,#0b3948);text-align:center}.replica-team-grid img{width:100%;aspect-ratio:1;object-fit:cover}.replica-team-grid h3{font-family:'Value Serif',serif;font-size:23px;padding-top:22px}.flex-direction-nav a:before{font-family:Arial,sans-serif!important;content:'‹'!important}.flex-direction-nav a.flex-next:before{content:'›'!important}@media(max-width:760px){.replica-team-grid{grid-template-columns:1fr 1fr;gap:24px}}@media(max-width:480px){.replica-team-grid{grid-template-columns:1fr}}
.replica-edit-entry { position:fixed;left:16px;bottom:16px;z-index:1000001;background:#24242b;color:white!important;border:1px solid #ffffff45;border-radius:999px;padding:11px 18px;font:500 14px system-ui,sans-serif;box-shadow:0 3px 18px #0002;text-decoration:none!important; }
.replica-edit-entry:hover { background:#474254; }
.replica-embed{min-height:220px;padding:40px;background:#f5f7f3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:24px;}
.replica-enquiry-hero{padding:64px 0!important}.replica-enquiry-hero h1{font-family:'Value Serif',serif;font-size:54px;margin-bottom:25px}.replica-enquiry{padding:64px 0!important}.replica-enquiry .inner-container{max-width:1000px}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:35px}.enquiry-grid label{font-size:16px;display:flex;flex-direction:column;gap:12px}.enquiry-grid .full{grid-column:1/-1}.enquiry-grid input,.enquiry-grid select,.enquiry-grid textarea{width:100%;border:1px solid #bbb;background:#fff;border-radius:6px;padding:13px;font:16px Poppins,sans-serif}.enquiry-grid span{font-size:13px;color:#888}.local-form-status{padding:15px 0;color:#a34242}.local-form-status.success{color:#246d53}.replica-file-picker input{display:block;padding:18px 0}.replica-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:40px 0 20px}.replica-pagination button{background:white;border:1px solid #ccc;border-radius:5px;padding:9px 16px;font-size:16px;cursor:pointer}.replica-pagination button.active{background:var(--brand-ink,#0b3948);color:white}.replica-search-results{padding:40px 0}.replica-search-results article{padding:25px 0;border-bottom:1px solid #ddd}.replica-search-results article a{font-family:'Value Serif',serif;font-size:27px;color:var(--brand-ink,#0b3948)}.replica-search-results article p{font-size:16px;margin-top:12px}.replica-map-frame{border:0;width:100%;height:100%;min-height:430px}.replica-map-choices{display:flex;gap:8px;justify-content:center;padding:10px;position:absolute;bottom:0;left:0;right:0;background:#ffffffd9}.replica-map-choices button{background:#0b3948;color:white;border:0;border-radius:6px;padding:8px 12px;font-size:13px;cursor:pointer}.acf-map-contact,.acf-map{position:relative}.keyboard-open>.sub-menu{display:block!important;opacity:1!important;visibility:visible!important}
.replica-accessibility{position:fixed;right:28px;bottom:26px;z-index:999998;width:44px;height:44px;border:3px double white;background:#103d54;color:white;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 1px #103d54}.replica-access-panel{position:fixed;right:28px;bottom:80px;z-index:999999;width:280px;background:white;border:1px solid #ddd;border-radius:12px;box-shadow:0 10px 50px #0003;padding:24px;color:#0b3948}.replica-access-panel h2{font-size:24px;margin-bottom:18px}.replica-access-panel button{display:block;background:#f3f1fa;width:100%;padding:12px;margin:8px 0;border:0;border-radius:6px;text-align:left;font-size:14px;cursor:pointer}.access-text p,.access-text li{font-size:1.2em!important}.access-contrast body{filter:contrast(1.4)}.access-links a{text-decoration:underline!important}.access-motion *{animation:none!important;transition:none!important}
@media(max-width:700px){.enquiry-grid{grid-template-columns:1fr}.replica-enquiry-hero h1{font-size:38px}.replica-map-choices{flex-wrap:wrap}.replica-accessibility{bottom:20px;right:18px}}
.replica-modal {position:fixed;inset:0;background:#0009;z-index:9999999;display:flex;align-items:flex-start;justify-content:center;padding:75px 20px 20px;opacity:0;transition:opacity 350ms;overflow:auto;}
.replica-modal.open{opacity:1}.replica-modal .modal-box{position:relative;width:640px;max-width:100%;background:white;border-radius:8px;padding:42px;box-shadow:0 10px 50px #0004;color:#0b3948;}
.replica-modal h2{font-family:'Value Serif',serif;font-size:30px}.replica-modal h3{font-size:20px;margin-bottom:16px}.replica-modal .modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.replica-modal .modal-choice{padding:22px 0;border-bottom:1px solid #ddd}.replica-modal .modal-choice:last-child{border:0}
.replica-mobile-menu{position:fixed;top:0;bottom:0;left:0;width:min(88vw,380px);overflow:auto;background:#fff;padding:28px;z-index:99999999;box-shadow:0 0 0 100vmax #0008;transform:translateX(-120%);transition:transform .35s;visibility:hidden}.replica-mobile-menu.open{visibility:visible;transform:none}.replica-mobile-menu li{list-style:none}.replica-mobile-menu ul{padding:0}.replica-mobile-menu li a{display:block;padding:10px 0;color:#0b3948}.replica-mobile-menu ul ul{padding-left:18px;font-size:15px}.replica-mobile-menu button{border:0;background:none;font-size:32px;float:right}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Reference-audit repairs: preserve the imported popup and structured hidden content. */
[hidden]{display:none!important}.replica-overlay-open{overflow:hidden}
.pum.replica-popup-open{display:block!important;opacity:1!important;position:fixed;inset:0;overflow:auto;z-index:9999999;animation:replica-popup-fade .35s ease}
.pum.replica-popup-open .pum-container{display:block!important;opacity:1!important;top:75px!important;left:50%!important;margin-left:0!important;transform:translateX(-50%);margin-bottom:35px;max-width:calc(100% - 40px)}
.pum-content img{object-fit:contain}.pum-content .ac-cta{background:var(--brand-pink);color:var(--brand-ink)}
@keyframes replica-popup-fade{from{opacity:0}to{opacity:1}}
.replica-mobile-menu{left:auto;right:0;width:min(82vw,350px);padding:0;background:var(--brand-aqua);transform:translateX(120%);color:var(--brand-ink)}
.replica-mobile-menu.open{transform:none}.replica-menu-top{position:sticky;top:0;display:flex;align-items:center;gap:12px;min-height:68px;padding:12px 20px;background:var(--brand-aqua);border-bottom:1px solid #ffffff80;z-index:1}.replica-menu-top span{flex:1}.replica-mobile-menu .replica-menu-back{font:500 16px Poppins,sans-serif;float:none}.replica-mobile-menu .replica-menu-close{font-size:30px;float:none;line-height:1}
.replica-mobile-menu .replica-menu-panel{margin:0;padding:0;list-style:none}.replica-menu-panel>li{display:flex;align-items:stretch;border-bottom:1px solid #ffffffa0;min-height:56px}.replica-mobile-menu .replica-menu-panel>li>a{flex:1;min-width:0;padding:16px 20px;font-size:16px;line-height:1.5;color:var(--brand-ink)}.replica-menu-panel>li>button{width:56px;flex-shrink:0;border-left:1px solid #ffffff70;color:var(--brand-ink)}
.acf-map[data-map],.acf-map-contact[data-map]{height:auto!important;min-height:430px;display:flex;flex-direction:column}.replica-map-frame{height:430px;min-height:280px;flex:none}.replica-map-choices{position:static;flex-wrap:wrap;justify-content:flex-start;gap:8px}.replica-map-choices button{background:var(--brand-pale);color:var(--brand-ink);border:1px solid var(--brand-pink)}.replica-map-choices button[aria-pressed=true]{background:var(--brand-pink)}.replica-map-details{padding:20px;background:#fff}.replica-map-details h2{font-size:24px;margin:0 0 12px}.replica-map-details p{font-size:15px;margin:0 0 14px}.replica-map-details a{font-size:15px;text-decoration:underline}
.replica-jobs{padding:30px 0;color:var(--brand-ink)}.replica-jobs>h2{margin:0 0 24px}.replica-job-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end}.replica-job-filters label{display:flex;flex-direction:column;gap:10px;font-size:15px}.replica-job-filters select{min-width:0;width:100%;font:inherit;padding:12px;background:white;color:var(--brand-ink);border:1px solid var(--brand-pink);border-radius:4px}.replica-job-filters button{justify-self:start;border:0;background:none;text-decoration:underline;font:inherit;font-size:14px;color:var(--brand-ink);cursor:pointer}.replica-job{padding:26px 0;border-bottom:1px solid var(--brand-aqua)}.replica-job summary{cursor:pointer;list-style:none}.replica-job summary::-webkit-details-marker{display:none}.replica-job h3{font-size:24px;margin:0 0 12px}.replica-job summary p{font-size:16px;margin:0 0 15px}.replica-job summary>span{font-size:14px;display:block}.replica-job-read{margin-top:12px;text-decoration:underline}.replica-job-detail[open] .replica-job-read{display:none}.replica-job-description{padding:28px 24px;background:var(--brand-pale);margin-top:22px;font-size:16px;line-height:1.6}.replica-job-description p,.replica-job-description li{font-size:16px;line-height:1.6}.replica-job-description h4{font-size:22px;margin:24px 0 16px}.replica-job-description ul{padding-left:24px}.replica-job-count{margin-top:20px;font-size:15px}.replica-career-role label{display:block;margin-bottom:10px}.replica-career-role input{width:100%;font:inherit;padding:12px;border:1px solid var(--brand-pink);border-radius:4px}.replica-useful-card{border:1px solid var(--brand-pink);padding:28px;background:var(--brand-pale);margin:24px 0}.replica-useful-card h3{font-size:25px;margin-bottom:16px}#register-interest,#privacy-statement-3{scroll-margin-top:170px}
@media(max-width:760px){.pum.replica-popup-open .pum-container{width:calc(100% - 40px);top:45px!important}.replica-job-filters{grid-template-columns:1fr;gap:14px}.replica-job-description{padding:22px 16px}.replica-map-frame{height:320px}.replica-map-choices{gap:6px}.replica-map-choices button{font-size:12px}.replica-map-details{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pum.replica-popup-open{animation:none}.replica-mobile-menu{transition:none}}
/* Long source URLs and fixed-width embeds must fit the reading column. */
main .primary-content a,main .content-block a{overflow-wrap:anywhere}
main iframe[src*="youtube"],main iframe[src*="vimeo"]{max-width:100%;aspect-ratio:16/9;height:auto}
@media(max-width:760px){main .service-item{flex-direction:column;max-width:100%;min-width:0}main .service-item>.content{width:100%;min-width:0;max-width:100%;padding:18px 0}main .service-item h3{white-space:normal;overflow-wrap:anywhere}main .row.row-item.cta{margin-left:0;margin-right:0;width:100%}main .row.row-item.cta .col-item,main .row.row-item.cta .inner{width:100%;max-width:100%}}
@media(max-width:760px){main .service-item{display:block!important}main .service-item>a{display:block;margin-right:0;width:100%}.multi-col-block .mc-row{display:flex!important;flex-direction:column;gap:24px;height:auto}.multi-col-block .mc-row>.col{float:none!important;width:100%!important;max-width:100%;box-sizing:border-box}.multi-col-block li{overflow-wrap:anywhere}}
