@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#222B35;--ink2:#18232d;--muted:#65717d;--slate:#75808A;--blue:#2464A0;--line:#dbe0e2;--paper:#f5f6f4;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.container{width:min(calc(100% - 88px),var(--max));margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--blue)}.section{padding:112px 0}.section--light{background:var(--paper)}.section--dark{background:var(--ink2);color:#fff}.h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(36px,4.1vw,60px);font-weight:600;line-height:1.15;letter-spacing:-.055em;margin:18px 0 20px}.lead{font-size:clamp(17px,1.5vw,21px);line-height:1.75;color:#58636e;max-width:730px}.section--dark .lead{color:#b8c4cf}.topbar{border-bottom:1px solid var(--line);background:#fff}.topbar .container{display:flex;justify-content:space-between;padding:10px 0;font-size:10px;letter-spacing:.12em;font-weight:700;color:#69747e;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid #e7eaeb}.nav{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:86px}.brand{display:flex;align-items:center;min-width:220px}.brand img{display:block;width:225px;height:auto}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a{font-size:13px;font-weight:700;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--blue)}.nav-cta{border:1px solid var(--ink);padding:13px 18px!important}.nav-cta:hover{background:var(--ink);color:white!important}.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;background:var(--ink);width:25px;height:2px;margin:5px}.hero{background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;min-height:650px;align-items:stretch}.hero-copy{padding:92px 38px 78px 0;position:relative;z-index:2}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(51px,5.5vw,82px);font-weight:600;line-height:1.1;letter-spacing:-.075em;margin:28px 0 26px}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{max-width:550px;font-size:18px;line-height:1.78;color:#5b6771;margin:0 0 35px}.buttons{display:flex;flex-wrap:wrap;gap:13px}.btn{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;padding:17px 23px;font-size:13px;font-weight:700;border:1px solid var(--ink);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white}.btn-primary:hover{background:var(--blue);border-color:var(--blue)}.btn-secondary{background:transparent;color:var(--ink)}.btn-secondary:hover{background:#fff}.btn-arrow{font-size:21px;line-height:0}.hero-art{background:#263541;position:relative;overflow:hidden;min-height:540px}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(36,100,160,.19) 80%)}.hero-art svg{width:100%;height:100%;position:absolute;inset:0}.hero-art-label{position:absolute;bottom:34px;left:34px;color:#b9c9d5;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.facts{border-bottom:1px solid var(--line);background:#fff}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}.fact{padding:31px 35px;border-right:1px solid var(--line)}.fact:first-child{padding-left:0}.fact:last-child{border:0}.fact strong{display:block;font:700 16px Manrope,sans-serif}.fact span{display:block;margin-top:8px;font-size:12px;color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:46px}.section-head .h2{max-width:740px;margin-bottom:0}.text-link{color:var(--blue);font-size:13px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:7px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{padding:35px 30px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:280px;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:#f4f7f9}.service-no{font-size:11px;letter-spacing:.15em;color:var(--blue);font-weight:700}.service-card h3{font:600 23px/1.3 Manrope,sans-serif;letter-spacing:-.04em;margin:34px 0 12px}.service-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 25px}.service-card .arrow{margin-top:auto;color:var(--blue);font-size:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.blueprint{background:#e9edef;position:relative;min-height:490px;overflow:hidden;border:1px solid #dce3e7}.blueprint svg{width:100%;height:100%;position:absolute;inset:0}.number-list{display:grid;gap:0;margin-top:25px}.number-list .item{border-top:1px solid var(--line);padding:19px 0;display:flex;gap:20px}.number-list .item span{font-size:11px;color:var(--blue);font-weight:700}.number-list .item div{font-size:15px;line-height:1.5}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sector{min-height:175px;padding:23px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.sector span{color:var(--blue);font-size:12px}.sector strong{font:600 19px/1.35 Manrope,sans-serif;letter-spacing:-.025em}.quote-block{max-width:1050px;font:500 clamp(27px,3.6vw,48px)/1.38 Manrope,sans-serif;letter-spacing:-.045em}.quote-block em{font-style:normal;color:#7fb4e3}.cta-band{background:var(--blue);color:white;padding:70px 0}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{font:600 clamp(27px,3vw,42px)/1.25 Manrope,sans-serif;letter-spacing:-.045em;max-width:680px;margin:0}.cta-band .btn{border-color:white;color:white}.footer{background:#18232d;color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:65px}.footer-logo{font:700 31px Manrope,sans-serif;letter-spacing:-.07em}.footer-logo b{color:#83a9cb}.footer p{color:#bac4cb;font-size:14px;line-height:1.8;max-width:430px}.footer h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#b6c8d5;margin:8px 0 20px}.footer a{display:block;font-size:13px;color:#e7ebed;margin:13px 0}.footer a:hover{color:#8fbce0}.footer-bottom{margin-top:65px;padding-top:20px;border-top:1px solid #42505b;display:flex;justify-content:space-between;color:#aab8c2;font-size:11px}.page-hero{padding:110px 0 90px;background:var(--paper);border-bottom:1px solid var(--line)}.page-hero h1{font:600 clamp(49px,6vw,78px)/1.1 Manrope,sans-serif;letter-spacing:-.07em;max-width:970px;margin:22px 0}.page-hero .lead{max-width:850px}.content{max-width:790px}.content h2{font:600 32px/1.3 Manrope,sans-serif;letter-spacing:-.04em;margin:40px 0 12px}.content h3{font:600 21px/1.35 Manrope,sans-serif;margin:28px 0 8px}.content p,.content li{font-size:16px;line-height:1.85;color:#53616b}.content ul{padding-left:22px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:100px}.aside{border-top:3px solid var(--blue);padding-top:22px}.aside h3{font:600 19px Manrope,sans-serif}.aside a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact-method{border-top:1px solid var(--line);padding:24px 0}.contact-method span{display:block;font-size:11px;color:var(--blue);text-transform:uppercase;letter-spacing:.15em;margin-bottom:9px}.contact-method a{font-size:21px;font-weight:600}.form-field{display:block;margin-bottom:20px}.form-field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.form-field input,.form-field textarea{display:block;width:100%;border:1px solid #cfd7db;background:#fff;padding:15px 16px;border-radius:0;color:var(--ink)}.form-field textarea{min-height:130px;resize:vertical}.form-note{font-size:12px;color:var(--muted);line-height:1.5}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:28px}.breadcrumb a{color:var(--blue)}.callout{border-left:3px solid var(--blue);padding:17px 24px;background:#f2f5f7;color:#40515d;line-height:1.7;margin:30px 0}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px}.mobile-only{display:none}@media(max-width:1000px){.container{width:min(calc(100% - 48px),var(--max))}.nav-links{gap:19px}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(44px,5.5vw,66px)}.service-grid{grid-template-columns:repeat(2,1fr)}.sector-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:35px}.detail-grid{gap:45px}}@media(max-width:760px){.container{width:calc(100% - 36px)}.topbar .container{font-size:9px}.topbar .topbar-right{display:none}.nav{min-height:70px}.brand{min-width:0}.brand img{width:186px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px 22px 28px;box-shadow:0 18px 25px #1b2c3c18;flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:15px 4px;border-bottom:1px solid var(--line)}.nav-cta{text-align:center;margin-top:15px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:65px 0 55px}.hero h1{font-size:clamp(46px,11vw,67px)}.hero p{font-size:16px}.hero-art{min-height:360px;margin:0 -18px}.facts-grid{grid-template-columns:1fr}.fact,.fact:first-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.section{padding:70px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.split,.contact-grid,.detail-grid{grid-template-columns:1fr;gap:35px}.blueprint{min-height:330px}.sector-grid{grid-template-columns:repeat(2,1fr)}.sector{min-height:150px;padding:17px}.sector strong{font-size:16px}.cta-band .container{display:block}.cta-band .btn{margin-top:26px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{display:block;line-height:1.8}.page-hero{padding:70px 0 55px}.page-hero h1{font-size:clamp(43px,11vw,64px)}.mobile-only{display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Interactive editorial refresh: photography from existing SPECDOCX site */
.photo-hero{isolation:isolate;background:#263541;min-height:570px}.hero-photo-fallback{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#1c2a36,#36536b);color:#8aa4b7;font-size:11px;letter-spacing:.2em}.hero-photo-fallback:before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#c7dce8 1px,transparent 1px),linear-gradient(90deg,#c7dce8 1px,transparent 1px);background-size:45px 45px}.hero-slides,.hero-slide,.hero-photo-overlay{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .75s ease}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo-overlay{background:linear-gradient(0deg,rgba(10,23,34,.84),transparent 55%),linear-gradient(90deg,rgba(15,32,46,.1),rgba(15,32,46,.06));pointer-events:none}.hero-photo-ui{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:36px;z-index:2;color:white}.hero-photo-kicker{font-size:10px;letter-spacing:.2em;font-weight:700}.hero-photo-bottom{display:flex;justify-content:space-between;align-items:end;gap:18px}.hero-photo-title{display:block;font:600 25px Manrope,Arial,sans-serif;letter-spacing:-.03em}.hero-photo-counter{display:block;font-size:11px;letter-spacing:.18em;margin-top:10px;color:#d0dce5}.hero-photo-buttons{display:flex;gap:8px}.hero-photo-control{cursor:pointer;border:1px solid #ffffff85;background:#ffffff18;color:white;width:44px;height:44px;font-size:20px;transition:background .2s}.hero-photo-control:hover,.hero-photo-control:focus-visible{background:#2464a0}.hero-progress{height:2px;background:#ffffff50;margin-top:21px}.hero-progress span{display:block;width:33.333%;height:100%;background:#fff;transition:transform .5s}
.finder-section{padding:88px 0;background:#e9eef2;border-top:1px solid #dce4ea}.finder-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.finder-layout h2{font:600 clamp(34px,3.5vw,49px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:18px 0}.finder-layout p{line-height:1.75;color:#576572}.finder-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:white;border:1px solid #d6dfe5;padding:20px}.finder-options{display:grid;gap:6px}.finder-option{background:#f3f6f8;border:1px solid transparent;padding:19px;text-align:left;cursor:pointer;font:600 13px/1.5 Manrope,Arial,sans-serif;color:#263541;display:flex;justify-content:space-between;gap:10px}.finder-option span{color:#2464a0}.finder-option.is-selected{border-color:#2464a0;background:#eaf2f9}.finder-option:hover{border-color:#8aa8c1}.finder-answer{padding:14px 10px}.finder-answer h3{font:600 25px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:16px 0}.finder-answer p{font-size:13px;margin:0 0 25px}.finder-answer .text-link{font-size:12px}
.gallery-section{background:#f8fafb}.gallery-intro{max-width:650px;font-size:15px;line-height:1.7;color:#65727d}.gallery-count{white-space:nowrap;color:#71808b;font-size:11px;letter-spacing:.18em}.gallery-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 25px}.gallery-filter{cursor:pointer;border:1px solid #d2dce3;background:#fff;color:#40515e;padding:12px 19px;font-size:12px;font-weight:700;transition:background .2s,color .2s}.gallery-filter:hover{border-color:#2464a0}.gallery-filter.is-active{background:#222b35;color:#fff;border-color:#222b35}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.photo-tile{cursor:zoom-in;border:0;position:relative;overflow:hidden;min-height:250px;aspect-ratio:1.2;background:linear-gradient(135deg,#32495d,#7990a1);text-align:left;color:white;padding:0}.photo-tile--large{grid-column:span 2;aspect-ratio:2.1}.photo-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s ease}.photo-tile:hover img,.photo-tile:focus-visible img{transform:scale(1.055)}.photo-tile-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,26,36,.78),transparent 65%)}.photo-tile-label{position:absolute;bottom:19px;left:19px;right:45px}.photo-tile-label small{display:block;font-size:9px;letter-spacing:.16em;color:#e5eef5;margin-bottom:7px}.photo-tile-label strong{font:600 18px Manrope,Arial,sans-serif}.photo-tile-icon{position:absolute;right:18px;bottom:21px;font-size:23px}.photo-tile[hidden]{display:none}.gallery-disclaimer{margin-top:23px;color:#74828c;font-size:11px;line-height:1.6}
.photo-lightbox{border:0;padding:0;max-width:min(1100px,96vw);width:100%;max-height:94vh;background:#15222c;color:white;box-shadow:0 25px 80px #0007}.photo-lightbox::backdrop{background:#071018d9}.lightbox-shell{display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;position:relative;padding:55px 10px 16px}.lightbox-close,.lightbox-prev,.lightbox-next{background:transparent;color:white;border:0;cursor:pointer;font-size:34px}.lightbox-close{position:absolute;right:14px;top:6px;z-index:2}.lightbox-image{text-align:center}.lightbox-image img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.lightbox-image p{font-size:12px;color:#ccd8e2;letter-spacing:.1em;margin:14px 0}.about-photo-strip{padding:70px 0;background:#eaf0f3}.about-photo-grid{display:grid;grid-template-columns:240px 1fr;gap:60px;align-items:center}.about-photo-grid img{width:100%;height:300px;object-fit:cover;object-position:center 25%;background:#b2c1cc}.about-photo-grid h2{font:600 clamp(30px,3.2vw,48px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:15px 0}.about-photo-grid p{color:#586773;line-height:1.8;max-width:700px;margin-bottom:25px}
@media(max-width:1100px){.photo-grid{grid-template-columns:repeat(3,1fr)}.finder-layout{grid-template-columns:1fr;gap:26px}.finder-panel{max-width:850px}}@media(max-width:760px){.hero-photo-ui{padding:23px}.hero-photo-title{font-size:22px}.photo-hero{min-height:390px}.finder-section{padding:65px 0}.finder-panel{grid-template-columns:1fr}.finder-answer{padding:12px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:8px}.photo-tile,.photo-tile--large{grid-column:span 1;aspect-ratio:.85;min-height:180px}.photo-tile-label strong{font-size:14px}.photo-tile-label small{font-size:8px}.photo-tile-label{left:12px;bottom:12px}.photo-tile-icon{right:11px;bottom:10px}.gallery-toolbar{margin:0 0 20px}.gallery-filter{padding:10px 12px;font-size:11px}.lightbox-shell{grid-template-columns:35px minmax(0,1fr) 35px;padding:48px 3px 10px}.lightbox-prev,.lightbox-next{font-size:24px}.about-photo-grid{grid-template-columns:1fr;gap:22px}.about-photo-grid img{max-width:260px;height:260px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.photo-tile img,.hero-progress span{transition:none}}


/* 2026 visual refinement: photographic depth + restrained technical drawing textures */
:root{--paper:#edf1f3;--line:#d3dde3}
.visual-refresh{background:#edf2f4}
.visual-refresh .section{position:relative}
.visual-refresh .section:not(.section--dark):not(.gallery-section){background-color:#edf2f4;background-image:radial-gradient(ellipse at 92% 8%,rgba(72,132,176,.11),transparent 43%),linear-gradient(125deg,rgba(255,255,255,.78),rgba(229,237,242,.55)),linear-gradient(90deg,rgba(36,100,160,.042) 1px,transparent 1px),linear-gradient(rgba(36,100,160,.042) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px}
.visual-refresh .section--light{background-color:#dce6eb!important;background-image:radial-gradient(circle at 4% 85%,rgba(36,100,160,.16),transparent 36%),linear-gradient(130deg,#dce5eb,#f3f5f5)!important}
.visual-refresh .site-header{background:rgba(245,248,250,.96);border-bottom:1px solid rgba(115,143,165,.28)}
.visual-refresh .topbar{background:#1b2c3b;border-bottom:0}
.visual-refresh .topbar .container{color:#cedce5}
.visual-refresh .hero--immersive{position:relative;background:#203a4d;isolation:isolate}
.visual-refresh .hero--immersive::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(12,26,39,.96) 0%,rgba(17,36,52,.88) 42%,rgba(24,48,65,.5) 100%),var(--home-photo),url("architectural-lines.svg");background-size:cover,cover,cover;background-position:center 42%}
.visual-refresh .hero--immersive::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,rgba(161,201,228,.07) 1px,transparent 1px),linear-gradient(rgba(161,201,228,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent 70%)}
.visual-refresh .hero--immersive .hero-grid{min-height:700px;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:42px 0}
.visual-refresh .hero--immersive .hero-copy{padding:75px 0;max-width:740px}
.visual-refresh .hero--immersive .hero-copy .eyebrow{color:#90c4eb}
.visual-refresh .hero--immersive h1{color:#fff;font-size:clamp(49px,5.1vw,77px);letter-spacing:-.068em}
.visual-refresh .hero--immersive h1 em{color:#9bcaf0}
.visual-refresh .hero--immersive .hero-copy p{color:#d3e0e9;max-width:570px}
.visual-refresh .hero--immersive .btn-primary{background:#2464a0;border-color:#2464a0;color:#fff}
.visual-refresh .hero--immersive .btn-primary:hover{background:#397db8}
.visual-refresh .hero--immersive .btn-secondary{border-color:#b9cbd8;color:#fff;background:#ffffff10}
.visual-refresh .hero--immersive .btn-secondary:hover{background:#ffffff24}
.visual-refresh .hero--immersive .hero-art{height:570px;min-height:0;border:1px solid #c8d6e05c;box-shadow:0 35px 90px #08142070;transform:translateY(12px)}
.visual-refresh .hero--immersive .hero-art:after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.17);pointer-events:none;z-index:1}
.visual-refresh .hero--immersive .hero-photo-ui{z-index:3}
.visual-refresh .facts{background:#182a38;color:#fff;border-bottom:1px solid #34536a}
.visual-refresh .fact{border-color:#344f63}
.visual-refresh .fact strong{color:#fff}
.visual-refresh .fact span{color:#b6cad8}
.visual-refresh .service-grid{border-color:#c4d4de;gap:14px;border:0}
.visual-refresh .service-card{background:rgba(255,255,255,.85);border:1px solid #cfdae2;box-shadow:0 10px 28px #1c38480a;min-height:305px;transition:transform .25s,box-shadow .25s,border-color .25s}
.visual-refresh .service-card:hover{transform:translateY(-6px);border-color:#8fb0c9;box-shadow:0 25px 48px #1c384820;background:#fff}
.visual-refresh .finder-section{background:#d7e4eb;background-image:radial-gradient(circle at 90% 0%,#b8d0e0 0%,transparent 44%),linear-gradient(140deg,#e4edf2,#cbdbe5)}
.visual-refresh .finder-panel{box-shadow:0 20px 65px #1c354622}
.visual-refresh .blueprint{background:#1c3548 url('architectural-lines.svg') center/cover no-repeat;border:1px solid #8aa4b733;box-shadow:0 30px 55px #122c3c26}
.visual-refresh .blueprint svg{mix-blend-mode:screen;opacity:.72}
.visual-refresh .sector-grid{gap:16px}
.visual-refresh .sector--photographic{position:relative;isolation:isolate;overflow:hidden;min-height:250px;color:white;background:#203a4e;border:1px solid #93a7b64d;transition:transform .25s,box-shadow .25s}
.visual-refresh .sector--photographic:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(0deg,rgba(10,24,37,.95),rgba(20,40,57,.2) 90%),var(--sector-photo);background-size:cover;background-position:center;transition:transform .5s}
.visual-refresh .sector--photographic:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(35,94,144,.28),transparent)}
.visual-refresh .sector--photographic:hover{transform:translateY(-4px);box-shadow:0 16px 32px #1c384838}
.visual-refresh .sector--photographic:hover:before{transform:scale(1.06)}
.visual-refresh .sector--photographic strong{color:#fff;text-shadow:0 1px 6px #081c2b77}
.visual-refresh .sector--photographic span{color:#a9d2f1}
.visual-refresh .gallery-section{background:#182a38;background-image:radial-gradient(circle at 0% 0%,#294a60 0%,transparent 50%);color:#fff}
.visual-refresh .gallery-section .h2{color:#fff}
.visual-refresh .gallery-intro,.visual-refresh .gallery-count,.visual-refresh .gallery-disclaimer{color:#b7c9d5}
.visual-refresh .gallery-filter{background:#ffffff0b;color:#e4edf3;border-color:#7891a04f}
.visual-refresh .gallery-filter.is-active{background:#2464a0;border-color:#2464a0}
.visual-refresh .gallery-filter:hover{border-color:#8bbce0}
.visual-refresh .page-hero--image{position:relative;isolation:isolate;min-height:450px;background:#203747;color:#fff;border-bottom:1px solid #54748b;overflow:hidden;display:flex;align-items:center}
.visual-refresh .page-hero--image:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(14,31,45,.97),rgba(18,38,53,.84) 58%,rgba(21,46,65,.49)),var(--page-photo),url("architectural-lines.svg");background-size:cover,cover,cover;background-position:center 42%}
.visual-refresh .page-hero--image:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#b1cddd17 1px,transparent 1px),linear-gradient(#b1cddd17 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.visual-refresh .page-hero--image h1{color:#fff;max-width:850px}
.visual-refresh .page-hero--image .lead{color:#d0dfe9;max-width:730px}
.visual-refresh .page-hero--image .eyebrow{color:#8fc5ed}
.visual-refresh .page-hero--image .breadcrumb,.visual-refresh .page-hero--image .breadcrumb a{color:#a6c8e0}
.visual-refresh .hero-drawing-mark{position:absolute;right:9%;top:23%;width:130px;height:130px;border:1px solid #ffffff42;transform:rotate(45deg);pointer-events:none}
.visual-refresh .hero-drawing-mark:after{content:"";position:absolute;inset:20px;border:1px solid #ffffff25}
.visual-refresh .cta-band{position:relative;isolation:isolate;background:#1d4f7b;overflow:hidden}
.visual-refresh .cta-band:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#1c4c75f0,#1b4c75d5),url('architectural-lines.svg');background-position:center;background-size:cover}
.visual-refresh .footer{border-top:3px solid #3477ab}
.image-interlude{position:relative;isolation:isolate;background:#1b3448;color:#fff;min-height:540px;display:flex;align-items:center;overflow:hidden}
.image-interlude:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(9,25,38,.96),rgba(12,30,45,.8) 50%,rgba(15,34,49,.28)),var(--interlude-photo),url("architectural-lines.svg");background-size:cover,cover,cover;background-position:center}
.image-interlude:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#d9e9f210 1px,transparent 1px),linear-gradient(#d9e9f210 1px,transparent 1px);background-size:70px 70px}
.image-interlude-inner{padding:100px 0;position:relative}
.image-interlude-line{display:flex;align-items:center;gap:16px;color:#9ec8e4;font-size:11px;font-weight:700;letter-spacing:.19em}
.image-interlude-line span{height:1px;width:55px;background:#8fb4cc}
.image-interlude h2{font:600 clamp(38px,4.7vw,66px)/1.17 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:28px 0 20px;max-width:870px}
.image-interlude h2 em{font-style:normal;color:#9bcaf0}
.image-interlude p{font-size:17px;line-height:1.8;color:#d1e1eb;max-width:570px}
.interlude-link{display:inline-flex;gap:20px;align-items:center;margin-top:28px;border-bottom:1px solid #8fb8d5;padding-bottom:10px;font-weight:700;font-size:13px;color:#fff}
.interlude-link:hover{color:#9bcaf0}
.image-interlude-index{position:absolute;right:7%;bottom:28px;color:#c8dbe642;font:700 96px Manrope,sans-serif;letter-spacing:-.1em}
@media(max-width:1050px){.visual-refresh .hero--immersive .hero-grid{gap:25px}.visual-refresh .hero--immersive .hero-art{height:490px}}
@media(max-width:760px){.visual-refresh .hero--immersive .hero-grid{grid-template-columns:1fr;gap:0;padding:0}.visual-refresh .hero--immersive .hero-copy{padding:68px 0 45px}.visual-refresh .hero--immersive h1{font-size:clamp(43px,11vw,65px)}.visual-refresh .hero--immersive .hero-art{height:360px;min-height:360px;transform:none;margin:0 -18px;border-left:0;border-right:0}.visual-refresh .page-hero--image{min-height:380px;padding:75px 0}.visual-refresh .hero-drawing-mark{right:-20px;top:16%;width:75px;height:75px}.visual-refresh .sector--photographic{min-height:195px}.image-interlude{min-height:460px}.image-interlude-inner{padding:75px 0}.image-interlude h2{font-size:clamp(37px,9vw,52px)}.image-interlude-index{font-size:54px}.visual-refresh .service-grid{gap:10px}}
@media(prefers-reduced-motion:reduce){.visual-refresh .sector--photographic,.visual-refresh .sector--photographic:before,.visual-refresh .service-card{transition:none}}

/* SPECDOCX technical clarity: architectural drawings and specification sheets, original layout retained */
.visual-refresh .section.section--blueprint { background-color: #eaf0f7 !important; background-image: linear-gradient(rgba(248,250,254,.13),rgba(248,250,254,.13)),url("specdocx-blueprint-background.jpg") !important; background-position: center center !important; background-size: cover !important; background-repeat: no-repeat !important; }

/* Project Experience: photographic backdrop and corporate-resume portfolio directory */
.visual-refresh .section.section--project-experience {background-color:#e7edf1!important;background-image:linear-gradient(110deg,rgba(240,246,249,.91),rgba(236,244,249,.82)),url("https://www.burnaby.ca/sites/default/files/acquiadam/2025-02/Edmonds_Community_Centre%20-%20Film%20Location.jpg")!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.visual-refresh .section--project-experience .section-head{position:relative;z-index:1}
.visual-refresh .section--project-experience .sector-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.visual-refresh .project-sector-tile{text-decoration:none;position:relative;overflow:hidden;min-height:205px}
.visual-refresh .project-sector-tile small{font-size:11px;line-height:1.4;color:#fff;position:relative;z-index:2;margin-top:8px;opacity:.84}
.project-directory-intro{max-width:880px;margin:0 0 48px}.project-directory-intro p{font-size:15px;line-height:1.8;color:#50616e}
.project-directory{display:grid;gap:38px}.project-sector{background:#fff;border:1px solid #d4dfe6;scroll-margin-top:110px;overflow:hidden}
.project-sector-top{display:grid;grid-template-columns:44% 1fr;min-height:260px}.project-sector-photo{position:relative;background:#dce7ee;min-height:255px}.project-sector-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.project-photo-credit{position:absolute;bottom:0;left:0;right:0;background:rgba(12,26,38,.78);padding:7px 13px;color:#fff;font-size:10px}.project-photo-credit a{color:#d7eaff;text-decoration:underline}
.project-sector-intro{padding:35px 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.project-sector-intro h3{font:600 clamp(24px,3vw,35px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:16px 0}.project-sector-intro p{font-size:14px;color:#5d6a73;line-height:1.7}.project-sector-intro .text-link{margin-top:10px}
.project-sector-list{padding:28px 38px 36px;border-top:1px solid #d9e3e9;scroll-margin-top:110px}.project-sector-list h4{font:600 18px Manrope,Arial,sans-serif;margin:0 0 18px}.project-sector-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.project-sector-list li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e8eef1;font-size:13px;line-height:1.5}.project-sector-list li span{flex:1}.project-sector-list li a{white-space:nowrap;color:#2464a0;font-size:11px;text-decoration:underline}
@media(max-width:1050px){.visual-refresh .section--project-experience .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.project-sector-top{grid-template-columns:1fr}.project-sector-photo{min-height:220px}.project-sector-intro{padding:28px}.project-sector-list{padding:22px}.project-sector-list ul{grid-template-columns:1fr}.visual-refresh .section--project-experience .sector-grid{grid-template-columns:1fr}}
/* Project photo galleries - images shown on SPECDOCX website */
.project-sector-list li:has(.project-inline-gallery){display:block}
.project-sector-list li:has(.project-inline-gallery)>span{display:block;font-weight:600;margin-bottom:8px}
.project-inline-gallery{margin:6px 0 8px}.project-inline-gallery summary{cursor:pointer;color:#2464a0;font-size:12px;font-weight:700;padding:7px 0;list-style:disclosure-closed}.project-inline-gallery[open] summary{list-style:disclosure-open}
.project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 0 16px}
.project-gallery-grid figure{margin:0;border:1px solid #d7e0e7;background:#f6f8fa;min-width:0}
.project-gallery-grid img{display:block;width:100%;height:160px;object-fit:cover}
.project-gallery-grid figcaption{padding:9px;font-size:11px;line-height:1.5;color:#2d3e4d}
.project-gallery-grid figcaption span{display:block;margin-top:5px;font-size:10px;color:#5a6b79}
.project-gallery-grid figcaption a{font-size:10px;white-space:normal}
.project-photo-pending{font-size:11px;color:#81919c;white-space:nowrap}
@media(max-width:760px){.project-gallery-grid{grid-template-columns:1fr 1fr}.project-gallery-grid img{height:145px}}
@media(max-width:460px){.project-gallery-grid{grid-template-columns:1fr}.project-gallery-grid img{height:200px}}
.project-sector-list .project-name-trigger{display:inline-block;border:0;background:transparent;padding:0;color:#2464a0;font:inherit;font-weight:700;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.project-sector-list .project-name-trigger:hover,.project-sector-list .project-name-trigger:focus-visible{text-decoration-color:currentColor}.project-sector-list .project-name-trigger:focus-visible{outline:2px solid #2464a0;outline-offset:4px}.project-sector-list .project-name-trigger::after{content:"  ▸";font-size:.9em}.project-sector-list .project-name-trigger[aria-expanded="true"]::after{content:"  ▾"}

/* Keep Architecture in focus slideshow controls above decorative image layers. */
.photo-hero .hero-slides,.photo-hero .hero-slide,.photo-hero .hero-slide img{pointer-events:none}
.photo-hero .hero-photo-ui{pointer-events:none;z-index:5}
.photo-hero .hero-photo-buttons,.photo-hero .hero-photo-control{pointer-events:auto;position:relative;z-index:6;touch-action:manipulation}

/* SPECDOCX specialist identity refinements */
.hero-specialist-intro{font-size:clamp(14px,1.15vw,17px)!important;line-height:1.65!important;max-width:570px;color:#405565;margin-top:14px!important;margin-bottom:22px!important}.spec-reference{font-weight:500;letter-spacing:.09em;opacity:.75}.specialist-contact{background:#e8eff4;border-top:1px solid #cddae3}.specialist-contact-inner{display:flex;justify-content:space-between;align-items:center;gap:36px}.specialist-contact-inner p{max-width:680px;line-height:1.75;color:#465969}.specialist-contact-inner .btn{white-space:nowrap}.project-evidence{border-left:3px solid #2464a0;background:#f0f5f8;padding:18px 24px;margin:25px 0 38px}.project-evidence p{line-height:1.7;margin:8px 0 0;color:#465969}@media(max-width:800px){.specialist-contact-inner{display:block}.specialist-contact-inner .btn{margin-top:18px;white-space:normal}.spec-reference{display:block;margin-top:6px}.hero-specialist-intro{font-size:15px!important}}

.portfolio-hero{padding:90px 0 65px;background:#f5f6f4}.portfolio-hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,5vw,65px);letter-spacing:-.05em;line-height:1.13}.portfolio-hero p{max-width:750px;line-height:1.7}.portfolio-meta{display:flex;gap:12px;flex-wrap:wrap}.portfolio-meta span{padding:9px 13px;background:#e8eff4;font-size:12px}.portfolio-layout{padding:65px 0 95px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:30px 0}.portfolio-grid figure{margin:0;background:#f5f6f4}.portfolio-grid img{display:block;width:100%;height:320px;object-fit:cover;cursor:zoom-in}.portfolio-grid figcaption{padding:12px;color:#526273;font-size:12px}.portfolio-note{border-left:3px solid #2464a0;background:#f0f5f8;padding:20px 24px;max-width:900px;line-height:1.7}.portfolio-back{display:inline-block;margin:24px 0;color:#2464a0;font-weight:700}.portfolio-dialog{border:0;padding:12px;background:#18232d;color:white;max-width:94vw;max-height:94vh}.portfolio-dialog::backdrop{background:rgba(0,0,0,.85)}.portfolio-dialog img{display:block;max-width:85vw;max-height:76vh;object-fit:contain}.portfolio-dialog button{float:right;background:transparent;color:white;border:0;font-size:25px;cursor:pointer}@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.portfolio-grid img{height:240px}}

/* Clean portfolio gallery: project name opens a full-screen photo viewer. */
.project-sector-list .project-inline-gallery{display:none!important}
.project-sector-list .project-name-trigger{font-size:inherit;white-space:normal;color:#2464a0}
.project-sector-list .project-name-trigger::after{content:"";display:none}
.project-sector-list li:has(.project-inline-gallery){padding:12px 0}
.project-photo-viewer{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0d141b;color:#fff;overflow:hidden}
.project-photo-viewer::backdrop{background:rgba(0,0,0,.92)}
.project-viewer-shell{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.project-viewer-figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 78px 72px;box-sizing:border-box}
.project-viewer-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.project-viewer-info{position:absolute;bottom:18px;left:80px;right:80px;display:flex;align-items:center;gap:14px;justify-content:center;font-size:12px;color:#c6d1d9;text-align:center}
.project-viewer-title{font-size:13px;color:#fff;font-weight:600}
.project-viewer-caption{color:#aabac6}
.project-viewer-counter{white-space:nowrap;opacity:.65}
.project-viewer-close,.project-viewer-arrow{position:absolute;z-index:2;border:0;background:rgba(23,34,44,.72);color:#fff;cursor:pointer;display:grid;place-items:center}
.project-viewer-close{right:20px;top:16px;width:48px;height:48px;font-size:36px;line-height:1;border-radius:50%}
.project-viewer-arrow{top:50%;transform:translateY(-50%);width:52px;height:68px;font-size:48px;border-radius:5px}
.project-viewer-prev{left:14px}.project-viewer-next{right:14px}
.project-viewer-arrow[hidden]{display:none}
.project-viewer-close:hover,.project-viewer-arrow:hover{background:rgba(56,84,105,.95)}
.project-viewer-close:focus-visible,.project-viewer-arrow:focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:700px){.project-viewer-figure{padding:70px 14px 96px}.project-viewer-arrow{width:40px;height:54px;font-size:38px;top:46%}.project-viewer-prev{left:4px}.project-viewer-next{right:4px}.project-viewer-close{right:12px;top:12px}.project-viewer-info{left:18px;right:18px;bottom:22px;flex-wrap:wrap;gap:5px 10px}.project-viewer-title{width:100%}.project-viewer-caption{font-size:11px}}

/* SPECDOCX design-to-built-form illustration */
.specdocx-feature-image{margin:0 0 38px;width:100%;background:#e9eff4;overflow:hidden;border:1px solid #d7e0e8}.specdocx-feature-image img{display:block;width:100%;height:auto;aspect-ratio:1193/772;object-fit:cover}.specdocx-feature-image figcaption{padding:12px 18px;color:#425568;font-size:13px;letter-spacing:.02em;background:#f5f8fa}@media(max-width:700px){.specdocx-feature-image{margin-bottom:25px}.specdocx-feature-image figcaption{font-size:12px}}

/* Increase SPECDOCX logo and subtitle legibility in the navigation */
.site-header .brand img{width:clamp(250px,24vw,305px);height:auto;max-width:100%;display:block}
.site-header .brand{flex-shrink:0}
@media(max-width:900px){.site-header .brand img{width:clamp(220px,38vw,265px)}}
@media(max-width:480px){.site-header .brand img{width:220px}}

/* Keep the location in the topbar without repeating the logo descriptor. */
.topbar .container{justify-content:flex-end}
.topbar .topbar-right{display:inline-block}
@media(max-width:650px){.topbar .container{justify-content:center;text-align:center;padding:8px 12px}.topbar .topbar-right{display:inline-block;font-size:9px;letter-spacing:.08em}}

/* Keep the wordmark and descriptor independently legible at all viewport widths. */
.site-header .brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex-shrink:0;text-decoration:none}
.site-header .brand img{display:block;width:clamp(250px,24vw,305px);height:auto;max-width:100%}
.site-header .brand-subtitle{display:block;color:#222B35;font-family:Arial,Helvetica,sans-serif;font-size:clamp(10px,0.88vw,11px);font-weight:600;letter-spacing:.01em;line-height:1.3;white-space:nowrap;text-transform:uppercase}
@media(max-width:900px){.site-header .brand img{width:clamp(220px,38vw,265px)}.site-header .brand-subtitle{font-size:10px}}
@media(max-width:480px){.site-header .brand img{width:220px}.site-header .brand-subtitle{font-size:9.5px;letter-spacing:0}}


/* SPECDOCX primary navigation: legibility and interactive feedback */
@media(min-width:761px){
  .site-header .nav-links > a:not(.nav-cta){
    display:inline-block;
    font-size:14px;
    transform:scale(1);
    transform-origin:center center;
    transition:transform .18s ease,color .18s ease;
  }
  .site-header .nav-links > a:not(.nav-cta):hover,
  .site-header .nav-links > a:not(.nav-cta):focus-visible{
    transform:scale(1.09);
    color:var(--blue);
  }
}
@media(max-width:760px){
  .site-header .nav-links > a:not(.nav-cta){font-size:14px;transition:color .18s ease,transform .18s ease;transform-origin:left center}
  .site-header .nav-links > a:not(.nav-cta):hover,
  .site-header .nav-links > a:not(.nav-cta):focus-visible{transform:scale(1.04);color:var(--blue)}
}
@media(prefers-reduced-motion:reduce){
  .site-header .nav-links > a:not(.nav-cta){transition:none}
}

/* SPECDOCX project inquiry */
.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-field select{display:block;width:100%;border:1px solid #cfd7db;background:#fff;padding:15px 16px;border-radius:0;color:var(--ink);font:inherit}.form-honeypot{position:absolute;left:-9999px;height:1px;overflow:hidden}.form-status{font-size:14px;line-height:1.5;min-height:20px}.form-status.is-success{color:#23623e;font-weight:600}.form-status.is-pending{color:#31566e;font-weight:600}.form-status.is-error{color:#a53030;font-weight:600}.form-note a{text-decoration:underline;color:var(--blue)}.form-field textarea{min-height:155px}@media(max-width:650px){.inquiry-grid{grid-template-columns:1fr}}

/* Specification sample and project stages */
.spec-sample-section{background:#fff}.spec-sample{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;border:1px solid #dce4e8;background:#f5f7f8;padding:35px}.spec-sample-intro h3{font:600 29px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.04em}.spec-sample-intro p{font-size:14px;line-height:1.8;color:#53616b}.spec-sample-note{font-size:12px!important}.spec-sample-document{background:#fff;border:1px solid #dce4e8}.spec-tabs{display:flex;border-bottom:1px solid #dce4e8}.spec-tab{flex:1;cursor:pointer;background:#f4f7f9;border:0;border-right:1px solid #dce4e8;padding:16px 9px;color:#324555;font:600 12px Manrope,Arial,sans-serif}.spec-tab.is-active{background:#fff;color:var(--blue);box-shadow:inset 0 3px var(--blue)}.spec-tab:hover{background:#e8f1f8}.spec-panel{padding:30px;min-height:235px}.spec-panel h4{font:600 22px/1.4 Manrope,Arial,sans-serif;margin:12px 0}.spec-panel li{font-size:14px;line-height:1.7;margin:8px 0;color:#435360}.spec-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.spec-timeline details{border:1px solid #d4dee4;background:#fff;padding:24px}.spec-timeline summary{display:flex;flex-wrap:wrap;align-items:start;gap:12px;cursor:pointer;list-style:none}.spec-timeline summary::-webkit-details-marker{display:none}.spec-timeline summary>span:first-child{color:var(--blue);font-size:12px;font-weight:700}.spec-timeline summary strong{font:600 17px/1.4 Manrope,Arial,sans-serif;flex:1}.timeline-plus{font-size:20px;color:var(--blue)}.spec-timeline details[open] .timeline-plus{transform:rotate(45deg)}.spec-timeline details p{font-size:13px;line-height:1.75;color:#53616b;margin-top:19px}@media(max-width:1000px){.spec-timeline{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.spec-sample{grid-template-columns:1fr;padding:20px;gap:20px}.spec-tabs{flex-wrap:wrap}.spec-tab{font-size:11px}.spec-timeline{grid-template-columns:1fr}}

/* SPECDOCX technical resources */
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.resource-card{border:1px solid #dce3e8;padding:30px;background:#fff}.resource-card>span{font-size:11px;color:var(--blue);font-weight:700;letter-spacing:.13em}.resource-card h3{font:600 23px Manrope,Arial,sans-serif;margin:15px 0}.resource-card p,.resource-comparison p{font-size:15px;line-height:1.75;color:#53616b}.resource-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px}.resource-comparison article{background:#fff;border:1px solid #dce3e8;padding:32px}.resource-comparison h3{font:600 27px Manrope,Arial,sans-serif}.resource-caveat{font-size:13px;color:#53616b;margin-top:20px}.resource-questions{max-width:960px}.resource-questions details{border-bottom:1px solid #dce3e8;padding:20px 0}.resource-questions summary{font-weight:700;font-size:17px;cursor:pointer}.resource-questions p{font-size:15px;line-height:1.8;color:#53616b}@media(max-width:760px){.resource-grid,.resource-comparison{grid-template-columns:1fr}}

/* Sector directory navigation */
.sector-jump{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 40px}.sector-jump a{border:1px solid #cddae2;background:#f3f7f9;color:#2a465b;font-size:12px;font-weight:700;padding:12px 15px;transition:background .2s,color .2s,transform .2s}.sector-jump a:hover,.sector-jump a:focus-visible{background:#2464a0;color:#fff;transform:translateY(-2px)}.project-sector{scroll-margin-top:115px}

/* Project portfolio: accessible, branded photo-pending page */
.coming-soon-section{padding-top:66px;padding-bottom:90px}.coming-soon-section>.container>.text-link{display:inline-block;margin:14px 0 28px}.coming-soon-panel{max-width:880px;margin:auto;background:#fff;border:1px solid #dbe3e8;text-align:center;padding:58px 35px 64px;box-shadow:0 12px 40px rgba(26,43,59,.055)}.coming-soon-panel h1{font-size:clamp(29px,4vw,45px);line-height:1.18;margin:15px auto 18px;max-width:740px}.coming-soon-message{font-size:clamp(22px,3vw,30px);font-weight:700;color:#285e8c;margin:0 0 16px}.coming-soon-detail{max-width:570px;margin:0 auto 29px;color:#52616c;line-height:1.75}.coming-soon-symbol{position:relative;width:120px;height:90px;border:3px solid #96adbd;border-radius:5px;margin:0 auto 28px;overflow:hidden;background:linear-gradient(#f3f8fa,#e4edf2)}.coming-soon-sun{position:absolute;width:22px;height:22px;top:16px;right:19px;background:#90b6d0;border-radius:50%}.coming-soon-mountain{position:absolute;bottom:-17px;left:18px;width:80px;height:80px;transform:rotate(45deg);border-radius:5px;background:#9eb8c8}.coming-soon-panel .btn{display:inline-flex;align-items:center;gap:14px}@media(max-width:600px){.coming-soon-panel{padding:38px 19px 45px}.coming-soon-section{padding-top:36px}}

/* Portfolio photo availability: clear, accessible visual hierarchy */
.project-sector-list .has-project-images{display:inline-flex;align-items:center;flex-wrap:wrap;gap:9px;padding:5px 9px 5px 10px;margin:1px 0 1px -10px;border-left:3px solid #2464a0;background:#edf5fa;border-radius:0 4px 4px 0;color:#154d7d;text-decoration:none;transition:background .2s,color .2s}.project-sector-list .has-project-images::after{content:"VIEW PHOTOS";display:inline-block;padding:4px 7px;border:1px solid #b4d0e3;border-radius:3px;background:#fff;color:#285e83;font:700 10px/1.2 Manrope,Arial,sans-serif;letter-spacing:.06em;white-space:nowrap}.project-sector-list .has-project-images:hover,.project-sector-list .has-project-images:focus-visible{background:#dbeef9;color:#123e62}.project-sector-list .has-project-images:hover::after,.project-sector-list .has-project-images:focus-visible::after{background:#2464a0;border-color:#2464a0;color:#fff}.project-sector-list .awaiting-project-images{font-weight:500;color:#596d7b;text-decoration:underline;text-decoration-color:#c6d1d8;text-underline-offset:3px}.project-sector-list .awaiting-project-images::after{content:" ↗";color:#8797a2}.project-sector-list .awaiting-project-images:hover,.project-sector-list .awaiting-project-images:focus-visible{color:#2464a0}.portfolio-image-key{display:flex;align-items:center;gap:9px 13px;flex-wrap:wrap;margin-top:18px!important;font-size:13px;line-height:1.55}.portfolio-image-key-available{display:inline-block;background:#edf5fa;border-left:3px solid #2464a0;padding:6px 10px;color:#154d7d;font-weight:700}.portfolio-image-key-pending{color:#60717e}@media(max-width:600px){.project-sector-list .has-project-images{gap:6px}.project-sector-list .has-project-images::after{font-size:9px}}

/* Portfolio image availability: keep the blue project highlight without the VIEW PHOTOS box */
.project-sector-list .has-project-images::after{content:none;display:none}

/* Temporary Canadian sourcing notice — homepage only */
.canadian-sourcing-notice{background:#eaf1f5;border-top:1px solid #d2dfe8;border-bottom:1px solid #c6d8e4;color:#263f51}.canadian-sourcing-notice[hidden]{display:none!important}.canadian-sourcing-notice-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:15px;padding-bottom:15px}.canadian-sourcing-notice-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px;font-size:13px;line-height:1.65}.canadian-sourcing-notice-copy strong{font-weight:800;color:#194b70;white-space:nowrap}.canadian-sourcing-notice-copy span{flex:1 1 410px}.canadian-sourcing-notice-copy a{font-weight:700;color:#165a8b;text-underline-offset:3px}.canadian-sourcing-notice-copy a:hover,.canadian-sourcing-notice-copy a:focus-visible{color:#0e3b60}.canadian-sourcing-notice-close{flex:0 0 34px;align-self:center;border:1px solid #b7ccd9;background:#fff;border-radius:4px;color:#35576c;font-size:24px;line-height:1;width:34px;height:34px;cursor:pointer}.canadian-sourcing-notice-close:hover,.canadian-sourcing-notice-close:focus-visible{background:#d9e8f1;outline-offset:2px}.canadian-sourcing-statement{border-top:1px solid #dce6eb;margin-top:28px;padding-top:16px}.canadian-sourcing-statement h2{scroll-margin-top:105px}@media(max-width:680px){.canadian-sourcing-notice-inner{align-items:flex-start;gap:12px;padding-top:13px;padding-bottom:14px}.canadian-sourcing-notice-copy{display:block;font-size:12px}.canadian-sourcing-notice-copy strong{display:block;margin-bottom:5px}.canadian-sourcing-notice-copy span{display:block}.canadian-sourcing-notice-copy a{display:inline-block;margin-top:6px}.canadian-sourcing-notice-close{flex-basis:32px;width:32px;height:32px}}

/* Sustainability expertise page and seven-item responsive navigation */
@media(max-width:1160px){.site-header .nav{min-height:70px}.site-header .menu-toggle{display:block}.site-header .nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px 22px 28px;box-shadow:0 18px 25px #1b2c3c18;flex-direction:column;align-items:stretch;gap:0;z-index:51}.site-header .nav-links.is-open{display:flex}.site-header .nav-links a{padding:15px 4px;border-bottom:1px solid var(--line)}.site-header .nav-cta{text-align:center;margin-top:15px}}
.sustainability-hero h1{max-width:960px}.sustainability-hero .lead{max-width:770px}.sustainability-opening{padding-bottom:85px}.sustainability-intro{max-width:1000px}.sustainability-intro p{font-size:17px;line-height:1.8;color:#4c5b68;max-width:960px}.sustainability-intro p strong{color:#273d4d}.sustainability-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:42px}.sustainability-pillars>div{background:#f0f5f8;border:1px solid #dce6ec;border-top:3px solid #2464a0;padding:27px 25px}.sustainability-pillars span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#2464a0}.sustainability-pillars h3{font:700 19px/1.3 Manrope,Arial,sans-serif;margin:14px 0 9px}.sustainability-pillars p{font-size:14px;line-height:1.7;color:#526473;margin:0}.sustainability-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;align-items:start}.sustainability-article{min-width:0}.sustainability-article h2{scroll-margin-top:110px}.sustainability-article ul{padding-left:24px;margin:12px 0 26px}.sustainability-article li{margin-bottom:11px;line-height:1.7;color:#4d5e69}.sustainability-frameworks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}.sustainability-framework{background:#fff;border:1px solid #dce5ea;border-left:3px solid #2464a0;padding:22px 21px}.sustainability-framework h3{font:700 17px/1.4 Manrope,Arial,sans-serif;margin:0 0 12px}.sustainability-framework p{font-size:14px;line-height:1.7;margin:0 0 15px}.sustainability-framework a{font-size:12px;font-weight:800;color:#2464a0;text-decoration:underline;text-underline-offset:3px}.sustainability-accordions{border-top:1px solid #cbd9e2;margin:24px 0}.sustainability-accordions details{border-bottom:1px solid #cbd9e2;padding:0 5px}.sustainability-accordions summary{list-style:none;display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:18px 6px;font-weight:700;color:#253f53}.sustainability-accordions summary::-webkit-details-marker{display:none}.sustainability-accordions summary span{font-size:22px;line-height:1;color:#2464a0}.sustainability-accordions details[open] summary span{transform:rotate(45deg)}.sustainability-accordions details p{margin:0 6px 19px;font-size:14px;line-height:1.75}.sustainability-aside{position:sticky;top:112px}.sustainability-aside-note{font-size:12px;line-height:1.65;color:#687b88;margin-top:20px}.sustainability-contact{display:inline-flex;margin-top:12px}.sustainability-resource-link{padding-bottom:70px}.sustainability-resource-link p{max-width:780px;line-height:1.7}.sustainability-resource-link .text-link{display:inline-block;margin-top:8px;color:#2464a0;font-weight:700}@media(max-width:1050px){.sustainability-layout{grid-template-columns:1fr;gap:30px}.sustainability-aside{position:static;display:none}}@media(max-width:760px){.sustainability-pillars{grid-template-columns:1fr}.sustainability-frameworks{grid-template-columns:1fr}.sustainability-opening{padding-bottom:60px}.sustainability-intro p{font-size:16px}.sustainability-pillars>div{padding:21px}}

/* Sustainability hero: original SPECDOCX green atrium photograph with brand-aligned navy overlay */
.visual-refresh .page-hero--image.sustainability-hero{min-height:510px}
.visual-refresh .page-hero--image.sustainability-hero:before{background-image:linear-gradient(90deg,rgba(13,29,43,.83) 0%,rgba(20,39,55,.72) 36%,rgba(24,43,56,.39) 68%,rgba(24,43,56,.12) 100%),var(--page-photo);background-size:cover,cover;background-position:center center,center 50%}
.visual-refresh .page-hero--image.sustainability-hero:after{opacity:.25}
.visual-refresh .page-hero--image.sustainability-hero .container{position:relative;z-index:1}
.visual-refresh .page-hero--image.sustainability-hero h1{text-shadow:0 2px 16px rgba(9,21,31,.32);max-width:920px}
@media(max-width:760px){.visual-refresh .page-hero--image.sustainability-hero{min-height:420px}.visual-refresh .page-hero--image.sustainability-hero:before{background-image:linear-gradient(90deg,rgba(13,29,43,.83),rgba(20,39,55,.61)),var(--page-photo);background-position:center center,42% center}}

/* SPECDOCX portfolio readability refinement - 2026-10-28 */
.project-directory-intro{max-width:1000px}
.project-directory-intro>p:not(.portfolio-image-key){font-size:17px;line-height:1.8;max-width:960px}
.project-directory-intro .portfolio-image-key{font-size:15px;line-height:1.65;gap:10px 16px;align-items:center;margin-top:22px!important}
.project-directory-intro .portfolio-image-key-available{font-size:14px;padding:7px 12px}
.project-evidence{padding:24px 30px}
.project-evidence p{font-size:17px;line-height:1.8;max-width:1040px}
.project-evidence .eyebrow{font-size:12px;letter-spacing:.15em}
.project-sector-list li{font-size:15px;line-height:1.65}
@media(max-width:760px){.project-directory-intro>p:not(.portfolio-image-key),.project-evidence p{font-size:16px;line-height:1.75}.project-directory-intro .portfolio-image-key{font-size:14px;gap:9px 12px}.project-evidence{padding:20px 22px}.project-sector-list li{font-size:15px}}

/* SPECDOCX sitewide body typography polish - 2026-10-28 */
/* Primary reading copy stays at 16px or larger; labels and navigation remain compact. */
.visual-refresh .service-card p,.visual-refresh .project-sector-intro p,.visual-refresh .spec-sample-intro p,.visual-refresh .spec-panel li,.visual-refresh .spec-timeline details p,.visual-refresh .resource-card p,.visual-refresh .resource-comparison p,.visual-refresh .resource-questions p,.visual-refresh .sustainability-pillars p,.visual-refresh .sustainability-framework p,.visual-refresh .sustainability-accordions details p,.visual-refresh .finder-answer p{font-size:16px;line-height:1.75}
.visual-refresh .gallery-intro,.visual-refresh .sustainability-resource-link p{font-size:17px;line-height:1.75}
.visual-refresh .footer p{font-size:15px;line-height:1.7}
@media(max-width:760px){.visual-refresh .service-card p,.visual-refresh .project-sector-intro p,.visual-refresh .spec-sample-intro p,.visual-refresh .spec-panel li,.visual-refresh .spec-timeline details p,.visual-refresh .resource-card p,.visual-refresh .resource-comparison p,.visual-refresh .resource-questions p,.visual-refresh .sustainability-pillars p,.visual-refresh .sustainability-framework p,.visual-refresh .sustainability-accordions details p,.visual-refresh .finder-answer p{font-size:16px;line-height:1.7}.visual-refresh .gallery-intro,.visual-refresh .sustainability-resource-link p{font-size:16px}}

/* First-visit SPECDOCX rebrand welcome overlay */
.rebrand-welcome[hidden]{display:none!important}
.rebrand-welcome{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(12px,3vw,34px);isolation:isolate}
.rebrand-welcome-backdrop{position:absolute;inset:0;background:rgba(10,20,30,.79);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:-1}
.rebrand-welcome-dialog{position:relative;width:min(850px,100%);max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#213746,#142735 85%);border:1px solid #54728a;box-shadow:0 32px 90px #07121b99;color:#f4f7fa;border-radius:10px;outline:none}
.rebrand-welcome-content{max-width:710px;margin:0 auto;padding:clamp(42px,6vw,76px) clamp(24px,6vw,65px) clamp(28px,4vw,52px);text-align:center}
.rebrand-welcome-eyebrow{margin:0 0 22px;color:#b3d2e5;font:700 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.2em}
.rebrand-welcome-logo{display:block;width:min(330px,75%);height:auto;max-height:90px;object-fit:contain;margin:0 auto 26px}
.rebrand-welcome-rule{width:66px;height:2px;background:#83b6d9;margin:0 auto 27px}
.rebrand-welcome h2{margin:0;color:#fff;font:700 clamp(27px,4vw,43px)/1.24 Manrope,Arial,sans-serif;letter-spacing:-.035em}
.rebrand-welcome h2 em{font-style:normal;color:#c2d9e9}
.rebrand-welcome-description{max-width:550px;margin:23px auto 27px;color:#d4e0e9;font:400 clamp(14px,1.6vw,17px)/1.75 Manrope,Arial,sans-serif}
.rebrand-welcome-explore{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:15px 24px;min-height:50px;border:0;border-radius:4px;background:#f7f9fb;color:#1c3546;font:800 14px/1.2 Manrope,Arial,sans-serif;cursor:pointer;transition:background .15s ease,transform .15s ease}
.rebrand-welcome-explore:hover,.rebrand-welcome-explore:focus-visible{background:#dcecf5;transform:translateY(-1px)}
.rebrand-welcome-signoff{margin:28px 0 0;color:#a8c0d2;font:500 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.015em}
.rebrand-welcome-close{position:absolute;top:15px;right:17px;z-index:2;display:grid;place-items:center;width:39px;height:39px;border:1px solid #6b8ba2;border-radius:4px;background:rgba(255,255,255,.06);color:#fff;font:300 30px/1 Arial,sans-serif;cursor:pointer}
.rebrand-welcome-close:hover,.rebrand-welcome-close:focus-visible{background:#46667e}
body.rebrand-welcome-open{overflow:hidden}
@media(max-width:600px){.rebrand-welcome{padding:12px}.rebrand-welcome-dialog{max-height:calc(100dvh - 24px)}.rebrand-welcome-content{padding:62px 22px 28px}.rebrand-welcome-eyebrow{font-size:10px;margin-bottom:18px}.rebrand-welcome-logo{width:min(240px,75%);margin-bottom:21px}.rebrand-welcome-rule{margin-bottom:22px}.rebrand-welcome h2{font-size:clamp(24px,7vw,32px)}.rebrand-welcome-description{margin:19px auto 22px;line-height:1.65}.rebrand-welcome-signoff{margin-top:22px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.rebrand-welcome-explore{transition:none}}
