@import url("tech-theme.css");
@import url("canadian-context.css");
@import url("system-detail.css");
@import url("product-document-options.css");
@import url("vibrant-theme.css");
@import url("company-profile.css");
@import url("formal-product-content.css");
/* Project portfolio: Canada first, then U.S., Australia and other regions. */
.project-region-nav button{padding:8px 12px;border:1px solid #cce4ff;background:#fff;color:#145fd8;cursor:pointer;font:800 .72rem Manrope;letter-spacing:.02em}.project-region-nav button:hover{background:#edf7ff}.project-region-nav button.is-active{border-color:#1469e8;background:#1469e8;color:#fff}.project-region-nav button:focus-visible{outline:3px solid rgba(56,189,248,.42);outline-offset:2px}
.project-region .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px;align-items:start}.project-region .project-card{overflow:hidden}.project-region .project-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.project-region .project-card>div{padding:18px 20px 20px}.project-region .project-card h3{font-size:1.3rem;line-height:1.12}.project-region .project-card .project-location{margin-top:8px;font-size:.8rem}.project-region .project-card .project-area{margin-top:13px;padding-top:11px;font-size:.72rem}.project-region .project-card .project-area span{font-size:.62rem}@media(max-width:640px){.project-region .project-gallery{grid-template-columns:1fr;gap:24px}.project-region .project-card h3{font-size:1.2rem}}
.project-region-nav{display:flex;flex-wrap:wrap;gap:9px;margin:-8px 0 38px}.project-region-nav a{padding:8px 12px;border:1px solid #cce4ff;background:#fff;color:#145fd8;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.02em}.project-region-nav a:hover{background:#edf7ff}.project-region{scroll-margin-top:96px}.project-region+.project-region{margin-top:66px;padding-top:58px;border-top:1px solid #cce4ff}.project-region-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:5vw;margin-bottom:23px}.project-region-heading h2{max-width:650px;margin:0;font-size:clamp(1.8rem,3.5vw,3rem)}.project-region-heading>p{max-width:400px;margin:0;color:var(--muted);font-size:.82rem}.project-card h3{margin:0;font-size:.9rem;letter-spacing:-.035em;line-height:1.15}.project-card .project-location{margin:5px 0 0;color:var(--muted);font-size:.68rem;line-height:1.35}.project-card .project-area{margin:9px 0 0;padding-top:8px;border-top:1px solid #d9edf8;color:#145fd8;font:500 .65rem "DM Mono",monospace;line-height:1.4}.project-card .project-area span{display:block;margin-bottom:2px;color:#618099;font:700 .58rem Manrope;letter-spacing:.06em;text-transform:uppercase}@media(max-width:760px){.project-region+.project-region{margin-top:48px;padding-top:42px}.project-region-heading{display:block}.project-region-heading>p{margin-top:14px}}
.site-header nav{gap:15px}.site-header nav a{white-space:nowrap;font-size:.7rem}.page-hero{padding:8vw 12vw 6vw;background:linear-gradient(110deg,#e8eee4,#f9f7ef);min-height:390px}.page-hero h1{max-width:900px;font-size:clamp(3rem,5vw,5.5rem)}.page-hero .hero-copy{max-width:750px}.home-section{padding:88px 8vw}.company-section{background:var(--sand)}.company-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.company-statement{padding:30px;background:var(--paper);font-size:1rem;color:var(--muted)}.company-statement .text-link{display:inline-block;margin-top:20px}.fact-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line)}.fact-grid div{display:flex;align-items:baseline;gap:16px;padding:19px 22px;background:#e6ebe4}.fact-grid strong{font-size:2rem;letter-spacing:-.07em;color:var(--pine)}.fact-grid span{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.pathway-section{background:#f8f7f2}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.path-grid a{min-height:205px;padding:25px;background:var(--paper);text-decoration:none;color:var(--ink);transition:background .2s}.path-grid a:hover{background:var(--leaf)}.path-grid span{font:500 .74rem "DM Mono",monospace;color:var(--pine)}.path-grid h3{margin:34px 0 10px;font-size:1.3rem}.path-grid p{margin:0;color:var(--muted);font-size:.79rem}.callout-section{background:var(--pine);color:white}.callout-section .eyebrow{color:var(--leaf)}.callout-section h2{max-width:720px;margin:0;font-size:clamp(2.2rem,4vw,3.7rem)}.callout-section>p:not(.eyebrow){max-width:700px;margin:20px 0 27px;color:#d1dfd8}.callout-section .button{background:var(--leaf);color:var(--ink)}.content-section{padding:85px 8vw;background:var(--paper)}.content-section.alt{background:var(--sand)}.content-section .section-intro{margin-bottom:32px}.content-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.content-columns p,.prose p{color:var(--muted);font-size:.93rem}.content-columns h3,.prose h3{font-size:1.55rem;margin:26px 0 10px}.content-columns h3:first-child,.prose h3:first-child{margin-top:0}.standards-note{padding:22px 25px;background:#e1ece4;border-left:4px solid var(--pine);font-size:.84rem}.support-steps{display:grid;gap:1px;background:var(--line)}.support-steps div{padding:20px 22px;background:var(--paper)}.support-steps span{font:500 .7rem "DM Mono",monospace;color:var(--pine)}.support-steps h3{margin:8px 0;font-size:1.3rem}.support-steps p{margin:0;color:var(--muted);font-size:.82rem}.case-note{margin-bottom:28px;padding:18px 20px;background:#e5e8dd;border-left:3px solid var(--pine);color:var(--muted);font-size:.82rem}.contact-standalone{margin:0;padding:0;border:0;background:none}.contact-standalone form{padding:24px;background:var(--paper)}.contact-standalone textarea{min-height:140px}.about-hero{background:linear-gradient(110deg,rgba(12,45,38,.95),rgba(12,45,38,.69)),url("assets/canada/vancouver-waterfront.jpg") center/cover;color:white}.about-hero .eyebrow,.about-hero .hero-copy{color:#f3f6ef}.about-hero .button{background:var(--leaf);color:var(--ink)}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.about-values article{padding:27px;background:var(--paper)}.about-values h3{font-size:1.45rem;margin:10px 0}.about-values p{margin:0;color:var(--muted);font-size:.82rem}.retrofit-hero{background:linear-gradient(100deg,rgba(7,29,25,.9),rgba(7,29,25,.45)),url("assets/canada/moraine-lake.jpg") center/cover;color:#fff}.retrofit-hero .eyebrow,.retrofit-hero .hero-copy{color:#f6f8f2}@media(max-width:1000px){.site-header nav{gap:9px}.site-header nav a{font-size:.63rem}.path-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-header nav{display:none}.page-hero{padding:26vw 7vw 15vw;min-height:440px}.home-section,.content-section{padding:62px 6vw}.company-grid,.content-columns,.about-values{grid-template-columns:1fr}.path-grid{grid-template-columns:1fr}.fact-grid{margin-top:10px}.content-columns{gap:35px}}
/* Project references use each supplied image at its natural aspect ratio and natural display size. */
.project-region .project-gallery{display:block;max-width:1200px;margin:0 auto}.project-region .project-card{width:fit-content;max-width:100%;margin:0 auto 56px}.project-region .project-card img{display:block;width:auto!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:initial!important}.project-region .project-card>div{padding:18px 20px 20px}.project-region .project-card h3{font-size:1.3rem;line-height:1.12}.project-region .project-card .project-location{margin-top:8px;font-size:.8rem}.project-region .project-card .project-area{margin-top:13px;padding-top:11px;font-size:.72rem}.project-region .project-card .project-area span{font-size:.62rem}@media(max-width:640px){.project-region .project-card{margin-bottom:38px}.project-region .project-card h3{font-size:1.2rem}}
/* The outer projectGallery is a content mount, not a grid item.  The inner gallery is explicitly forced into two generous desktop columns, then three only on wide displays. */
#projectGallery{display:block!important;max-width:none;margin:0}
@media(min-width:800px){#projectGallery>.project-region>.project-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 28px;max-width:none;align-items:start}#projectGallery>.project-region>.project-gallery>.project-card{width:100%;max-width:none;margin:0}#projectGallery>.project-region>.project-gallery>.project-card img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:initial!important}}
@media(min-width:1600px){#projectGallery>.project-region>.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:640px){.project-region .project-gallery{display:block;max-width:none;margin:0}.project-region .project-card{width:100%;max-width:none;margin:0 0 20px}.project-region .project-card img{width:auto!important;max-width:100%!important;height:auto!important;max-height:64vh;aspect-ratio:auto!important;object-fit:contain!important;margin:0 auto}.project-region .project-card>div{padding:14px 16px 16px}}
/* Project images retain their original aspect ratio. Desktop uses a wide adaptive grid; phones begin in a scrollable preview and open the selected image in a clear full-screen viewer. */
.project-image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.project-image-button:focus-visible{outline:3px solid #2aa8ed;outline-offset:3px}.project-image-dialog{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:clamp(18px,3vw,38px);border:0;background:rgba(7,31,54,.97);color:#fff}.project-image-dialog::backdrop{background:rgba(7,31,54,.72)}.project-image-dialog figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;margin:0}.project-image-dialog img{display:block;max-width:100%;max-height:calc(100svh - 104px);width:auto;height:auto;object-fit:contain}.project-image-dialog figcaption{max-width:92vw;color:#fff;font:600 .78rem Manrope;letter-spacing:.02em;text-align:center}.close-project-image{position:fixed;z-index:1;right:18px;top:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(7,31,54,.68);color:#fff;font:400 2rem/1 Manrope;cursor:pointer}.close-project-image:focus-visible{outline:3px solid #64c8ff;outline-offset:3px}@media(max-width:640px){.project-image-dialog{padding:16px}.project-image-dialog img{max-height:calc(100svh - 82px)}.project-image-dialog figcaption{font-size:.72rem}.close-project-image{right:12px;top:10px;width:40px;height:40px}.project-region .project-card:first-child{margin-top:0}.project-region .project-card:not(:last-child)::after{content:"";display:block;height:2px;margin:0 16px;background:linear-gradient(90deg,rgba(42,168,237,.38),transparent)}}
/* Centralized Canadian project inquiry: concise project context for professional users, with optional organization and phone details. */
.inquiry-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.contact-standalone form label{margin:0}.required-mark{color:#1478dd}.optional-label{color:#6b8497;font-size:.7rem;font-weight:600}.inquiry-needs{margin:20px 0;border:1px solid #cde4f8;padding:15px 16px}.inquiry-needs legend{padding:0 5px;color:#1b5d92;font-size:.78rem;font-weight:800}.inquiry-needs>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.inquiry-needs label{display:flex!important;align-items:flex-start;gap:8px;color:#4e6678;font-size:.74rem;font-weight:600;line-height:1.35}.inquiry-needs input{width:auto;min-width:14px;margin:2px 0 0;padding:0;accent-color:#1478dd}.contact-standalone textarea{margin-top:6px}@media(max-width:680px){.inquiry-form-grid,.inquiry-needs>div{grid-template-columns:1fr}.inquiry-needs{margin:17px 0}.contact-standalone form{padding:20px}}
.inquiry-confirmation{width:min(640px,calc(100vw - 34px));max-width:none;max-height:calc(100svh - 34px);overflow:auto;padding:34px;border:0;border-top:5px solid #1478dd;background:#fff;color:#173c59;box-shadow:0 26px 70px rgba(8,58,96,.28)}.inquiry-confirmation::backdrop{background:rgba(7,54,91,.52)}.inquiry-confirmation h2{max-width:510px;margin:8px 0 15px;font-size:clamp(1.8rem,4vw,2.45rem);letter-spacing:-.055em}.inquiry-confirmation p:not(.eyebrow){margin:0 0 21px;color:#5a7182;font-size:.9rem}.inquiry-confirmation .button{background:#1478dd}.inquiry-confirmation .close-inquiry-confirmation:first-child{position:absolute;right:13px;top:8px;border:0;background:none;color:#1478dd;font-size:1.8rem;line-height:1;cursor:pointer}.inquiry-confirmation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 24px;border:1px solid #cde4f8;background:#cde4f8}.inquiry-confirmation-summary>div{min-width:0;padding:12px 13px;background:#f9fcff}.inquiry-confirmation-summary .inquiry-summary-detail{grid-column:1/-1}.inquiry-confirmation-summary dt{margin:0 0 3px;color:#427391;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.inquiry-confirmation-summary dd{margin:0;color:#224d69;font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.inquiry-confirmation-actions{display:flex;flex-wrap:wrap;gap:11px}.inquiry-confirmation .button-secondary{border:1px solid #a6cdec;background:#fff;color:#176dba}@media(max-width:640px){.inquiry-confirmation{padding:28px 24px}.inquiry-confirmation h2{font-size:1.85rem}.inquiry-confirmation-summary{grid-template-columns:1fr}.inquiry-confirmation-summary .inquiry-summary-detail{grid-column:auto}.inquiry-confirmation-actions{display:grid;grid-template-columns:1fr}.inquiry-confirmation-actions .button{justify-content:space-between}}
.inquiry-confirmation{width:min(660px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:clamp(26px,4vw,40px);border:1px solid rgba(20,120,221,.19);border-top:4px solid #1478dd;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fbfdff 72%,#f2f9ff 100%);box-shadow:0 26px 80px rgba(7,58,96,.25)}
.inquiry-confirmation::backdrop{background:rgba(7,54,91,.5);backdrop-filter:blur(2px)}
.inquiry-confirmation-header{padding-right:42px}.inquiry-confirmation .eyebrow{margin-bottom:12px;color:#1478dd;font-size:.62rem;letter-spacing:.16em}.inquiry-confirmation h2{margin:0 0 13px;font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.065em}.inquiry-confirmation p.inquiry-confirmation-intro{max-width:540px;margin:0 0 24px;color:#5a7182;font-size:.88rem;line-height:1.62}.inquiry-confirmation-intro strong{color:#176dba}
.inquiry-confirmation .close-inquiry-confirmation:first-child{right:18px;top:18px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #c9e1f4;border-radius:50%;background:#f5fbff;color:#176dba;font-size:1.45rem;line-height:1;transition:background .18s ease,transform .18s ease}.inquiry-confirmation .close-inquiry-confirmation:first-child:hover{background:#e5f4ff;transform:rotate(90deg)}
.inquiry-confirmation-summary{gap:1px;margin:0;overflow:hidden;border:1px solid #d1e8fa;border-radius:12px;background:#d1e8fa;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.inquiry-confirmation-summary>div{padding:13px 15px;background:rgba(251,253,255,.96)}.inquiry-confirmation-summary dt{margin-bottom:4px;color:#4881a5;font-size:.6rem;letter-spacing:.09em}.inquiry-confirmation-summary dd{color:#224d69;font-size:.79rem;line-height:1.5}.inquiry-confirmation-summary .inquiry-summary-detail{padding-top:15px;padding-bottom:15px;background:#f5faff}
.inquiry-confirmation p.inquiry-confirmation-followup{margin:18px 0 23px;padding:0 0 0 14px;border-left:2px solid #89d0fb;color:#5a7182;font-size:.79rem;line-height:1.55}.inquiry-confirmation-actions{gap:10px}.inquiry-confirmation .button{border-radius:7px;box-shadow:0 7px 16px rgba(20,120,221,.19)}.inquiry-confirmation .button-secondary{border-color:#b9d9f1;background:#fff;color:#176dba;box-shadow:none}
@media(max-width:640px){.inquiry-confirmation{width:min(calc(100vw - 24px),660px);max-height:calc(100svh - 24px);padding:26px 22px;border-radius:14px}.inquiry-confirmation-header{padding-right:26px}.inquiry-confirmation h2{font-size:2rem}.inquiry-confirmation p.inquiry-confirmation-intro{font-size:.84rem}.inquiry-confirmation-summary{grid-template-columns:1fr}.inquiry-confirmation-summary .inquiry-summary-detail{grid-column:auto}.inquiry-confirmation-actions{display:grid;grid-template-columns:1fr}.inquiry-confirmation-actions .button{justify-content:space-between}}
.canadian-local-contact{margin-top:30px;padding:22px 22px 20px;border:1px solid #cfe6f8;border-radius:12px;background:linear-gradient(135deg,#f8fcff 0%,#eef8ff 100%);box-shadow:0 10px 24px rgba(19,99,160,.06)}.canadian-local-contact .eyebrow{margin-bottom:13px;color:#1478dd;font-size:.61rem}.canadian-local-contact>img{display:block;width:min(182px,72%);height:auto;margin:0 0 15px}.canadian-local-contact h4{margin:0;color:#173c59;font-size:1.16rem;letter-spacing:-.045em}.canadian-local-contact .canadian-local-contact-role{margin:3px 0 18px;color:#4d82a6;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.canadian-local-contact dl{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:0}.canadian-local-contact dl>div{min-width:0}.canadian-local-contact dt{margin:0 0 3px;color:#5c8baa;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.canadian-local-contact dd{margin:0;color:#2e526c;font-size:.75rem;line-height:1.48;overflow-wrap:anywhere}.canadian-local-contact a{color:#176dba;font-weight:700;text-decoration:none}.canadian-local-contact a:hover{text-decoration:underline}@media(max-width:680px){.canadian-local-contact{margin-top:24px;padding:20px}.canadian-local-contact dl{grid-template-columns:1fr}}
.canadian-support-contact{margin-top:0}.canadian-local-contact p.canadian-local-contact-copy{margin:0 0 17px;color:#587286;font-size:.78rem;line-height:1.55}.canadian-local-contact .text-link{display:inline-block;margin-top:20px;font-size:.75rem}
