@charset "UTF-8";
:root{--blue:#27457e;--navy:#19345e;--ink:#202e43;--muted:#586779;--gold:#966c34;--pale:#eaf4fb;--paper:#f8fafc;--line:#d9e1e9;--white:#fff;--radius:5px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.7 "Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}p,h1,h2,figure{margin:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a,button,summary{touch-action:manipulation}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;background:white;color:var(--blue);padding:12px 20px;z-index:50}.skip-link:focus{top:12px}.brand-banner{display:block;background:var(--blue)}.brand-banner img{width:100%;max-width:1680px;margin:auto}.navigation{display:flex;align-items:center;gap:36px;min-height:88px}.wordmark{font-size:19px;font-weight:750;color:var(--blue);letter-spacing:.03em;line-height:1.3}.wordmark span{display:block;margin-top:5px;font-size:8px;letter-spacing:.16em;font-weight:600}.primary-nav{display:flex;gap:36px;margin-left:auto;align-self:stretch}.primary-nav a{display:flex;align-items:center;font-size:14px;border-bottom:3px solid transparent;padding-top:3px}.primary-nav a:hover,.primary-nav [aria-current]{color:var(--blue);border-bottom-color:var(--gold)}.language-nav{display:flex;align-items:center;gap:11px;font-size:12px;color:var(--muted);margin-left:24px}.language-nav [aria-current]{color:var(--blue);font-weight:750}.hero{background:var(--pale);padding:64px 0 58px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.eyebrow{color:var(--blue);font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.6;margin-bottom:20px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.hero .eyebrow span{width:7px;height:7px;background:var(--gold);border-radius:100%}h1{font-size:clamp(36px,4.3vw,58px);font-weight:650;line-height:1.1;letter-spacing:-.045em;color:var(--navy);max-width:590px}h1 em{display:block;font-style:normal;color:var(--blue);font-weight:350}.hero-intro{font-size:17px;line-height:1.8;color:#475b71;margin-top:26px;max-width:510px}.hero-intro strong{font-weight:600}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-radius:var(--radius);font-size:13px;font-weight:650;line-height:1.5;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:white}.button-primary:hover{background:var(--navy)}.button-quiet{padding-inline:12px;color:var(--blue)}.button-quiet:hover{background:#dcebf6}.hero-note{font-size:11px;color:var(--muted);margin-top:28px;letter-spacing:.02em}.hero-visual{position:relative}.hero-visual>img{width:100%;aspect-ratio:1.22;object-fit:cover;object-position:center;box-shadow:20px 20px 0 #d8e7f2;border-radius:var(--radius)}.hero-visual figcaption{position:relative;margin:26px 0 0 0;font-size:12px;color:var(--navy);display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hero-visual figcaption>span:last-child{color:var(--muted)}.caption-line{height:1px;width:25px;background:var(--gold)}.section-heading{display:flex;gap:32px;justify-content:space-between;align-items:flex-end;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:clamp(26px,3vw,36px);color:var(--navy);font-weight:550;line-height:1.25;letter-spacing:-.03em}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.7;flex-shrink:0}.service-directory{padding-block:68px}.service-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;border-top:1px solid var(--line)}.service-index li{border-bottom:1px solid var(--line);min-width:0}.service-index a{display:flex;gap:14px;align-items:center;padding:22px 4px;min-height:96px;font-size:14px;line-height:1.45;color:var(--blue);transition:background .18s}.service-index a:hover{background:var(--pale)}.index-number{color:var(--gold);font-size:11px;font-weight:700;align-self:flex-start;margin-top:2px}.index-arrow{margin-left:auto;font-size:19px;align-self:center}.projects-band{background:var(--paper);border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6}.featured-services{padding-block:72px}.featured-services>.section-heading{margin-bottom:48px}.featured-service{padding-block:40px;border-top:1px solid var(--line);scroll-margin-top:28px}.featured-service:last-child{padding-bottom:0}.featured-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center}.featured-service:nth-of-type(2) .featured-copy{order:2}.featured-copy h2{font-size:30px;color:var(--navy);font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:13px 0 24px;max-width:470px}.service-number{font-size:10px;color:var(--gold);font-weight:750;letter-spacing:.13em}.service-number span{color:#a8b6c3;margin-inline:9px}.original-copy{padding-left:19px;margin:0 0 24px}.original-copy li{padding-left:4px;margin-bottom:12px;font-size:15px;color:#4a5b6f;line-height:1.8}.original-copy li::marker{color:var(--gold)}.text-link{display:inline-flex;align-items:center;gap:22px;color:var(--blue);font-size:12px;font-weight:700;padding-block:8px;border-bottom:1px solid #b8c7d7;line-height:1.5}.text-link:hover{border-bottom-color:var(--gold);color:var(--navy)}.project-photo{min-width:0}.gallery-link{display:block;position:relative;background:#e6ebf1;border-radius:var(--radius);overflow:hidden}.gallery-link>img{width:100%;height:auto;transition:filter .2s}.gallery-link:hover>img{filter:brightness(.94)}.photo-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:30px;height:30px;background:white;color:var(--blue);border-radius:50%;box-shadow:0 1px 10px #0002}.project-photo figcaption{margin-top:10px;font-size:10px;line-height:1.6;color:var(--muted)}.project-gallery{margin-top:24px}.project-gallery>summary{cursor:pointer;width:fit-content;color:var(--blue);font-size:13px;font-weight:650;padding:10px 0}.gallery-count{display:inline-block;margin-left:10px;font-size:10px;padding:2px 9px;border-radius:3px;background:#e6ecf3;color:#54657b;font-weight:400}.gallery-grid{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.gallery-grid .gallery-link{background:#e5eaf0;display:flex;align-items:center;min-height:160px}.gallery-grid img{max-height:320px;object-fit:contain}.everyday-services{padding-block:76px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;scroll-margin-top:28px}.card-image{position:relative;aspect-ratio:1.6;overflow:hidden;background:var(--pale)}.card-image img{width:100%;height:100%;object-fit:cover}.service-card:nth-child(2) .card-image img{object-position:center 58%}.service-card:nth-child(5) .card-image img{object-position:center 40%}.service-card:nth-child(6) .card-image img{object-position:center 38%}.card-number{position:absolute;left:20px;bottom:15px;background:var(--blue);color:white;padding:3px 11px;font-size:11px;border:1px solid #ffffff66;border-radius:2px}.card-copy{padding:27px 25px 28px;display:flex;flex-direction:column;flex:1}.card-copy h2{font-size:23px;line-height:1.25;letter-spacing:-.025em;color:var(--navy);font-weight:650;margin-bottom:13px}.card-copy p{font-size:13px;line-height:1.85;color:#526174;margin-bottom:13px}.card-copy .card-lead{color:var(--blue);font-weight:650;font-size:13px;line-height:1.6;margin-bottom:18px}.card-copy ul{margin:5px 0 23px;padding-left:16px;color:#526174;font-size:12px;line-height:1.8}.card-copy li{margin-bottom:5px;padding-left:2px}.card-copy li::marker{color:var(--gold)}.card-copy .text-link{margin-top:auto;align-self:flex-start}.photo-credits{font-size:11px;line-height:1.8;color:var(--muted);padding-top:24px}.photo-credits summary{cursor:pointer;width:fit-content}.photo-credits p{margin-top:10px;max-width:800px}.photo-credits a{text-decoration:underline}.contact-section{background:var(--blue);color:white;padding-block:66px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.contact-section .eyebrow{color:#ecce9e;margin-bottom:14px}.contact-section h2{font-size:clamp(32px,4vw,46px);font-weight:450;line-height:1.2;letter-spacing:-.03em}.contact-section p:not(.eyebrow){margin-top:22px;font-size:14px;color:#d9e6f7}.contact-options{display:flex;flex-direction:column;align-items:flex-start}.contact-phone{font-size:clamp(28px,3.5vw,43px);font-weight:600;letter-spacing:-.025em;line-height:1.3;display:flex;gap:30px;align-items:center}.contact-phone>span{font-size:28px;color:#ecd3ad}.contact-mobile{font-size:13px;margin-top:12px;color:#deebfa}.button-light{background:white;color:var(--blue);margin-top:28px;font-size:13px;max-width:100%;overflow-wrap:anywhere}.button-light:hover{background:var(--pale)}.site-footer{background:#162d51;color:#d8e2f2;padding-top:52px}.footer-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:70px}.footer-brand>img{width:172px;border-radius:2px}.footer-brand p{font-size:12px;margin-top:16px}.social-links{display:flex;gap:18px;font-size:11px;margin-top:17px}.site-footer h2{font-size:13px;line-height:1.5;font-weight:650;color:white;margin-bottom:20px}.footer-services{padding:0;margin:0;list-style:none;font-size:11px;line-height:1.7}.footer-services li{margin-bottom:7px}.site-footer a:hover{color:white;text-decoration:underline}.site-footer address{font-size:12px;font-style:normal;line-height:1.9}.site-footer address strong{font-weight:600;color:white}.footer-location{display:inline-flex;gap:24px;font-size:12px;margin-top:22px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff25;margin-top:40px;padding-block:22px;font-size:10px}.footer-bottom nav{display:flex;gap:20px}.lightbox{position:fixed;inset:0;width:min(1200px,96vw);max-height:96dvh;padding:18px 24px 20px;border:0;border-radius:5px;background:#122442;color:white;overflow:auto}.lightbox::backdrop{background:#0b1429e8}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.lightbox button{border:1px solid #ffffff55;background:transparent;color:white;cursor:pointer;min-height:44px;min-width:44px;border-radius:3px}.lightbox-close{padding:7px 14px;font-size:13px}.lightbox-close span{font-size:22px;margin-left:15px}.lightbox-stage{display:grid;grid-template-columns:44px 1fr 44px;gap:14px;align-items:center;margin-block:15px}.lightbox-stage>img{max-height:70dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}.lightbox-stage button{font-size:22px}.lightbox>p{text-align:center;font-size:12px;line-height:1.6;color:#d6e2f4}.lightbox button:hover{background:#ffffff18}body.gallery-open{overflow:hidden}
@media(min-width:1600px){.brand-banner img{height:210px;width:auto;max-width:100%}}
@media(max-width:1050px){.hero-grid{gap:36px}.hero-actions{gap:4px}.button{padding-inline:15px}.button-quiet{padding-inline:8px}.featured-layout{gap:36px}.featured-copy h2{font-size:27px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{gap:36px}.contact-grid{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.navigation{min-height:76px;gap:20px;flex-wrap:wrap;padding-block:18px}.wordmark{font-size:15px}.wordmark span{font-size:6.5px}.primary-nav{order:3;flex-basis:100%;gap:30px;margin-left:0;min-height:30px}.primary-nav a{font-size:13px;padding:6px 0 8px}.language-nav{margin-left:auto}.hero{padding:40px 0}.hero-grid{grid-template-columns:1fr;gap:35px}h1{font-size:46px;max-width:540px}.hero-intro{font-size:16px;margin-top:22px;max-width:none}.hero-note{margin-top:22px}.hero-visual{margin-right:12px}.hero-visual>img{aspect-ratio:1.65;box-shadow:12px 12px 0 #d8e7f2}.hero-visual figcaption{margin-top:24px;font-size:11px;gap:7px}.service-directory{padding-block:46px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:18px;font-size:12px}.section-heading>p br{display:none}.service-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.service-index a{font-size:13px;gap:10px;min-height:92px;padding-block:18px}.featured-services{padding-block:48px}.featured-services>.section-heading{margin-bottom:32px}.featured-layout{grid-template-columns:1fr;gap:25px}.featured-service{padding-block:30px}.featured-copy h2{font-size:28px;margin-block:12px 20px}.featured-service:nth-of-type(2) .featured-copy{order:0}.original-copy li{font-size:14px}.project-photo figcaption{font-size:10px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:18px}.everyday-services{padding-block:48px}.services-grid{gap:20px}.card-copy{padding:23px 20px}.card-copy h2{font-size:22px}.contact-section{padding-block:46px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-phone{font-size:37px}.contact-section h2{font-size:38px}.contact-options{padding-top:25px;border-top:1px solid #ffffff40}.site-footer{padding-top:36px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1;display:grid;grid-template-columns:130px 1fr;gap:0 26px;align-items:center}.footer-brand>img{grid-row:1/3;width:130px}.footer-brand p{margin:0}.social-links{margin-top:8px}.footer-bottom{flex-wrap:wrap;gap:16px;margin-top:30px;font-size:10px}.footer-bottom nav{order:3;flex-basis:100%;flex-wrap:wrap;gap:14px}.lightbox{width:100vw;padding:12px 10px;border-radius:0}.lightbox-stage{grid-template-columns:34px 1fr 34px;gap:6px}.lightbox-stage button{min-width:34px}.lightbox-stage>img{max-height:65dvh}}
@media(max-width:480px){h1{font-size:39px}.hero-actions{gap:8px}.button{padding:13px 15px;font-size:12px}.button-quiet{padding-left:5px}.hero-visual>img{aspect-ratio:1.35}.service-index{grid-template-columns:1fr;gap:0}.service-index a{min-height:64px;padding:16px 2px}.index-number{align-self:center;margin-top:0;min-width:20px}.index-arrow{font-size:18px}.services-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.7}.card-copy{padding:26px}.card-copy p{font-size:14px}.card-copy ul{font-size:13px}.card-copy h2{font-size:25px}.gallery-grid{grid-template-columns:1fr}.footer-grid{gap:32px 25px;grid-template-columns:1fr}.footer-brand{grid-column:auto;gap:0 18px}.footer-bottom{align-items:center}.footer-services{font-size:12px}.site-footer address{font-size:13px}.contact-phone{font-size:34px}.contact-section h2{font-size:35px}.hero-visual figcaption{line-height:1.5}.caption-line{width:18px}.hero-visual figcaption>span:last-child{margin-left:25px}.featured-copy h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.button:hover{transform:none}}
@media(max-width:760px){.brand-banner img{width:100%;height:100px;object-fit:cover;object-position:center}}
