/* Production extensions to the original reference stylesheet. */
[hidden]{display:none!important}html{scroll-behavior:smooth}dialog:not([open]){display:none}dialog{border:0;padding:0;color:inherit}dialog::backdrop{background:#0b1c30aa}dialog.menu-overlay{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px 4.5% 30px}dialog.project-dialog{padding:0;max-height:90svh;margin:auto;border:0}body.dialog-open{overflow:hidden}.footer-bottom>div a{padding:10px 0;display:inline-block}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.is-interior main{padding-top:86px}.is-interior .header{position:fixed}.header.solid{z-index:30}.admin-bar .header{top:32px}.admin-bar dialog.menu-overlay{padding-top:50px}.project-card{display:block;color:inherit}.project-card:focus-visible{outline:3px solid #407cad;outline-offset:6px}.expertise-details h3 a{display:flex;justify-content:space-between;align-items:start;gap:20px}.expertise-details h3 a:hover{color:var(--blue)}.page-intro{padding-top:58px;padding-bottom:66px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:15px;line-height:1.5;color:var(--muted);margin-bottom:58px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-intro h1{font-size:clamp(42px,6.5vw,84px);line-height:1.04;letter-spacing:-1.4px;color:var(--navy);font-weight:700;max-width:1080px;text-wrap:balance}.page-lead{font-size:27px;line-height:1.45;max-width:780px;margin:32px 0 0;color:var(--muted)}.page-image{margin-bottom:72px}.page-image picture{height:auto;aspect-ratio:2.65;overflow:hidden;clip-path:polygon(0 5%,100% 0,100% 95%,0 100%)}.page-image img{object-position:center 40%}.page-image figcaption{font-size:13px;margin-top:10px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:1fr 2fr;gap:var(--column-gap);padding-bottom:88px}.article-layout aside{border-top:1px solid var(--line);padding-top:24px}.article-layout aside>p:not(.eyebrow){font-size:23px;color:var(--navy);line-height:1.5}.article-layout dl{margin:24px 0}.article-layout dt{font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-top:24px;color:var(--muted)}.article-layout dd{font-size:24px;margin:8px 0 0}.prose{max-width:780px;font-size:22px;line-height:1.6;color:var(--muted)}.prose h2{font-size:34px;margin:40px 0 22px;text-wrap:pretty}.prose h2:first-child{margin-top:0}.prose p{line-height:1.6}.prose ul{padding-left:24px;margin:20px 0 32px}.prose li{margin:10px 0}.prose a:not(.outline-link){text-decoration:underline;text-underline-offset:4px;color:var(--blue)}.directory{padding-bottom:100px}.service-directory>a{display:grid;grid-template-columns:70px 1fr 25px;gap:28px;border-top:1px solid var(--line);padding:32px 0;align-items:start}.service-directory>a:last-child{border-bottom:1px solid var(--line)}.service-directory h3{font-size:32px;color:var(--navy)}.service-directory p{font-size:20px;color:var(--muted);margin:12px 0 0}.directory-number{font-size:17px;color:var(--blue);padding-top:8px}.service-directory>a>svg{margin-top:10px}.service-directory a:hover h3{color:var(--blue)}.sector-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.sector-directory>a{padding:35px 0;border-top:1px solid var(--line);position:relative}.sector-directory .eyebrow{display:block}.sector-directory h2{font-size:37px;padding-right:30px}.sector-directory p{font-size:21px;color:var(--muted);margin:20px 0 0;max-width:90%}.sector-directory svg{position:absolute;right:0;top:80px}.sector-directory a:hover h2{color:var(--blue)}.team-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:55px 30px;padding-bottom:100px}.team-directory picture{aspect-ratio:4/5;background:var(--pale)}.team-directory img{object-position:center 20%;filter:grayscale(1)}.team-directory h2{font-size:27px;line-height:1.15;margin:23px 0 12px;text-wrap:pretty}.team-directory p{font-size:18px;color:var(--muted);margin-bottom:12px}.team-directory .read-more{font-size:16px}.profile-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--column-gap);padding-bottom:100px;align-items:start}.profile-layout>picture{aspect-ratio:4/5;max-width:410px}.profile-layout img{filter:grayscale(1);object-position:center 20%}.profile-layout .prose{padding-top:15px}.news-archive{padding-top:0}.news-archive .news-grid{gap:70px var(--column-gap)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--column-gap);padding-bottom:100px}.contact-layout>div>p{font-size:22px;color:var(--muted);margin:28px 0}.contact-layout .contact-note{font-size:16px}.office-list{display:grid;gap:48px}.office-list article{border-top:1px solid var(--line);padding-top:30px}.office-list h2{font-size:37px}.office-list address{font-style:normal;line-height:1.6;font-size:22px;color:var(--muted);margin:24px 0}.office-list article>a{display:block;font-size:21px;line-height:1.8}.office-list article>a:hover{text-decoration:underline}.office-list .read-more{display:flex;font-size:18px;margin-top:18px}.sector-support{padding-bottom:85px}.sector-support>p{font-size:22px;color:var(--muted);max-width:680px;margin-top:25px}.sector-support .outline-link+.outline-link{margin-left:20px}.related-links{padding-bottom:80px}.related-links .all-sectors{grid-template-columns:repeat(3,1fr)}.related-links h2{font-size:36px}.related-links .all-sectors a{font-size:19px}.project-dialog::backdrop{background:#0b1c30aa}.project-dialog>picture{height:300px}.page-intro+.projects{padding-top:30px}.is-interior .news-grid h3{font-size:30px}.team-directory a:hover h2{color:var(--blue)}.source-link{line-height:1.5}.menu-layout details[open] summary svg{transform:rotate(180deg)}.expertise-details[open] summary svg{transform:rotate(180deg)}
@media(max-width:1000px){.team-directory{grid-template-columns:repeat(3,1fr)}.article-layout{grid-template-columns:1fr 2fr;gap:35px}.contact-layout{gap:45px}.page-lead{font-size:25px}.sector-directory{gap:0 40px}}
@media(max-width:700px){dialog.menu-overlay{padding:20px 6%}.is-interior main{padding-top:80px}.page-intro{padding-top:30px;padding-bottom:44px}.breadcrumbs{font-size:13px;margin-bottom:36px;gap:9px}.page-intro h1{font-size:45px;letter-spacing:-.6px;line-height:1.07}.page-lead{font-size:23px;margin-top:26px}.page-image{margin-bottom:42px}.page-image picture{aspect-ratio:1.35}.article-layout{grid-template-columns:1fr;gap:26px;padding-bottom:60px}.article-layout aside{display:none}.prose{font-size:21px;line-height:1.55}.prose h2{font-size:30px;margin-top:34px}.service-directory>a{grid-template-columns:32px 1fr 20px;gap:15px;padding:26px 0}.service-directory h3{font-size:26px}.service-directory p{font-size:19px}.directory{padding-bottom:70px}.sector-directory{grid-template-columns:1fr}.sector-directory h2{font-size:33px}.team-directory{grid-template-columns:repeat(2,1fr);gap:40px 20px;padding-bottom:70px}.team-directory h2{font-size:23px}.team-directory p{font-size:17px}.profile-layout{grid-template-columns:1fr;gap:35px;padding-bottom:70px}.profile-layout>picture{max-width:350px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:70px}.office-list{gap:36px}.related-links .all-sectors{grid-template-columns:1fr}.related-links h2{font-size:30px}.sector-support{padding-bottom:60px}.sector-support .outline-link+.outline-link{margin:20px 0 0}.project-dialog{max-width:calc(100% - 28px)}.project-dialog>picture{height:235px}.admin-bar .header{top:46px}.admin-bar dialog.menu-overlay{padding-top:55px}.news-archive .news-grid{gap:45px}.footer-bottom>div{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact Form 7 follows the site typography and square outlined controls. */
.contact-layout .wpcf7{margin:34px 0 22px}.mcc-enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.mcc-enquiry-form>p{margin:0}.mcc-enquiry-form>p:nth-of-type(n+5),.mcc-enquiry-form>.wpcf7-response-output{grid-column:1/-1}.mcc-enquiry-form label{display:block;color:var(--navy);font-size:17px;font-weight:700;line-height:1.5}.mcc-enquiry-form .wpcf7-form-control-wrap{display:block;margin-top:9px}.mcc-enquiry-form label br{display:none}.mcc-enquiry-form input:not([type=submit]),.mcc-enquiry-form textarea{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid #8b9eac;border-radius:0;background:#fff;color:var(--navy);font:400 18px/1.5 Calibri,Carlito,"Segoe UI",Arial,sans-serif;padding:12px 13px;min-height:50px}.mcc-enquiry-form textarea{resize:vertical;min-height:160px;height:190px}.mcc-enquiry-form input:focus,.mcc-enquiry-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.contact-layout .mcc-form-privacy{font-size:16px;line-height:1.5;color:var(--muted);margin:18px 0 30px}.mcc-form-privacy a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.wpcf7 input[type=submit]{appearance:none;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:0;padding:17px 30px;font:400 18px/1.4 Calibri,Carlito,"Segoe UI",Arial,sans-serif;cursor:pointer;min-height:55px}.wpcf7 input[type=submit]:hover{background:var(--blue)}.wpcf7 input[type=submit]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.wpcf7 input[type=submit]:disabled{opacity:.65;cursor:wait}.wpcf7 .wpcf7-not-valid-tip{font-size:15px;margin-top:7px;color:#a22020}.wpcf7 form .wpcf7-response-output{margin:0;padding:16px;font-size:18px;line-height:1.5}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#a22020}.wpcf7 form.sent .wpcf7-response-output{border-color:#287044}.wpcf7 .wpcf7-spinner{vertical-align:middle}
@media(max-width:700px){.mcc-enquiry-form{grid-template-columns:1fr;gap:20px}.contact-layout .wpcf7{margin-top:28px}.wpcf7 input[type=submit]{width:100%}}

/* Expanded portfolio and sector navigation. */
.portfolio-more{margin-top:32px}
.projects .section-heading{flex-wrap:wrap;gap:24px}
.projects .filters{flex-wrap:wrap;justify-content:flex-start}
.project-typographic{aspect-ratio:1.35;background:#e8ece6;display:flex;align-items:center;justify-content:center;color:#536d4a}
.project-typographic svg{width:68px;height:68px}
.project-sector{line-height:1.5}
.related-links>.outline-link{margin-top:28px}
@media(max-width:700px){.projects .filters{gap:8px}.projects .filters button{padding:10px 12px}.projects .section-heading{display:block}.projects .filters{margin-top:24px}}
