html{scroll-behavior:smooth}.centered{text-align:center}.red-heading,.project-title{color:#c92122}.justify{text-align:justify}#mainav a,#footer a,#breadcrumb a,#copyright a,.phone-links a{transition:color .18s}.phone-links a:hover,#mainav a:hover,#breadcrumb a:hover,#footer a:hover,#copyright a:hover{color:#c92122}.phone-links{flex-wrap:wrap;align-items:center;gap:0 7px;display:inline-flex}.phone-links a{color:inherit;white-space:nowrap}.phone-links__separator{color:#161c2173}.coloured .phone-links__separator{color:#ffffff9e}.row0{background:#111820;border-bottom:1px solid #ffffff14}#topbar{color:#ffffffe0;justify-content:space-between;align-items:center;gap:24px;padding:10px 0;display:flex}.topbar-contact{align-items:center;gap:12px;min-width:0;display:flex}.topbar-contact__icon{color:#fff;background:#c92122;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 8px 20px #c9212247}.topbar-contact__label{color:#ffffff8f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:.72rem;font-weight:700;line-height:1;display:block}#topbar .phone-links{color:#fff;gap:2px 9px;font-weight:600;line-height:1.4}#topbar .phone-links__separator{color:#ffffff6b}.topbar-social{flex:none;align-items:center;gap:8px;display:flex}.topbar-social li{margin:0;display:block}.topbar-social a{color:#fff;background:#ffffff0f;border:1px solid #ffffff24;place-items:center;width:38px;height:38px;display:grid}.topbar-social a:hover{color:#fff;background:#c92122;border-color:#c92122}#topbar .topbar-social i{font-size:1.08rem;line-height:1}.mobile-menu-toggle{float:right;cursor:pointer;background:#161c2147;border:1px solid #ffffff47;width:46px;height:42px;margin-top:8px;padding:0;display:none}.mobile-menu-toggle span{background:#fff;width:22px;height:2px;margin:5px auto;transition:transform .18s,opacity .18s;display:block}.mobile-menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-submenu-toggle{display:none}@media screen and (width<=978px){#topbar{align-items:flex-start;padding:12px 0}#topbar .phone-links{font-size:.9rem}.topbar-social a{width:36px;height:36px}#header{position:relative}#header #logo{max-width:calc(100% - 62px)}.mobile-menu-toggle{background:#0a101694;border-color:#ffffff6b;display:block}#mainav{float:none;clear:both;width:100%}#mainav>ul{background:#161c21f5;margin-top:22px;padding:8px 0;display:none;overflow:hidden;box-shadow:0 18px 42px #00000047}#mainav.is-open>ul{display:block}#mainav li{width:100%;margin:0;display:block;position:relative}#mainav li a{color:#fff;border-bottom:1px solid #ffffff14;padding:14px 56px 14px 18px}#mainav .drop{padding-left:18px}#mainav .drop:after{display:none}.mobile-submenu-toggle{color:#fff;cursor:pointer;background:0 0;border:0;border-left:1px solid #ffffff14;place-items:center;width:46px;height:46px;padding:0;display:grid;position:absolute;top:2px;right:4px}.mobile-submenu-toggle i{font-size:.8rem;transition:transform .18s}.has-mobile-submenu.is-open>.mobile-submenu-toggle i{transform:rotate(180deg)}#mainav ul ul,#mainav ul ul ul{visibility:visible;opacity:1;width:100%;box-shadow:none;background:#ffffff0b;display:none;position:static}#mainav .has-mobile-submenu.is-open>ul{display:block}#mainav li li a,#mainav li li .drop{color:#ffffffdb;background:0 0;border-color:#ffffff0f;padding:12px 56px 12px 34px}#mainav li li li a{padding:10px 18px 10px 50px;font-size:.9rem}#mainav li:hover>ul{visibility:visible;opacity:1}}@media screen and (width<=560px){#topbar{flex-direction:column;gap:12px}.topbar-contact{align-items:flex-start;width:100%}#topbar .phone-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}#topbar .phone-links__separator{display:none}.topbar-social{justify-content:flex-start;width:100%}}.home-hero{color:#fff;isolation:isolate;min-height:clamp(520px,72vh,760px);position:relative;overflow:hidden}.home-hero__slides,.home-hero__slide{position:absolute;inset:0}.home-hero__slide{opacity:0;pointer-events:none;transition:opacity .8s,transform 5.2s;transform:scale(1.025)}.home-hero__slide.is-active{opacity:1;pointer-events:auto;transform:scale(1)}.home-hero__slide img{object-fit:cover;width:100%;height:100%;display:block}.home-hero__shade{background:linear-gradient(90deg,#0a1016c7 0%,#0a101675 45%,#0a10161f 100%),linear-gradient(#0a10160f 58%,#0a10167a 100%);position:absolute;inset:0}.home-hero__content{z-index:2;flex-direction:column;justify-content:center;min-height:clamp(520px,72vh,760px);padding-top:58px;padding-bottom:78px;display:flex;position:relative}.home-hero__eyebrow{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#c92122e6;width:fit-content;margin:0 0 18px;padding:8px 13px;font-size:.78rem;font-weight:700}.home-hero h1{color:#fff;letter-spacing:0;text-shadow:0 18px 42px #00000047;max-width:720px;margin:0 0 22px;font-size:clamp(2.25rem,5vw,4.65rem);font-weight:800;line-height:1.05}.home-hero__content>p:not(.home-hero__eyebrow){color:#ffffffe6;max-width:610px;margin:0 0 32px;font-size:1.08rem;line-height:1.85}.home-hero__actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.home-hero__actions .btn{color:#fff;background:#c92122;border-color:#c92122;box-shadow:0 16px 34px #00000038}.home-hero__actions .btn:hover{color:#161c21;background:#fff;border-color:#fff}.home-hero__actions .btn.inverse{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border-color:#ffffffb8}.home-hero__controls{z-index:3;align-items:center;gap:16px;display:flex;position:absolute;bottom:36px;right:max(28px,50vw - 600px)}.home-hero__controls button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c121861;border:1px solid #ffffff5c;place-items:center;width:44px;height:44px;padding:0;transition:background .18s,border-color .18s,transform .18s;display:inline-grid}.home-hero__controls button:hover{background:#c92122db;border-color:#fff;transform:translateY(-2px)}.home-hero__dots{align-items:center;gap:8px;display:flex}.home-hero__dots button{background:#ffffff6b;border:0;width:34px;height:4px}.home-hero__dots button.is-active{background:#fff}.projects-section{padding:10px 0 0}.projects-heading{text-align:center;margin:0 0 44px}.projects-heading .heading{margin-bottom:0}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 30px;display:grid}.project-card{min-width:0;display:block}.project-card__inner{background:#fff;border:1px solid #e7e7e7;flex-direction:column;height:100%;min-height:100%;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 12px 30px #161c2114}.project-card__inner:hover{border-color:#c921223d;transform:translateY(-4px);box-shadow:0 18px 42px #161c2124}.project-card__image{background:#f3f3f3;width:100%;display:block;overflow:hidden}.project-card__image img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .3s;display:block}.project-card__inner:hover .project-card__image img{transform:scale(1.035)}.project-card__meta{color:#fff;background:#161c21;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:10px 16px;font-size:.82rem;line-height:1.35;display:grid}.project-card__meta li{align-items:center;min-width:0;display:flex}.project-card__meta li:last-child{text-align:right;justify-content:flex-end}.project-card__meta i{color:#c92122;flex:none;margin-right:7px}.project-card__meta span{overflow-wrap:anywhere;min-width:0}.project-card__body{flex-direction:column;flex:auto;padding:20px 18px 0;display:flex}.project-card__title{color:#c92122;letter-spacing:0;margin:0 0 12px;font-size:1.05rem;font-weight:700;line-height:1.35}.project-card__summary{color:#474747;text-align:justify;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;line-height:1.72;display:-webkit-box;overflow:hidden}.project-card__footer{text-align:left;padding:22px 18px 20px}.project-card__footer .btn{padding:9px 20px 10px}.project-hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:stretch;gap:42px;display:grid}.project-hero__media{background:#f3f3f3;border:1px solid #e7e7e7;min-height:430px;overflow:hidden;box-shadow:0 18px 44px #161c211f}.project-hero__media img,.project-zoom-trigger img{object-fit:cover;width:100%;display:block}.project-hero__media img{height:100%;min-height:430px}.project-hero__content{flex-direction:column;padding:8px 0;display:flex}.project-hero__category{color:#c92122;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:.84rem;font-weight:700}.project-hero__title{color:#161c21;letter-spacing:0;margin:0 0 18px;font-size:2rem;font-weight:700;line-height:1.25}.project-hero__summary{color:#474747;text-align:justify;margin:0 0 28px;font-size:1rem;line-height:1.8}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:auto;display:grid}.project-fact{min-width:0;display:block}.project-fact__inner{background:#fff;border:1px solid #e7e7e7;height:100%;min-height:150px;padding:20px 18px;box-shadow:0 10px 24px #161c210f}.project-fact__label{color:#c92122;align-items:center;margin:0 0 12px;font-weight:700;line-height:1.35;display:flex}.project-fact__label i{flex:none;margin-right:8px}.project-fact__text{color:#474747;margin:0;line-height:1.65}.project-details-wrapper{border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7}.project-details-layout{display:block}.project-copy{max-width:920px;margin:0 auto}.project-copy .heading{margin-bottom:34px}.project-copy__paragraph{color:#474747;text-align:justify;margin:0 0 18px;font-size:1rem;line-height:1.85}.project-copy__paragraph:last-child{margin-bottom:0}.project-map{background:#f3f3f3;border:1px solid #e7e7e7;margin-top:42px;overflow:hidden;box-shadow:0 14px 34px #161c211a}.project-map iframe{min-height:420px;display:block}.project-gallery{padding-top:68px}.project-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.project-gallery__item{background:#f3f3f3;border:1px solid #e7e7e7;min-width:0;display:block;overflow:hidden}.project-gallery__item img{aspect-ratio:4/3;transition:transform .25s}.project-gallery__item:hover img,.project-hero__media:hover img{transform:scale(1.035)}.project-zoom-trigger{color:#fff;cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.project-zoom-trigger:after{content:"";opacity:0;background:#0a101657;transition:opacity .22s;position:absolute;inset:0}.project-zoom-trigger__icon{z-index:2;color:#fff;opacity:0;background:#c92122e0;border:1px solid #ffffff9e;place-items:center;width:58px;height:58px;font-size:1.25rem;transition:opacity .22s,transform .22s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.86)}.project-zoom-trigger:hover:after,.project-zoom-trigger:focus-visible:after,.project-zoom-trigger:hover .project-zoom-trigger__icon,.project-zoom-trigger:focus-visible .project-zoom-trigger__icon{opacity:1}.project-zoom-trigger:hover .project-zoom-trigger__icon,.project-zoom-trigger:focus-visible .project-zoom-trigger__icon{transform:translate(-50%,-50%)scale(1)}.project-zoom-trigger--hero{min-height:430px}.project-lightbox{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080c10e0;place-items:center;padding:34px;display:grid;position:fixed;inset:0}.project-lightbox__frame{background:#111;max-width:min(1180px,94vw);max-height:86vh;overflow:hidden;box-shadow:0 28px 80px #00000075}.project-lightbox__frame img{object-fit:contain;width:100%;max-height:86vh;display:block}.project-lightbox__close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff61;place-items:center;width:46px;height:46px;padding:0;transition:background .18s,border-color .18s;display:grid;position:fixed;top:24px;right:24px}.project-lightbox__close:hover{background:#c92122;border-color:#fff}.contact-page .container{padding-top:72px}.contact-layout{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:stretch;gap:42px;display:grid}.contact-panel{flex-direction:column;justify-content:center;display:flex}.contact-eyebrow{color:#c92122;letter-spacing:.08em;text-transform:uppercase;background:#c921221a;width:fit-content;margin:0 0 14px;padding:7px 12px;font-size:.78rem;font-weight:700}.contact-title{color:#161c21;letter-spacing:0;margin:0 0 18px;font-size:clamp(2rem,4vw,3.25rem);font-weight:800;line-height:1.1}.contact-intro{color:#555;max-width:620px;margin:0 0 30px;font-size:1.02rem;line-height:1.8}.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.contact-info-card{background:#fff;border:1px solid #e7e7e7;gap:14px;min-width:0;padding:20px;display:flex;box-shadow:0 12px 28px #161c2112}.contact-info-card>i{color:#fff;background:#c92122;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.05rem;display:grid}.contact-info-card .fact-title{color:#c92122;letter-spacing:.04em;font-size:.78rem;font-weight:700}.contact-info-card p:last-child{color:#474747;line-height:1.65}.contact-form-card{color:#fff;background:#161c21;padding:34px;box-shadow:0 22px 54px #161c212e}.contact-form-card h2{color:#fff;letter-spacing:0;margin:0 0 24px;font-size:1.45rem;font-weight:700}.contact-form-card label{margin:0 0 16px;display:block}.contact-form-card label span{color:#ffffffbd;margin:0 0 8px;font-size:.86rem;display:block}.contact-form-card input,.contact-form-card textarea{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;outline:none;width:100%;padding:12px 14px;transition:border-color .18s,background .18s}.contact-form-card input::placeholder,.contact-form-card textarea::placeholder{color:#ffffff6b}.contact-form-card input:focus,.contact-form-card textarea:focus{background:#ffffff1f;border-color:#ffffffb8}.contact-form-card textarea{resize:vertical}.contact-form-card .btn{color:#fff;background:#c92122;border-color:#c92122;width:100%}.contact-form-card .btn:hover{color:#161c21;background:#fff;border-color:#fff}.contact-form-card .btn:disabled{cursor:wait;opacity:.72}.contact-form-status{margin:0 0 16px;padding:12px 14px;line-height:1.5}.contact-form-status--success{color:#b9ffd5;background:#2daa5f29}.contact-form-status--error{color:#ffd0d0;background:#c921222e}.contact-map{background:#f3f3f3;border:1px solid #e7e7e7;margin-top:48px;overflow:hidden;box-shadow:0 14px 34px #161c211a}.contact-map iframe{min-height:420px;display:block}.fact-title{color:red;margin:0 0 10px}.fact-title i{margin-right:6px}.map-frame iframe{width:100%;max-width:100%}.bank-grid img{object-fit:contain;max-height:120px;margin:0 auto 35px;display:block}.contact-list{margin-bottom:40px}.footer-form-status{color:#b9ffd5;margin:0 0 12px;line-height:1.45}.footer-form-status--error{color:#ffd0d0}@media screen and (width<=750px){.home-hero,.home-hero__content{min-height:560px}.home-hero__content{padding-top:46px;padding-bottom:96px}.home-hero__shade{background:linear-gradient(90deg,#0a1016d1 0%,#0a101680 100%),linear-gradient(#0a101614 48%,#0a10168f 100%)}.home-hero__eyebrow{font-size:.7rem}.home-hero h1{max-width:100%;font-size:2.25rem}.home-hero__content>p:not(.home-hero__eyebrow){font-size:.98rem;line-height:1.7}.home-hero__actions{align-items:stretch}.home-hero__actions .btn{text-align:center;flex:100%}.home-hero__controls{justify-content:space-between;bottom:28px;left:24px;right:24px}.home-hero__dots button{width:24px}.project-grid{grid-template-columns:1fr;gap:28px}.projects-heading{margin-bottom:32px}.project-card__image img{aspect-ratio:4/3}.project-card__meta{grid-template-columns:1fr;gap:6px}.project-card__meta li:last-child{text-align:left;justify-content:flex-start}.project-hero{grid-template-columns:1fr;gap:28px}.project-hero__media,.project-hero__media img,.project-zoom-trigger--hero{min-height:280px}.project-hero__title{font-size:1.55rem}.project-facts,.project-gallery__grid{grid-template-columns:1fr}.project-map iframe{min-height:320px}.contact-page .container{padding-top:50px}.contact-layout,.contact-card-grid{grid-template-columns:1fr}.contact-form-card{padding:26px 20px}.contact-map iframe{min-height:340px}.project-lightbox{padding:18px}.project-lightbox__close{top:14px;right:14px}}@media screen and (width>=751px) and (width<=1024px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px}.project-hero{grid-template-columns:1fr}.project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr}}@media screen and (width>=1025px){.projects-section{margin-left:-18px;margin-right:-18px}}
