/* Local integration and accessible controls. Original theme stays in assets. */
@font-face{font-family:AccessUI;src:url('/assets/tally.so/bf6e2a2a88-e4af272ccee01ff0-s.p.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.animated:not(.o-anim-ready){visibility:visible;animation-play-state:running}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#filters a:focus-visible{outline-offset:-5px}
.preview-form-note{font-size:13px!important;line-height:1.6!important;color:#aaa!important;margin-bottom:24px}
.preview-form-result{min-height:26px;margin-top:18px}
.preview-form-result:empty{display:none}
.access-inline-trigger{font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:8px 0;margin-top:24px;cursor:pointer}
.footer-access{color:inherit;font:inherit;background:none;border:0;padding:0;margin-left:16px;cursor:pointer}
#access-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:600px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 64px);padding:0;border:0;border-radius:10px;background:#fff;color:#242424;overflow:auto;z-index:100000;font-family:AccessUI,Arial,sans-serif;text-align:left;box-shadow:0 22px 90px #0005;overscroll-behavior:contain;user-select:text}
#access-dialog:not([open]){display:none}
#access-dialog::backdrop{background:rgb(0 0 0 / .58)}
#access-dialog *{box-sizing:border-box}
#access-dialog button,#access-dialog input,#access-dialog textarea,#access-dialog select{font-family:inherit}
#access-dialog .access-close{position:absolute;right:7px;top:7px;z-index:3;border:0;background:#fffffff0;color:#444;border-radius:50%;width:25px;height:25px;font-size:24px;line-height:23px;padding:0;cursor:pointer}
#access-dialog .access-wave{position:absolute;top:4px;left:8px;z-index:2;font-size:32px;line-height:42px}
#access-dialog .access-progress{position:absolute;top:15px;left:100px;right:100px;display:flex;gap:8px;z-index:2}
#access-dialog .access-progress i{height:4px;flex:1;border-radius:2px;background:#ffffff70}
#access-dialog .access-progress i.current{background:#fff}
#access-dialog .access-cover{display:block;width:100%;height:200px;object-fit:cover;object-position:center}
#access-dialog .access-logo{position:relative;display:block;width:100px;height:100px;object-fit:contain;border-radius:50%;background:#fff;margin:-50px 0 0 30px;z-index:1}
#access-dialog .access-content{padding:53px 44px 30px}
#access-dialog h2{font-family:inherit;font-size:32px;line-height:1.2;letter-spacing:-.45px;font-weight:750;text-transform:none;color:#242424;margin:0 0 36px;padding:0}
#access-dialog p{font-family:inherit;font-size:16px;line-height:24px;color:#37352f;margin:0 0 24px}
#access-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
#access-dialog [hidden]{display:none!important}
#access-dialog legend{display:block;font-size:18px;line-height:26px;font-weight:600;margin:0 0 14px;padding:0;color:#37352f}
#access-dialog label.access-sub{font-size:14px;line-height:20px;font-weight:500;color:#555;margin:0 0 6px}
#access-dialog label.access-sub~label.access-sub{margin-top:16px}
#access-dialog .access-result small{display:block;margin-top:8px;font-size:12px;line-height:18px;color:#777}
#access-dialog label{display:block;font-size:18px;line-height:26px;font-weight:600;margin:0 0 8px;color:#37352f}
#access-dialog label span{font-size:15px;color:#777;background:#eee;border-radius:50%;padding:0 4px}
#access-dialog input,#access-dialog select,#access-dialog textarea{display:block;width:100%;color:#242424;background:#fff;border:1px solid #cfcfcf;border-radius:7px;min-height:40px;height:auto;padding:9px 12px;font-size:16px;line-height:22px;box-shadow:0 1px 2px #0001;margin:0 0 20px;outline-offset:0}
#access-dialog input:focus,#access-dialog select:focus,#access-dialog textarea:focus{border-color:#86b7fe;outline:3px solid #b5d6ff}
#access-dialog .access-actions{display:flex;gap:12px;margin-top:36px}
#access-dialog .access-actions button{padding:9px 14px;min-height:36px;border:0;border-radius:7px;cursor:pointer;font-size:15px;font-weight:600;line-height:20px;text-transform:none;letter-spacing:0}
#access-dialog .access-next{background:#000;color:#fff}
#access-dialog .access-back{background:#eee;color:#222}
#access-dialog .access-result{margin:24px 0 0}
#access-dialog .access-result:empty{display:none}
#access-dialog .access-footer{border-top:1px solid #ddd;text-align:center;padding:12px 20px;font-size:13px;line-height:18px;color:#666}
@media(max-width:600px){#access-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}#access-dialog .access-cover{height:160px}#access-dialog .access-content{padding:25px 25px 24px}#access-dialog h2{font-size:27px;margin-bottom:24px}#access-dialog .access-logo{width:82px;height:82px;margin:-41px 0 0 20px}#access-dialog .access-actions{margin-top:26px}.footer-access{display:block;margin:5px auto 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#access-dialog *{animation:none!important;transition:none!important}}
/* Contact page: details list + form panel */
.uc-contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,7vw,112px);align-items:start;max-width:1180px;margin:0 auto;padding-top:clamp(64px,8vw,120px);text-align:left}
.uc-contact .uc-contact-title{font-family:basis_grotesque_promedium,sans-serif;font-weight:500;font-size:clamp(34px,3.3vw,48px);line-height:1.04;text-transform:uppercase;color:#fff;margin:0 0 22px;padding:0}
.uc-contact .uc-contact-lede{font-family:basis_grotesque_proregular,sans-serif;font-size:17px;line-height:1.65;color:#a3a3a3;margin:0 0 44px;max-width:430px}
.uc-contact .uc-contact-list{margin:0;padding:0;border-top:1px solid rgb(255 255 255/.1)}
.uc-contact .uc-contact-list>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center;padding:21px 0;border-bottom:1px solid rgb(255 255 255/.1)}
.uc-contact .uc-contact-list dt{font-family:basis_grotesque_proregular,sans-serif;font-size:13px;line-height:1.4;color:#7a7a7a;margin:0;padding:0}
.uc-contact .uc-contact-list dd{font-family:basis_grotesque_promedium,sans-serif;font-size:17px;line-height:1.4;color:#fff;margin:0;padding:0;overflow-wrap:break-word}
.uc-contact .uc-contact-list dd>a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .35s ease}
.uc-contact .uc-contact-list dd>a:hover,.uc-contact .uc-contact-list dd>a:focus-visible{background-size:100% 1px;outline:0}
.uc-contact .uc-social{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}
.uc-contact .uc-social li{margin:0;padding:0;list-style:none}
.uc-contact .uc-social a{display:block;color:#8f8f8f;border-radius:6px;transition:color .2s ease,box-shadow .2s ease}
.uc-contact .uc-social a:hover{color:#fff}
.uc-contact .uc-social a:focus-visible{color:#fff;outline:0;box-shadow:0 0 0 4px rgb(255 255 255/.12)}
.uc-contact .uc-social svg{display:block;width:20px;height:20px;fill:currentColor}
.uc-contact .uc-form{background:#1f1f1f;border-radius:20px;padding:clamp(28px,3.6vw,48px);margin:0}
.uc-contact .uc-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.uc-contact .uc-field{display:block;margin:0 0 22px;padding:0;text-align:left}
.uc-contact .uc-field>span{display:block;font-family:basis_grotesque_proregular,sans-serif;font-size:13px;line-height:1;color:#9a9a9a;margin:0 0 10px;text-transform:none}
.uc-contact .uc-field>span em{font-style:normal;color:#666}
.uc-closing-text{max-width:640px;margin-left:auto!important;margin-right:auto!important}
.uc-insights-intro{max-width:720px;margin:0 auto;padding:clamp(48px,6vw,88px) 20px 0;text-align:center}
.uc-insights-intro p{font-family:basis_grotesque_proregular,sans-serif;font-size:18px;line-height:1.65;color:#a3a3a3;margin:0}
.uc-contact .uc-field input,.uc-contact .uc-field select,.uc-contact .uc-field textarea{display:block;width:100%;box-sizing:border-box;height:auto;min-height:0;margin:0;font-family:basis_grotesque_proregular,sans-serif;font-size:16px;line-height:1.45;font-weight:400;text-transform:none;letter-spacing:0;color:#fff;background-color:#272727;border:1px solid rgb(255 255 255/.07);border-radius:12px;padding:15px 16px;outline:0;box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.uc-contact .uc-field textarea{min-height:136px;resize:vertical}
.uc-contact .uc-field select{padding-right:46px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px}
.uc-contact .uc-field select:invalid,.uc-contact .uc-field select:has(option[value=""]:checked){color:#6f6f6f}
.uc-contact .uc-field option{color:#171717;background:#fff}
.uc-contact .uc-field ::placeholder{color:#6a6a6a;opacity:1}
.uc-contact .uc-field input:hover,.uc-contact .uc-field select:hover,.uc-contact .uc-field textarea:hover{border-color:rgb(255 255 255/.14)}
.uc-contact .uc-field input:focus,.uc-contact .uc-field select:focus,.uc-contact .uc-field textarea:focus{background-color:#2b2b2b;border-color:rgb(255 255 255/.3);box-shadow:0 0 0 4px rgb(255 255 255/.06);outline:0}
.uc-contact .uc-field input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #272727 inset;caret-color:#fff}
.uc-contact .uc-form-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:6px}
.uc-contact .uc-submit{font-family:basis_grotesque_promedium,sans-serif;font-size:14px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:#171717;background:#fff;border:0;border-radius:999px;padding:18px 32px;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.uc-contact .uc-submit:hover{background:#e8e8e8}
.uc-contact .uc-submit:active{transform:scale(.98)}
.uc-contact .uc-submit:focus-visible{outline:0;box-shadow:0 0 0 4px rgb(255 255 255/.18)}
.uc-contact .uc-form-note{font-family:basis_grotesque_proregular,sans-serif;font-size:13px;line-height:1.5;color:#727272;margin:0;flex:1 1 200px}
.uc-contact .preview-form-result{font-family:basis_grotesque_proregular,sans-serif;font-size:14px;line-height:1.5;color:#d6d6d6;margin:20px 0 0}
.uc-contact .uc-access{font-family:basis_grotesque_proregular,sans-serif;font-size:14px;line-height:1.5;color:#8a8a8a;margin:28px 0 0;padding:24px 0 0;border-top:1px solid rgb(255 255 255/.07)}
.uc-contact .uc-access button{font:inherit;color:#fff;background:none;border:0;border-bottom:1px solid rgb(255 255 255/.35);border-radius:0;padding:0 0 1px;cursor:pointer;transition:border-color .2s ease}
.uc-contact .uc-access button:hover{border-color:#fff}
.uc-contact .uc-access button:focus-visible{outline:0;border-color:#fff}
@media(max-width:960px){.uc-contact{grid-template-columns:1fr;gap:56px}.uc-contact .uc-contact-lede{max-width:none}}
@media(max-width:560px){.uc-contact .uc-row{grid-template-columns:1fr;gap:0}.uc-contact .uc-form{border-radius:16px;padding:24px 20px}.uc-contact .uc-contact-list>div{grid-template-columns:84px minmax(0,1fr);padding:18px 0}.uc-contact .uc-contact-list dd{font-size:16px}.uc-contact .uc-submit{width:100%}.uc-contact .uc-contact-title{font-size:34px}}
/* About page */
.uc-approach .wp-block-buttons{display:flex;justify-content:center;margin-left:0;margin-right:0}
.uc-about{max-width:1180px;margin:0 auto;text-align:left}
.uc-about .uc-about-lead{font-family:basis_grotesque_proregular,sans-serif;font-size:clamp(21px,2.1vw,30px);line-height:1.45;color:#fff;text-align:center;max-width:920px;margin:40px auto clamp(64px,8vw,112px);padding:0;opacity:1}
.uc-about .uc-about-lead:has(+.uc-about-body){margin-bottom:clamp(40px,5vw,64px)}
.uc-about .uc-about-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,64px);max-width:1000px;margin:0 auto clamp(64px,8vw,112px)}
.uc-about .uc-about-body p{font-family:basis_grotesque_proregular,sans-serif;font-size:17px;line-height:1.75;color:#a3a3a3;margin:0;padding:0}
@media(max-width:768px){.uc-about .uc-about-body{grid-template-columns:1fr;gap:24px}}
.uc-about .uc-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px);list-style:none;margin:0;padding:0;counter-reset:none}
.uc-about .uc-principles li{list-style:none;margin:0;padding:28px 0 0;border-top:1px solid rgb(255 255 255/.14)}
.uc-about .uc-num{display:block;font-family:basis_grotesque_proregular,sans-serif;font-size:13px;line-height:1;color:#777;margin:0 0 28px}
.uc-about .uc-principles h3{font-family:basis_grotesque_promedium,sans-serif;font-weight:500;font-size:clamp(20px,1.8vw,26px);line-height:1.15;text-transform:uppercase;color:#fff;margin:0 0 14px;padding:0}
.uc-about .uc-principles p{font-family:basis_grotesque_proregular,sans-serif;font-size:16px;line-height:1.7;color:#a3a3a3;margin:0;padding:0}
.uc-about .uc-about-close{font-family:basis_grotesque_proregular,sans-serif;font-size:18px;line-height:1.6;color:#cfcfcf;text-align:center;max-width:620px;margin:clamp(64px,8vw,104px) auto 0;padding:0}
.uc-ceo figure{margin:0}
.uc-ceo figure img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:16px}
.uc-ceo .uc-sign-off{font-family:basis_grotesque_proregular,sans-serif!important;font-size:15px!important;color:#9a9a9a!important;margin:40px 0 10px!important;padding-top:28px;border-top:1px solid rgb(255 255 255/.12)}
.uc-ceo .uc-sign-name{margin:0 0 6px!important}
.uc-ceo .uc-sign-role{font-family:basis_grotesque_proregular,sans-serif!important;font-size:14px!important;color:#8a8a8a!important;text-transform:none!important;margin:0!important}
@media(min-width:1025px){.uc-ceo .innerblocks-wrap{align-items:center}.uc-ceo .wp-block-themeisle-blocks-advanced-column:last-child{padding-left:clamp(32px,4vw,72px)!important;box-sizing:border-box}}
.uc-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1300px;margin:0 auto;text-align:left}
.uc-settings .uc-setting{display:block;color:#fff;text-decoration:none}
.uc-settings .uc-setting-media{display:block;overflow:hidden;border-radius:14px;aspect-ratio:3/4;background:#232323}
.uc-settings .uc-setting-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.uc-settings .uc-setting:hover .uc-setting-media img{transform:scale(1.045)}
.uc-settings .uc-setting:focus-visible{outline:0}
.uc-settings .uc-setting:focus-visible .uc-setting-media{box-shadow:0 0 0 4px rgb(255 255 255/.18)}
.uc-settings .uc-setting-title{display:block;font-family:basis_grotesque_promedium,sans-serif;font-size:20px;line-height:1.2;text-transform:uppercase;color:#fff;margin:22px 0 8px}
.uc-settings .uc-setting-copy{display:block;font-family:basis_grotesque_proregular,sans-serif;font-size:15px;line-height:1.6;color:#9a9a9a;text-transform:none}
@media(max-width:1024px){.uc-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.uc-about .uc-principles{grid-template-columns:1fr;gap:40px}}
@media(max-width:560px){.uc-settings{grid-template-columns:1fr;gap:36px}.uc-settings .uc-setting-media{aspect-ratio:4/3}.uc-about .uc-about-lead{text-align:left;margin-top:28px}.uc-about .uc-about-close{text-align:left}}
.uc-approach .wp-block-button__link{text-transform:uppercase}
.uc-ceo .uc-sign-off,.uc-ceo .uc-sign-name,.uc-ceo .uc-sign-role{text-align:left!important}
/* Divisions: home card labels, overview rows, division pages (markup from scripts/divisions.py) */
.showcase-gallery .img-mask{position:relative}
.showcase-gallery .uc-card-label{position:absolute;left:0;right:0;bottom:0;z-index:120;padding:72px 22px 20px;background:linear-gradient(to top,rgb(0 0 0/.62),rgb(0 0 0/0));pointer-events:none;text-align:left}
.showcase-gallery .uc-card-title{display:block;font-family:basis_grotesque_promedium,sans-serif;font-size:clamp(17px,1.35vw,22px);line-height:1.1;letter-spacing:.01em;text-transform:uppercase;color:#fff}
.showcase-gallery .uc-card-line{display:block;margin-top:7px;font-family:basis_grotesque_proregular,sans-serif;font-size:14px;line-height:1.4;color:rgb(255 255 255/.78);text-transform:none}
.uc-division-intro{font-family:basis_grotesque_proregular,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.45;color:#fff;max-width:1000px;margin:0 auto;padding:0;text-transform:none}
.uc-advice{list-style:none;margin:0;padding:0;border-top:1px solid rgb(0 0 0/.12)}
.uc-advice li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:baseline;margin:0;padding:20px 0;border-bottom:1px solid rgb(0 0 0/.12);list-style:none;font-family:basis_grotesque_proregular,sans-serif;font-size:clamp(17px,1.4vw,20px);line-height:1.45;color:#171717;text-transform:none}
.uc-advice .uc-num,.uc-division .uc-num{display:block;font-family:basis_grotesque_proregular,sans-serif;font-size:13px;line-height:1;color:#8a8a8a}
.uc-wide{max-width:1300px;margin:0 auto;padding:0}
.uc-wide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.uc-divisions{display:grid;gap:clamp(72px,9vw,140px);max-width:1240px;margin:0 auto}
.uc-division{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,88px);align-items:center;margin:0}
.uc-division-flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.uc-division-flip .uc-division-media{order:2}
.uc-division-media{display:block;overflow:hidden;border-radius:16px;aspect-ratio:4/3;background:#eee}
.uc-division-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.uc-division:hover .uc-division-media img{transform:scale(1.04)}
.uc-division .uc-num{margin:0 0 24px}
.uc-division-text p{margin-top:18px}
@media(max-width:960px){.uc-division,.uc-division-flip{grid-template-columns:1fr;gap:28px}.uc-division-flip .uc-division-media{order:0}}
@media(max-width:560px){.uc-advice li{grid-template-columns:40px minmax(0,1fr);padding:17px 0}.uc-wide img{aspect-ratio:4/3;border-radius:12px}.showcase-gallery .uc-card-label{padding:56px 16px 16px}}
.showcase-gallery .uc-card-label{transition:opacity .3s ease}
.showcase-gallery.disable .uc-card-label,.open-thumbnail .uc-card-label{opacity:0}
/* Only a white logo file exists; the theme shows .black-logo over white sections, so darken it there. */
#logo img.black-logo{filter:invert(1)}
/* Soft scrim so hero titles stay readable on bright division photos */
#hero-bg-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0/.3) 0%,rgb(0 0 0/.08) 38%,rgb(0 0 0/.42) 100%);pointer-events:none}
@media(max-width:560px){.showcase-gallery .uc-card-label{padding:44px 12px 12px}.showcase-gallery .uc-card-title{font-size:14px}.showcase-gallery .uc-card-line{font-size:12px;margin-top:4px}}
/* Home grid: four columns fit edge to edge on desktop (theme bleeds the outer two 6vw off screen) */
@media(min-width:1025px){.showcase-gallery .clapat-slider{padding:0 50vw 0 26vw}.showcase-gallery .clapat-slide,.showcase-gallery .clapat-sync-slide{width:24vw;height:32.6vw;padding:28px}.showcase-gallery .clapat-sync-slider{width:24vw}.showcase-gallery .clapat-sync-slider.sync-one{left:2vw}.showcase-gallery .clapat-sync-slider.sync-two{left:50vw}.showcase-gallery .clapat-sync-slider.sync-three{left:74vw}}

/* Enquiry forms */
.uc-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.uc-submit[disabled],#access-dialog .access-next[disabled]{opacity:.55;cursor:wait}
