/* Extensions to the approved SWING visual system. */
.nav nav a[aria-current=page]{color:#a3421d;text-decoration:underline;text-underline-offset:8px}
.page-intro{background:var(--navy);color:white;padding:60px 0 64px}.page-intro h1{font-size:clamp(38px,5vw,64px);max-width:930px}.page-intro p:not(.eyebrow){color:#c1d1da;max-width:780px;margin-top:24px;font-size:18px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px;font-size:12px;color:#bdd0da}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}.content-grid>*{min-width:0}.content-grid h2{font-size:36px;margin-bottom:22px}.content-grid h3{font-size:25px;margin-bottom:15px}.content-grid p+p{margin-top:18px}.content-grid ul,.programme-detail ul{padding-left:20px;color:#586c77}.content-grid li,.programme-detail li{margin:10px 0}.section-tight{padding-top:64px;padding-bottom:64px}.soft-section{background:var(--soft)}.role-statement{border-left:3px solid var(--orange);padding:18px 24px;background:var(--soft);margin-top:24px;color:var(--ink)}
.programme-detail{padding:45px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px}.programme-detail h2{font-size:34px;margin:15px 0 22px}.programme-detail h3{font-size:22px;margin-bottom:18px}.programme-detail .decision-box{padding:26px}.programme-detail .decision-box li{display:list-item;border:0;padding:0}.programme-detail .decision-box ul{list-style:disc;padding-left:20px}
.status-tag{display:inline-block;font-size:11px;font-weight:bold;letter-spacing:.08em;color:#365969;background:#edf3f5;padding:6px 10px;margin-bottom:18px}.technical-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:25px}.technical-table th,.technical-table td{padding:15px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.technical-table th{font-weight:600;color:#183747;background:#f1f5f6}.technical-table td{color:#516772}.table-scroll{overflow-x:auto}.technical-table caption{text-align:left;font-size:13px;color:#526976;padding:12px 0}.reference-sample{margin:0;background:#eef2f3}.reference-sample img{width:100%;height:auto;aspect-ratio:1.24;object-fit:contain}.reference-sample figcaption,.detail-gallery figcaption{padding:15px 18px;font-size:12px;line-height:1.6;color:#506774;background:#f1f5f6}.detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:32px}.detail-gallery figure{margin:0;display:flex;flex-direction:column}.detail-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.detail-gallery figcaption{flex:1}.evidence-card{background:var(--soft);padding:28px}.evidence-card img{width:100%;height:auto;max-height:390px;object-fit:contain;margin-bottom:24px}.evidence-card h3{font-size:26px;margin-bottom:16px}
.cta-strip{padding:52px 0;background:#102c3e;color:#fff}.cta-strip .container{display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-strip h2{font-size:32px}.cta-strip p{color:#c1d1da;margin-top:12px}.cta-strip .button{flex-shrink:0}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.footer .footer-links{flex-direction:row}.form-help{font-size:13px!important;line-height:1.6}.project-form .consent{display:flex;align-items:flex-start;font-weight:400;letter-spacing:0;gap:10px;line-height:1.6}.project-form .consent input{width:18px;height:18px;flex:none;margin-top:2px}.consent a{text-decoration:underline}.honeypot{display:none!important}.project-form .form-status{font-size:14px!important;line-height:1.6;overflow-wrap:anywhere}.project-form [data-state=error]{color:#ffcfbb!important}.project-form [data-state=success]{color:#b7edcf!important}.project-form button:disabled{opacity:.65;cursor:wait;transform:none}.contact-page .brief-grid{align-items:start;gap:65px;grid-template-columns:.85fr 1.15fr}.contact-page h2{font-size:35px}.contact-page .brief-grid>div>p{margin-top:20px}.contact-page .contact-direct{overflow-wrap:anywhere}.contact-page .project-form{margin:0}.response-state{max-width:760px;margin:auto;min-height:45vh}.response-state h1{font-size:42px;margin-bottom:25px}.response-state p{margin-bottom:20px}
@media(max-width:1100px){.nav nav{gap:18px}.nav nav a{font-size:13px}.nav .nav-cta{font-size:12px}.contact-page .brief-grid{gap:36px}.programme-detail{gap:35px}}
@media(max-width:900px) and (min-width:801px){.nav{gap:12px}.nav nav{gap:12px}.nav-cta{max-width:115px}.brand-lockup .brand-text{font-size:23px}.brand-lockup .brand-mark{width:34px;height:34px}}
@media(max-width:800px){.page-intro{padding:38px 0 45px}.page-intro p:not(.eyebrow){font-size:16px}.content-grid,.programme-detail,.contact-page .brief-grid{grid-template-columns:1fr;gap:28px}.content-grid h2{font-size:31px}.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-tight{padding-top:45px;padding-bottom:45px}.cta-strip .container{align-items:flex-start;flex-direction:column}.programme-detail{padding:32px 0}.footer .footer-links{width:100%;gap:14px}.nav .mobile-links a{padding:7px 0}.nav .mobile-menu nav.mobile-links{gap:7px}.technical-table th,.technical-table td{padding:12px 8px}.reference-grid{min-width:0}}
@media(max-width:380px){.nav{gap:8px}.nav-cta{max-width:109px;font-size:10px}.brand-lockup{gap:6px}.brand-lockup .brand-mark{width:29px;height:29px}.brand-lockup .brand-text{font-size:20px}.detail-gallery{grid-template-columns:1fr}.programme-list label{font-size:12px}}
@media(max-width:800px){.contact-page .project-form{order:-1}}
