.projects-section{background:linear-gradient(120deg,#f3f8fe,#edf6fc)}.project-section-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.project-all-link{color:var(--blue);background:#fff;border:1px solid #5489cf}.project-all-link:hover{background:#e8f2ff}.project-filters{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:28px;display:none}.has-project-filters .project-filters{display:flex}.project-filters button{color:#344d6b;background:#fff;border:1px solid #d4e1ee;border-radius:4px;min-height:40px;padding:8px 18px;font-size:12px;font-weight:500}.project-filters button[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.projects-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;display:flex;overflow:hidden}.project-card>a{display:block}.project-card>a>img{aspect-ratio:1.56;object-fit:cover;width:100%}.project-copy{flex-direction:column;flex:1;padding:16px 18px;display:flex}.project-category{color:var(--blue);text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:600;line-height:1.4}.project-copy h3{font-size:17px;line-height:1.35}.project-open-link{min-height:36px;color:var(--blue);align-items:center;gap:12px;margin-top:auto;padding-top:12px;font-size:13px;font-weight:600;display:flex}.project-open-link:hover{text-decoration:underline}.project-catalogue{background:#fff;padding-block:60px 54px}.project-catalogue .container{max-width:1160px}.project-catalogue .section-heading{margin-bottom:18px;padding-inline:18px}.project-catalogue h2{font-size:36px}.project-catalogue .project-filters{justify-content:flex-start;padding-inline:18px}.project-catalogue .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-catalogue .project-card>a>img{aspect-ratio:1.65}.project-catalogue .project-copy h3{min-height:46px;font-size:17px}.project-catalogue .project-category{font-size:11px}.project-catalogue .project-open-link{font-size:14px}@media (width<=1100px){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-copy h3{font-size:16px}}@media (width<=1000px){.project-catalogue .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.project-section-heading{flex-direction:column;align-items:flex-start;gap:16px}.project-all-link{font-size:12px}.project-filters{justify-content:flex-start;gap:8px}.project-filters button{min-height:44px;padding-inline:12px;font-size:11px}.projects-grid,.project-catalogue .projects-grid{grid-template-columns:1fr}.project-copy h3,.project-catalogue .project-copy h3{font-size:18px}.project-category{font-size:11px}.project-open-link,.project-catalogue .project-open-link{min-height:44px;font-size:14px}.project-catalogue .section-heading,.project-catalogue .project-filters{padding-inline:0}.project-catalogue h2{font-size:28px}}.has-project-viewer .project-overviews{display:none}.project-overviews{background:var(--light)}.project-overviews h2{margin-bottom:35px}.project-overview{border-top:1px solid var(--line);padding-block:35px;scroll-margin-top:24px}.project-overview header h3{font-size:27px}.project-overview header p:last-child{color:var(--muted);margin:10px 0 20px;font-size:14px}.overview-summary{color:var(--muted);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.9}.overview-summary dl{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin:24px 0;padding-block:20px;font-size:12px;display:grid}.overview-summary dt{color:var(--ink);margin-bottom:5px;font-weight:600}.overview-summary dd{margin:0}.overview-work h4{color:var(--ink);margin:0 0 12px;font-family:Poppins,Arial,sans-serif;font-size:16px}.overview-work ul{margin:0 0 26px;padding-left:19px;font-size:13px}.overview-work li+li{margin-top:10px}.overview-summary .project-enquiry-link{gap:14px;width:100%;margin-top:10px;font-family:Montserrat,Arial,sans-serif;font-size:12px}.overview-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:30px;display:grid}.overview-photos figure{margin:0}.overview-photos img{max-width:100%;height:auto}.overview-photos figcaption{color:var(--muted);margin-top:12px;font-size:12px}.project-dialog{width:min(1180px,100% - 48px);max-width:none;max-height:calc(100dvh - 64px);color:var(--ink);overscroll-behavior:contain;background:#fff;border:0;border-radius:10px;padding:0;overflow:hidden;box-shadow:0 24px 90px #00122960}.project-dialog::backdrop{backdrop-filter:blur(3px);background:#02132dcc}.viewer-shell{max-height:inherit;flex-direction:column;padding:30px;display:flex}.viewer-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:25px;display:flex}.viewer-header>div{min-width:0}.viewer-header .eyebrow{letter-spacing:3px;margin-bottom:8px;font-size:10px}.viewer-header h2{letter-spacing:-.6px;overflow-wrap:break-word;font-size:30px}.viewer-header p:last-child{color:var(--muted);margin-top:10px;font-family:Montserrat,Arial,sans-serif;font-size:14px}.viewer-close{border:1px solid var(--line);width:44px;height:44px;color:var(--navy);background:#fff;border-radius:50%;flex-shrink:0;padding:0;font-size:28px;line-height:1}.viewer-close:hover{background:#e9f3fc}.viewer-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9c9dc transparent;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start;gap:32px;min-height:0;margin-top:26px;display:grid;overflow-y:auto}.viewer-gallery{min-width:0}.viewer-photo{margin:0}.viewer-image-frame{background:#edf2f6;border-radius:6px;justify-content:center;align-items:center;height:min(47vh,460px);min-height:260px;padding:12px 46px;display:flex;position:relative}.viewer-image-frame>img{object-fit:contain;width:100%;height:100%;max-height:100%}.viewer-image-frame>button{color:#fff;background:#05285b;border:0;border-radius:5px;width:44px;height:44px;font-size:26px;line-height:1;position:absolute;top:calc(50% - 22px)}.viewer-image-frame>button:hover{background:#195bbc}.photo-prev{left:7px}.photo-next{right:7px}.viewer-photo figcaption{color:var(--muted);min-height:40px;margin-top:15px;font-family:Montserrat,Arial,sans-serif;font-size:12px;line-height:1.7}.viewer-photo-status{color:var(--blue);margin:10px 0 14px;font-size:11px;font-weight:600}.viewer-thumbnails{flex-wrap:wrap;gap:10px;display:flex}.viewer-thumbnails button{background:#fff;border:2px solid #0000;border-radius:5px;width:80px;height:64px;padding:3px}.viewer-thumbnails button[aria-pressed=true]{border-color:var(--blue)}.viewer-thumbnails button:hover{border-color:#8db8ef}.viewer-thumbnails img{object-fit:cover;border-radius:2px;width:100%;height:100%}.viewer-summary{padding-top:2px}.viewer-summary .overview-summary>p:first-child{font-size:15px;line-height:1.9}.viewer-summary .overview-summary dl{grid-template-columns:1fr;gap:14px;margin:20px 0}@media (width<=1000px){.project-dialog{width:calc(100% - 40px);max-height:calc(100dvh - 40px)}.viewer-body{grid-template-columns:minmax(0,1.35fr) minmax(230px,1fr);gap:24px}.viewer-shell{padding:24px}.viewer-image-frame{min-height:250px;padding-inline:40px}.viewer-header h2{font-size:27px}}@media (width<=700px){.project-dialog{border-radius:8px;width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.viewer-shell{padding:16px}.viewer-header{gap:12px;padding-bottom:16px}.viewer-header h2{font-size:clamp(18px,5vw,22px);line-height:1.35}.viewer-header .eyebrow{letter-spacing:2px;font-size:9px}.viewer-header p:last-child{font-size:12px}.viewer-close{width:44px;height:44px}.viewer-body{grid-template-columns:1fr;gap:24px;margin-top:20px}.viewer-image-frame{height:clamp(180px,36dvh,285px);min-height:0;padding:8px}.viewer-image-frame>button{width:44px;height:44px}.photo-prev{left:6px}.photo-next{right:6px}.viewer-photo figcaption{min-height:0}.viewer-thumbnails{gap:7px}.viewer-thumbnails button{width:65px;height:55px}.viewer-summary .overview-summary>p:first-child{font-size:14px}.overview-photos,.overview-summary dl{grid-template-columns:1fr}.viewer-summary .overview-summary .project-enquiry-link{padding-inline:15px;font-size:11px}}@media (height<=500px){.project-dialog{max-height:calc(100dvh - 16px)}.viewer-shell{padding:16px}.viewer-header{padding-bottom:12px}.viewer-header h2{font-size:20px;line-height:1.3}.viewer-header .eyebrow{margin-bottom:4px}.viewer-header p:last-child{margin-top:6px;font-size:12px}.viewer-body{margin-top:14px}.viewer-image-frame{height:clamp(140px,42dvh,200px);min-height:0}}@media (prefers-reduced-motion:reduce){.project-dialog::backdrop{backdrop-filter:none}}
