:root{--red:#db0035;--red-dark:#b7002c;--turquoise:#16b8ba;--teal:#007c80;--ink:#252b2e;--gray:#626b70;--line:#dfe5e6;--soft:#f3f6f6;--white:#fff;--radius:8px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;font-size:16px;line-height:1.65}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.14}h1{font-size:clamp(2.4rem,5.3vw,4.65rem);letter-spacing:-.045em;font-weight:700}h2{font-size:clamp(1.8rem,3.5vw,2.75rem);letter-spacing:-.035em}h3{font-size:1.18rem;letter-spacing:-.015em}.wrap{width:min(1220px,calc(100% - 80px));margin:auto}.skip{position:absolute;left:20px;top:-100px;background:white;padding:15px;z-index:50}.skip:focus{top:10px}.topline{background:var(--ink);color:white;font-size:.8125rem}.topline .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}.topline a{text-decoration:none}.site-header{background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:112px}.brand{display:block;flex-shrink:0}.brand img{width:260px;height:auto}.desktop-nav{display:flex;align-items:center;gap:23px}.desktop-nav a{font-size:.875rem;text-decoration:none;padding:10px 0;white-space:nowrap;font-weight:600}.desktop-nav a:hover{color:var(--teal)}.desktop-nav a[aria-current=page]{color:var(--red);border-bottom:2px solid var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;min-height:48px;border:1px solid transparent;background:var(--red);color:white;text-decoration:none;border-radius:4px;font-size:.875rem;font-weight:700;line-height:1.4}.btn:hover{background:var(--red-dark)}.btn.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:var(--soft)}.menu-button{display:none;border:1px solid var(--line);background:white;padding:11px 16px;min-height:44px;border-radius:4px;font-size:.875rem}.mobile-nav{border-top:1px solid var(--line);padding:12px 24px 20px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:10px 6px;font-size:.9375rem;text-decoration:none}.mobile-nav a[aria-current=page]{color:var(--red);font-weight:700}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:70px;align-items:center;padding-top:66px;padding-bottom:62px}.eyebrow{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:700;margin-bottom:20px}.hero h1 span{color:var(--red)}.hero-description{margin-top:25px;color:var(--gray);max-width:470px;font-size:1.0625rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-photo{position:relative}.hero-photo>img{width:100%;height:465px;object-fit:cover;border-radius:var(--radius)}.photo-caption{position:absolute;bottom:18px;left:18px;right:18px;background:rgba(255,255,255,.95);padding:13px 17px;border-left:4px solid var(--turquoise);font-size:.875rem}.photo-caption small{display:block;color:var(--gray);font-size:.75rem;margin-top:2px}.facts{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:25px;padding-bottom:25px}.fact{font-size:.9375rem;display:flex;align-items:center;gap:12px}.fact .check{display:flex;align-items:center;justify-content:center;color:var(--teal);background:#e0f0ef;width:28px;height:28px;border-radius:50%;flex-shrink:0}.section{padding-top:78px;padding-bottom:78px}.section-header{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:35px}.section-header h2{max-width:650px}.text-link{font-size:.9375rem;color:var(--teal);font-weight:700;text-underline-offset:5px;white-space:nowrap}.intro-copy{color:var(--gray);max-width:740px;margin-top:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service{border-top:3px solid var(--turquoise);padding-top:25px}.service-number{color:var(--teal);font-size:.8125rem;font-weight:700;margin-bottom:14px;display:block}.service p{color:var(--gray);font-size:.9375rem;margin-top:14px}.service a{display:inline-block;margin-top:16px;font-size:.875rem;font-weight:700;color:var(--teal);text-underline-offset:4px}.soft{background:var(--soft)}.image-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}.image-card{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;background:var(--line)}.image-card img{width:100%;height:290px;object-fit:cover;transition:transform .2s}.image-card:hover img{transform:scale(1.025)}.image-card figcaption{padding:17px;background:white;font-size:.9375rem}.about-preview{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-preview img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius)}.about-preview p{color:var(--gray);margin-top:20px}.about-preview .btn{margin-top:24px}.mission{background:var(--ink);color:white;padding:45px 0;border-top:5px solid var(--turquoise)}.mission-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.mission h2{font-size:clamp(1.7rem,3vw,2.1rem);max-width:580px}.mission blockquote{margin:0;border-left:1px solid #576065;padding-left:35px;font-size:1.125rem}.mission cite{display:block;margin-top:10px;font-size:.8125rem;font-style:normal;color:#d3d9dc}.contact-banner{display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-banner p{color:var(--gray);margin-top:16px;max-width:670px}.site-footer{background:var(--soft);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:60px;padding-top:48px;padding-bottom:38px}.footer-brand img{width:250px;background:white;padding:7px;border-radius:3px}.footer-brand p{font-size:.875rem;color:var(--gray);margin-top:17px;max-width:290px}.footer-grid h3{font-size:1rem;margin-bottom:15px}.footer-grid p,.footer-grid a{font-size:.875rem}.footer-grid a{text-underline-offset:3px}.footer-grid .footer-links{display:grid;gap:8px}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;padding-bottom:22px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.8125rem;color:var(--gray)}.footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom a,.print-button{font-size:.8125rem;text-decoration:none;color:inherit}.print-button{border:0;background:none;padding:0}.page-hero{background:var(--soft);padding:55px 0 48px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.75rem);max-width:1000px}.page-hero .eyebrow{margin-bottom:16px}.page-hero p:not(.eyebrow){color:var(--gray);max-width:720px;margin-top:20px;font-size:1.0625rem}.breadcrumb{font-size:.8125rem;color:var(--gray);margin-bottom:25px}.breadcrumb a{text-underline-offset:4px}.content-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:60px;align-items:start}.prose{max-width:820px;overflow-wrap:anywhere}.prose p{margin-bottom:20px}.prose h2,.prose h3,.prose h4{margin:34px 0 18px;line-height:1.3}.prose h2{font-size:1.7rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1.1rem}.prose ul,.prose ol{padding-left:25px;margin:20px 0}.prose li{margin:8px 0}.prose a{color:var(--teal);text-underline-offset:4px}.prose strong{font-weight:700}.prose img{border-radius:var(--radius);margin-top:25px;margin-bottom:25px}.contact-box{background:var(--soft);padding:27px;border-radius:var(--radius);border-top:3px solid var(--turquoise)}.contact-box h3{margin-bottom:18px}.contact-box p{font-size:.9375rem;margin:12px 0}.contact-box a{color:var(--teal);text-underline-offset:4px}.contact-box .btn{color:white;width:100%;margin-top:10px}.contact-box img{margin-bottom:20px;border-radius:4px}.services-grid{row-gap:43px;margin-top:40px}.reference-section{margin-top:40px}.reference-section h2{font-size:1.75rem;margin-bottom:22px}.reference-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;list-style:none;padding:0;margin:0}.reference-list li{border-top:1px solid var(--line);padding:18px 0;font-size:.9375rem;line-height:1.7;overflow-wrap:anywhere}.reference-list li:first-child{border-top:2px solid var(--turquoise)}.suppliers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.suppliers a{border:1px solid var(--line);padding:19px 17px;border-radius:4px;font-size:.9375rem;overflow-wrap:anywhere;text-underline-offset:4px}.gallery-grid{columns:3;column-gap:22px}.gallery-card{display:inline-block;width:100%;margin:0 0 22px;border:0;padding:0;text-align:left;background:var(--soft);border-radius:var(--radius);overflow:hidden;color:var(--ink)}.gallery-card img{width:100%;height:auto;min-height:120px;transition:opacity .2s}.gallery-card:hover img{opacity:.88}.gallery-card span{display:block;padding:14px 16px;font-size:.875rem}.lightbox{border:0;padding:0;max-width:min(1100px,92vw);max-height:92vh;border-radius:var(--radius);background:var(--white);color:var(--ink)}.lightbox::backdrop{background:rgba(15,20,23,.85)}.lightbox-content img{max-height:72vh;max-width:100%;object-fit:contain;margin:auto;background:var(--soft)}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px}.lightbox-bar p{font-size:.9375rem}.lightbox-controls{display:flex;gap:10px;flex-wrap:wrap}.lightbox-controls button{min-height:44px;padding:9px 13px;background:var(--soft);border:1px solid var(--line);border-radius:4px;font-size:.875rem}.contact-page{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.contact-details{margin-top:28px}.contact-row{padding:17px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:145px 1fr;gap:24px}.contact-row dt{color:var(--gray);font-size:.875rem}.contact-row dd{margin:0;font-weight:600;overflow-wrap:anywhere}.contact-row a{color:var(--ink);text-underline-offset:4px}.location-photo img{width:100%;height:380px;object-fit:cover;border-radius:var(--radius)}.location-photo figcaption{font-size:.875rem;color:var(--gray);padding-top:12px}.route-panel{background:var(--soft);padding:30px;border-radius:var(--radius);border-left:4px solid var(--turquoise)}.route-panel p{margin:17px 0}.site-map{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.site-map a{display:block;padding:18px;background:var(--soft);font-size:1rem;color:var(--ink);text-underline-offset:4px}.prose hr{border:0;border-top:1px solid var(--line);margin:25px 0}
.service-group{margin-top:55px;padding-top:35px;border-top:1px solid var(--line);scroll-margin-top:24px}.service-group:first-of-type{padding-top:0;border-top:0}.service-group h2{font-size:clamp(1.6rem,3vw,2.2rem)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-single{max-width:780px}
.prose .company-reasons{list-style:none;padding:0;margin:24px 0 32px}.prose .company-reason{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:start;border-top:1px solid var(--line);padding:22px 0;margin:0}.prose .company-reason:first-child{border-top:0;padding-top:0}.company-reason-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e0f0ef;color:var(--teal);border-radius:50%;font-size:1rem;font-weight:700;line-height:1}.prose .company-reason h3{font-size:1.0625rem;line-height:1.35;margin:0 0 8px}.prose .company-reason p{margin:0;color:var(--gray);line-height:1.65}
.mobile-nav .legal-link{grid-column:1/-1;border-top:1px solid var(--line);margin-top:8px;padding-top:14px;color:var(--gray)}
.mission-feature{padding:64px 0;border-top:0}.mission-feature .mission-inner{grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:72px}.mission-feature .mission-goal .eyebrow{color:#7ee0e1;font-size:.875rem;letter-spacing:.16em;margin-bottom:22px}.mission-feature .mission-goal h2{max-width:660px;font-size:clamp(2.1rem,3.9vw,3.4rem);line-height:1.17;letter-spacing:-.035em}.mission-feature .mission-goal h2 span{color:#7ee0e1}.mission-feature .statement-quote{border-left:1px solid #586164;padding-left:48px}.statement-lead{font-size:1.0625rem;color:#e1e7e8;line-height:1.5}.statement-word{font-size:clamp(5.8rem,10.5vw,9rem);font-weight:700;line-height:.95;letter-spacing:-.065em;margin:16px 0 20px;color:white}.statement-word span{color:#7ee0e1}.mission-feature .statement-quote cite{font-size:.8125rem;letter-spacing:.015em;color:#d3d9dc}
@media(max-width:990px){.mission-feature .mission-inner{gap:36px}.mission-feature .statement-quote{padding-left:28px}}
@media(max-width:700px){.mission-feature{padding:42px 0}.mission-feature .mission-inner{grid-template-columns:1fr;gap:30px}.mission-feature .mission-goal h2{font-size:clamp(1.9rem,6.6vw,2.65rem);max-width:540px}.mission-feature .statement-quote{border-left:0;border-top:1px solid #586164;padding:28px 0 0}.statement-word{font-size:clamp(5.8rem,22vw,8rem);margin:12px 0 16px}.mission-feature .mission-goal .eyebrow{margin-bottom:18px}}
@media(max-width:700px){.grid2{grid-template-columns:1fr}.service-group{margin-top:40px;padding-top:30px}}
@media(max-width:1120px){.wrap{width:min(1220px,calc(100% - 56px))}.desktop-nav{gap:16px}.desktop-nav a{font-size:.8125rem}.brand img{width:218px}.header-inner{gap:18px;min-height:96px}.header-contact{padding:12px 17px}.hero{gap:40px}.hero-photo>img{height:420px}.footer-grid{gap:35px}.about-preview{gap:40px}}
@media(max-width:990px){.desktop-nav,.header-contact{display:none}.menu-button{display:block}.brand img{width:240px}.hero{gap:30px;padding-top:45px;padding-bottom:45px}.hero-photo>img{height:380px}.hero h1{font-size:3.2rem}.content-layout{grid-template-columns:1fr;gap:35px}.contact-box{max-width:none}.content-layout .contact-box{display:none}.gallery-grid{columns:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.mission-inner{gap:30px}.contact-page{gap:40px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.topline .wrap{justify-content:center;padding-top:8px;padding-bottom:8px}.topline .office-hours{display:none}.header-inner{min-height:92px}.brand img{width:215px}.hero{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:38px}.hero h1{font-size:clamp(2.7rem,10.5vw,3.6rem)}.hero-description{margin-top:22px;font-size:1rem}.hero-photo>img{height:300px}.facts-inner{grid-template-columns:1fr;gap:13px;padding-top:22px;padding-bottom:22px}.section{padding-top:48px;padding-bottom:48px}.section-header{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:28px}.grid3{grid-template-columns:1fr;gap:30px}.image-grid{grid-template-columns:1fr;gap:20px}.image-card img{height:280px}.about-preview{grid-template-columns:1fr;gap:30px}.about-preview img{height:280px}.mission-inner{grid-template-columns:1fr;gap:28px}.mission blockquote{padding-left:22px}.contact-banner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:30px;padding-top:35px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:13px}.page-hero{padding:35px 0}.breadcrumb{margin-bottom:20px}.reference-list{grid-template-columns:1fr}.suppliers{grid-template-columns:1fr}.gallery-grid{column-gap:14px}.gallery-card{margin-bottom:14px}.gallery-card span{font-size:.8125rem;padding:12px}.contact-page{grid-template-columns:1fr;gap:30px}.contact-row{grid-template-columns:1fr;gap:5px}.location-photo{margin:0}.location-photo img{height:300px}.site-map{grid-template-columns:1fr}.lightbox-bar{flex-direction:column;align-items:flex-start}.services-grid{gap:30px}.eyebrow{font-size:.75rem;margin-bottom:16px}}
@media(max-width:380px){.brand img{width:190px}.menu-button{padding:10px 12px}.header-inner{gap:12px}.gallery-grid{columns:1}.actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.mission-feature .mission-goal h2 span,.statement-word,.statement-word span,.statement-lead{color:black}.mission-feature{padding:22px 0}.statement-word{font-size:48pt}}
@media print{.topline,.site-header,.site-footer,.contact-banner,.actions,.lightbox,.skip{display:none!important}.wrap{width:100%}.section{padding:20px 0}.hero{padding:20px 0;gap:25px}.hero-photo>img{height:220px}.page-hero{padding:20px 0}.prose,.content-layout{max-width:100%;display:block}.gallery-grid{columns:3}.gallery-card{break-inside:avoid}.service,.reference-list li{break-inside:avoid}body{font-size:11pt;color:black}.page-hero h1,h1{font-size:28pt}h2{font-size:20pt}a{color:black}.mission{background:white;color:black;border-top:1px solid gray}.mission cite{color:black}.contact-box{display:none!important}}

/* Brand introduction: hidden without JavaScript, capped while assets load. */
.site-loader{position:fixed;inset:0;z-index:1000;background:#fff;display:grid;place-items:center;padding:32px 24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility .4s;overflow:auto}
html.intro-loading .site-loader{opacity:1;visibility:visible;pointer-events:auto}
html.intro-loading{overflow:hidden}
.loader-content{width:min(100%,520px);margin:auto;text-align:center}
.loader-logo{width:clamp(240px,65vw,360px);height:auto;margin:0 auto 44px}
.loader-lead{font-size:clamp(1rem,3.8vw,1.25rem);line-height:1.5;color:var(--gray)}
.loader-word{font-weight:700;font-size:clamp(5.5rem,24vw,8rem);line-height:1.05;letter-spacing:-.065em;color:var(--ink);margin:10px 0 30px}
.loader-word span{color:var(--red)}
.loader-line{width:min(210px,65%);height:3px;margin:auto;background:var(--line);overflow:hidden;border-radius:3px}
.loader-line span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--red) 0 48%,var(--turquoise) 52% 100%);transform-origin:left;animation:loader-build 1.4s ease-in-out infinite}
.loader-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes loader-build{0%{transform:scaleX(.08);opacity:.45}65%,100%{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}.loader-line span{animation:none;transform:none}}
@media print{.site-loader{display:none!important}html.intro-loading{overflow:visible}}

.visitor-counter{display:flex;align-items:center;gap:9px;margin:0;font-size:.8125rem;line-height:1.6}.visitor-counter[hidden]{display:none}.visitor-counter-total{font-weight:700;font-variant-numeric:tabular-nums;color:var(--teal)}

.counter-feature{background:white;border-top:4px solid var(--red);border-bottom:1px solid var(--line);padding:45px 0}.counter-feature[hidden]{display:none}.counter-feature-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:45px}.counter-feature .eyebrow{margin-bottom:14px}.counter-feature h2{font-size:clamp(1.8rem,3vw,2.5rem);max-width:400px}.counter-feature-stat{border-left:3px solid var(--turquoise);padding-left:40px;min-width:0}.counter-feature-number{color:var(--red);font-weight:700;font-size:clamp(1.5rem,calc(44vw / var(--counter-characters,9)),6.75rem);line-height:1.12;letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.counter-feature-label{font-size:1rem;color:var(--gray);margin-top:12px;line-height:1.5}
@media(max-width:700px){.counter-feature{padding:35px 0}.counter-feature-inner{grid-template-columns:1fr;gap:25px}.counter-feature-stat{border-left:0;border-top:2px solid var(--turquoise);padding:22px 0 0}.counter-feature-number{font-size:clamp(1.25rem,calc(135vw / var(--counter-characters,9)),5.75rem)}}
@media print{.counter-feature{padding:20px 0}.counter-feature-number{color:black;font-size:30pt}}
