:root{--red:#bc0804;--ink:#191c20;--gray:#59616b;--line:#d9dde0;--paper:#f4f5f6;--white:#fff;--muted:#c1c7ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;font-size:1rem;background:var(--white)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.25rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #df5a26;outline-offset:4px}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}::selection{background:#f4b9b7}.topbar{background:var(--ink);color:white;padding:.55rem 4.5%;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.09em}.header{padding:1.2rem 4.5%;display:flex;justify-content:space-between;align-items:center;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:1rem;flex-shrink:0}.brand img{width:105px;height:52px;object-fit:contain;background:var(--red)}.brand span{font-size:.75rem;line-height:1.5;color:var(--gray)}nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem;font-size:.875rem;font-weight:600}nav a{padding:.5rem 0}nav a[aria-current]{color:var(--red);box-shadow:0 2px var(--red)}nav a:last-child{background:var(--red);color:white;padding:.65rem 1rem}.menu-toggle{display:none}.home-hero{padding:3rem 4.5% 2.5rem;display:grid;grid-template-columns:1fr 260px;gap:3rem}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:0 0 1.2rem;color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.4rem,4.2vw,4.4rem);line-height:1.06;letter-spacing:-.047em;font-weight:700;margin-bottom:1.4rem}h1 span{color:var(--gray)}.lead{max-width:760px;font-size:1.125rem;color:var(--gray);line-height:1.65;margin-bottom:1.7rem}.hero-copy .lead{max-width:690px}.actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}.button{border:1px solid var(--red);background:var(--red);padding:.85rem 1.2rem;color:#fff;display:inline-flex;gap:2rem;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;min-height:48px}.button:hover{background:#940602;text-decoration:none}.text-link{font-size:.875rem;font-weight:600;display:inline-block;text-decoration:underline;text-underline-offset:.35rem}.hero-side{border-left:1px solid var(--line);padding:1rem 0 0 2rem;display:flex;flex-direction:column;justify-content:space-between}.hero-side p{font-size:1.6rem;line-height:1.22;letter-spacing:-.03em;margin:1.5rem 0}.hero-side>span{font-size:.75rem;color:var(--gray)}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 4.5%;border-top:3px solid var(--red);border-bottom:1px solid var(--line)}.stat{padding:1.5rem 1.4rem 1.6rem 0;display:flex;flex-direction:column;gap:.5rem}.stat+.stat{border-left:1px solid var(--line);padding-left:1.4rem}.stat strong{font-size:clamp(1.35rem,2vw,2rem);line-height:1.25;letter-spacing:-.04em}.stat span{font-size:.875rem;color:var(--gray);max-width:230px}.assurance-strip{margin:0 4.5%;padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--gray);border-bottom:1px solid var(--line)}.assurance-strip strong{color:var(--ink)}.section{padding:4.5rem 4.5%}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:2.5rem}.section-head .eyebrow{margin-top:.6rem}h2{font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.12;letter-spacing:-.045em;font-weight:600;margin-bottom:1.5rem}h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.025em}.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.dark{background:var(--ink);color:white}.dark .eyebrow{color:#ffb8b4}.dark p:not(.eyebrow){color:var(--muted)}.light{background:white;color:var(--ink);border-color:white}.light:hover{background:#e4e6e8}.page-head{padding:3.5rem 4.5% 2.5rem;border-bottom:1px solid var(--line)}.page-head h1{max-width:950px}.page-head .lead{margin-bottom:0}.notice{border-left:3px solid var(--red);padding:1rem 1.25rem;background:var(--paper);font-size:.875rem;margin:1.5rem 0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:2rem}.project-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-width:0}.project-card[hidden]{display:none}.project-image{margin:0;position:relative;background:var(--paper)}.project-image img{width:100%;height:210px;object-fit:cover;display:block}.project-image figcaption{padding:.45rem .8rem;font-size:.75rem;color:var(--gray);border-bottom:1px solid var(--line)}.project-content{padding:1.5rem;flex:1}.project-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--gray);margin-bottom:1rem}.status{font-weight:700;color:var(--ink)}.status.current{color:var(--red)}.project-card h3{margin-bottom:.45rem}.project-location{color:var(--gray);font-size:.875rem;margin-bottom:1.2rem}.room-count{font-size:2.5rem;font-weight:600;line-height:1.1;letter-spacing:-.045em;margin-bottom:1.2rem}.room-count span{font-size:.875rem;color:var(--gray);letter-spacing:0;font-weight:400}.quantities{margin:0;display:grid;gap:.5rem}.quantities div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.5rem}.quantities dt{font-size:.875rem;color:var(--gray)}.quantities dd{margin:0;font-weight:600;white-space:nowrap;font-size:.875rem}.package{font-size:.75rem;margin:1.2rem 0 0;color:var(--gray)}.only{color:var(--red);font-weight:700}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:2rem;padding:1.2rem;background:var(--paper)}.field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.field label{font-weight:600;font-size:.875rem}.field select,.field input,.field textarea{width:100%;min-height:48px;padding:.75rem;border:1px solid #9299a1;background:white;color:var(--ink);border-radius:0}.filters .field{min-width:210px}.result-count{margin:0 0 .6rem auto;font-size:.875rem;color:var(--gray)}.service{display:grid;grid-template-columns:75px 1.1fr 1fr;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--line)}.service-number{font-size:.875rem;color:var(--red);font-weight:600}.service h2{font-size:1.9rem}.service p,.service li{color:var(--gray)}.service ul{padding-left:1.2rem;margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.detail-panel{border-top:3px solid var(--ink);padding:1.5rem 0}.detail-panel h2{font-size:1.7rem}.info-table{border-collapse:collapse;width:100%;font-size:.9375rem}.info-table th,.info-table td{padding:1rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.info-table th{width:35%;font-weight:600;padding-left:0}.info-table caption{text-align:left;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.small{font-size:.875rem;color:var(--gray)}.missing-list{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem;padding-left:1.2rem}.missing-list li{font-size:.875rem}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.span-2{grid-column:1/-1}fieldset{padding:0;border:0;margin:0}legend{font-weight:600;margin-bottom:1rem;font-size:1.3rem}.checks{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checks label{display:flex;gap:.65rem;font-size:.875rem;align-items:flex-start}.checks input{width:18px;height:18px;flex-shrink:0;accent-color:var(--red);margin-top:3px}.enquiry-output{background:var(--paper);padding:1.5rem;margin-top:2rem}.enquiry-output pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.875rem}.coverage-list{display:flex;flex-wrap:wrap;gap:.75rem;padding:0;list-style:none}.coverage-list li{border:1px solid var(--line);padding:.6rem 1rem}.photo-note{font-size:.75rem;color:var(--gray)}footer{background:var(--paper);padding:3rem 4.5% 1.3rem}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding-bottom:2rem}.footer-wordmark{font-family:Georgia,serif;font-size:2.2rem;line-height:1;color:var(--red);font-weight:bold}.footer-wordmark span{display:block;font-size:.8rem;letter-spacing:.12em;margin-top:.5rem}.footer-top p{font-size:.875rem;color:var(--gray);margin:0}.footer-bottom{border-top:1px solid var(--line);padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.8rem 2rem;font-size:.75rem;color:var(--gray)}.footer-bottom a{margin-left:auto;text-decoration:underline}.skip{position:absolute;top:-80px;left:1rem;padding:1rem;background:white;z-index:5}.skip:focus{top:0}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1200px){.brand span{display:none}nav{gap:.85rem}.home-hero{grid-template-columns:1fr 210px}.hero-side{padding-left:1.4rem}.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.menu-toggle{display:flex;align-items:center;gap:1rem;background:white;border:1px solid var(--line);padding:.65rem 1rem}.header{flex-wrap:wrap;gap:1rem}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:.8rem .4rem;border-bottom:1px solid var(--line)}nav a:last-child{margin-top:.5rem}.home-hero{grid-template-columns:1fr}.hero-side{display:none}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}.assurance-strip{flex-wrap:wrap}.contact-grid{grid-template-columns:1fr}.service{grid-template-columns:40px 1fr}.service>div:last-child{grid-column:2}.split{gap:2rem}.topbar span:first-child{display:none}}@media(max-width:600px){.header{padding:1rem 5%}.brand span{display:block}.topbar{padding:.55rem 5%;font-size:.75rem}.home-hero{padding:2.3rem 5% 1.8rem;gap:0}h1{font-size:2.7rem}.lead{font-size:1rem}.actions{gap:1.2rem}.stats{margin:0 5%}.stat{padding:1.1rem .7rem 1.1rem 0}.stat+.stat{padding-left:.8rem}.stat strong{font-size:1.4rem}.stat span{font-size:.8125rem}.assurance-strip{margin:0 5%;gap:.5rem;display:grid}.section{padding:3rem 5%}.section-head,.split,.detail-grid{grid-template-columns:1fr;gap:.75rem}.section-head{margin-bottom:1.7rem}.section-head h2{margin-bottom:0}.project-grid{grid-template-columns:1fr}.project-image img{height:230px}.page-head{padding:2.7rem 5% 2rem}.page-head h1{font-size:2.55rem}.service{grid-template-columns:24px 1fr;gap:1rem;padding:2rem 0}.service h2{font-size:1.65rem}.filters{padding:1rem;gap:.8rem}.filters .field{width:100%;min-width:0}.result-count{margin:0}.info-table th,.info-table td{display:block;width:100%;padding:.5rem 0}.info-table th{border-bottom:0;margin-top:.5rem}.missing-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.checks{grid-template-columns:1fr}.footer-top{flex-direction:column;gap:1.5rem}.footer-bottom{flex-direction:column}.footer-bottom a{margin-left:0}footer{padding:2.5rem 5% 1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Architectural surfaces, MM&A red and graphite. */
:root{--ink:#181e25;--gray:#525e6b;--line:#dce2e7;--paper:#eef1f4;--muted:#c7d0da;--radius:12px}
body{font-family:Inter,"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;background-color:#f5f7f9;background-image:linear-gradient(#20334706 1px,transparent 1px),linear-gradient(90deg,#20334706 1px,transparent 1px);background-size:64px 64px}
.topbar{background:#141a21;font-size:.75rem;letter-spacing:.1em;border-bottom:1px solid #ffffff13}
.header{background:#ffffffed;border-bottom:0;padding-top:1rem;padding-bottom:1rem;box-shadow:0 6px 24px #12213108;position:relative;z-index:2}
.brand img{border-radius:3px}.brand span{font-size:.8125rem}nav{gap:1.5rem}nav a:last-child{border-radius:6px;padding:.8rem 1.2rem}nav a[aria-current]{box-shadow:none}nav a[aria-current]:not(:last-child){text-decoration:underline;text-underline-offset:.55rem;text-decoration-thickness:2px}
h1{font-weight:650;letter-spacing:-.045em}h2{font-weight:600}.eyebrow{font-size:.8125rem;letter-spacing:.1em}
.home-hero,.page-head,.dark{background-color:#18212b;background-image:radial-gradient(ellipse at 98% 10%,#79313555,transparent 48%),linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;color:#fff;position:relative}
.home-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:4%;padding-top:3rem;padding-bottom:3rem;align-items:center}
.home-hero h1{font-size:clamp(2.4rem,3.7vw,4.6rem);line-height:1.1;max-width:850px}.home-hero h1 span{color:#b7c1cb}.home-hero .lead{color:#c7d0da;font-size:1rem;max-width:650px}.home-hero .eyebrow,.page-head .eyebrow,.dark .eyebrow{color:#ffaaa5}.home-hero .text-link{color:#fff}
.hero-side{display:block;border:0;padding:0;margin:0;position:relative;align-self:stretch;min-height:340px;border-radius:12px;overflow:hidden;box-shadow:0 22px 50px #060a0f50}
.hero-side img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-side figcaption{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.4rem 1.2rem;background:linear-gradient(transparent,#0c131bec);font-size:.875rem;line-height:1.5;color:white}.hero-side figcaption span{display:block;font-size:.75rem;color:#d2d9e0}
.home-hero:after,.page-head:after{content:"";position:absolute;width:72px;height:4px;background:#e5392f;bottom:0;left:4.5%}
.button{border-radius:6px;box-shadow:0 5px 14px #89090512;transition:background .18s,transform .18s;gap:1rem}.button:hover{transform:translateY(-2px)}.light{box-shadow:none;border-color:var(--line)}
.stats{margin:0;background:#202b37;color:#fff;border-top:0;border-bottom:0;padding:0 4.5%;gap:0}.stat,.stat+.stat{padding:1.6rem 1.4rem;border-color:#ffffff19}.stat:first-child{padding-left:0}.stat strong{font-size:clamp(1.3rem,1.9vw,2rem);font-variant-numeric:tabular-nums;font-weight:600}.stat span{color:#c7d0da;font-size:.875rem}.assurance-strip{font-size:.8125rem;padding:1.3rem 0;border-color:#d5dce3}
.page-head{padding-top:3.5rem;padding-bottom:3.5rem;border:0}.page-head .lead{color:#c7d0da}.page-head h1{max-width:1000px}
.section{padding-top:4rem;padding-bottom:4rem}.section-head{grid-template-columns:1fr 2fr;align-items:start}.section-head .eyebrow{border-top:2px solid var(--red);padding-top:1rem;max-width:220px}.section-head h2{max-width:780px}
.project-grid{gap:1.5rem}.project-card{border:1px solid #dce2e7;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px #20304108;transition:box-shadow .2s,transform .2s}.project-card:hover{box-shadow:0 18px 40px #20304115;transform:translateY(-3px)}.project-image{overflow:hidden}.project-image img{height:240px}.project-image figcaption{background:#f9fafb;border-color:#e7ecf0;font-size:.75rem;padding:.6rem 1rem}.project-content{padding:1.6rem}.project-meta{font-size:.8125rem;align-items:center}.status{font-size:.75rem;padding:.3rem .6rem;border-radius:4px;background:#edf1f4;white-space:nowrap}.status.current{background:#ffefed;color:#a40e07}.room-count{font-size:2.7rem;margin-top:1.5rem}.quantities dd{font-variant-numeric:tabular-nums}.package{font-size:.8125rem}.only{background:#fff0ee;border-radius:4px;padding:.5rem .7rem;display:inline-block}.project-card:not(:has(.project-image)){border-top:3px solid #586a7d}
.dark{border-block:1px solid #ffffff10}.coverage-list li{border-color:#ffffff25;background:#ffffff08;border-radius:6px}
footer{background:#131b24;color:white;border-top:4px solid var(--red)}.footer-wordmark{color:#fff}.footer-top p,.footer-bottom{color:#b9c3ce}.footer-bottom{border-color:#ffffff1c;font-size:.8125rem}
@media(min-width:1600px){body{max-width:none}.header,.topbar,.home-hero,.page-head,.section,.stats,footer{padding-left:max(4.5%,calc((100% - 1600px)/2));padding-right:max(4.5%,calc((100% - 1600px)/2))}}
@media(max-width:1200px){nav{gap:1rem}.home-hero{gap:2rem}.hero-side{min-height:320px}.home-hero h1{font-size:clamp(2.25rem,4vw,3.6rem)}}
@media(max-width:900px){nav{gap:0}.menu-toggle{border-radius:6px;font-size:.875rem}.home-hero{grid-template-columns:1fr 0.8fr}.hero-side{display:block;min-height:360px}.home-hero h1{font-size:2.6rem}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){padding-left:0;border-color:#ffffff19}.stat:nth-child(4){border-color:#ffffff19}.section-head{grid-template-columns:1fr 2fr}}
@media(max-width:600px){.home-hero{grid-template-columns:1fr;padding:2.5rem 5%;gap:2rem}.home-hero h1{font-size:clamp(2rem,8.8vw,2.9rem)}.hero-side{display:none}.stats{margin:0;padding:0 5%}.stat,.stat+.stat{padding:1.3rem .8rem}.stat:nth-child(odd){padding-left:0}.stat strong{font-size:1.3rem}.stat span{font-size:.875rem}.page-head{padding:2.7rem 5%}.page-head h1{font-size:clamp(2rem,8vw,2.7rem)}.section{padding:2.7rem 5%}.section-head{grid-template-columns:1fr;gap:1rem}.section-head .eyebrow{margin-bottom:0}.project-content{padding:1.3rem}.project-image img{height:220px}.assurance-strip{font-size:.8125rem}.home-hero:after,.page-head:after{left:5%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.button:hover,.project-card:hover{transform:none}}
/* Specification pages retain a clear reading surface over the grid. */
.service{background:#ffffffed;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;margin-bottom:1.25rem;gap:1.6rem;grid-template-columns:56px 1.1fr 1fr;box-shadow:0 6px 20px #1b304207}.service-number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:#fceae8;color:#aa0c05;font-variant-numeric:tabular-nums}.service>div:last-child{border-left:1px solid var(--line);padding-left:1.7rem}.service>div:last-child h3{font-size:.875rem;letter-spacing:.02em}.service p{margin-bottom:0}.service h2{font-size:1.8rem}
.detail-panel{padding:1.8rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:var(--radius);box-shadow:0 8px 24px #20304108}.detail-panel h2{font-size:1.7rem;margin-bottom:1.3rem}.detail-panel .small{margin-top:1.25rem;margin-bottom:0}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:0}.info-table td{color:var(--gray)}
.filters{background:#e8edf2;border:1px solid #d7dfe7;border-radius:10px;padding:1.3rem}.field select,.field input,.field textarea{border-radius:6px;border-color:#a8b4c0;transition:border-color .15s,box-shadow .15s}.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #bc08040b}.contact-grid{gap:2rem;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start}.contact-grid>div,.contact-grid>aside{border-radius:var(--radius);padding:2rem;background:white;border:1px solid var(--line);box-shadow:0 8px 24px #20304108}.contact-grid>aside{border-top:3px solid var(--red)}.contact-grid>aside h2{font-size:1.8rem}.contact-grid>aside h3{margin-top:2rem;font-size:1.1rem}.checks label{border:1px solid var(--line);border-radius:6px;padding:.7rem;background:#fafbfd}.checks label:has(input:checked){border-color:var(--red);background:#fff4f2}.enquiry-output{border-radius:10px}.notice{border-radius:0 8px 8px 0}
@media(max-width:900px){.service{grid-template-columns:44px 1fr}.service>div:last-child{grid-column:2;padding:1rem 0 0;border-left:0;border-top:1px solid var(--line)}.contact-grid{grid-template-columns:1fr}.detail-grid{gap:1.2rem}.detail-panel{padding:1.3rem}}
@media(max-width:600px){.service{padding:1.3rem;grid-template-columns:1fr;gap:1rem}.service>div:last-child{grid-column:1}.service h2{font-size:1.7rem}.detail-panel{margin-bottom:.5rem}.contact-grid>div,.contact-grid>aside{padding:1.25rem}.filters{padding:1rem}.detail-panel h2{font-size:1.5rem}.info-table td{overflow-wrap:anywhere}.topbar{letter-spacing:.05em}.brand span{font-size:.75rem}}
@media(max-width:360px){.brand span{display:none}.header{flex-wrap:nowrap}.topbar{font-size:.75rem;letter-spacing:0}.header nav{position:absolute;left:0;right:0;top:100%;background:#fff;padding:1rem 5%;box-shadow:0 12px 20px #17233015}}
