:root{--navy:#152f3b;--red:#bd3d48;--ink:#203640;--paper:#f7f6f2;--muted:#64747b;--line:#d9dfdc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(1240px,calc(100% - 100px));margin:auto}.topbar{background:var(--navy);color:#e0e7e8;font-size:11px;letter-spacing:1.4px}.topbar .wrap{display:flex;justify-content:space-between;padding:9px 0}.topbar a{letter-spacing:.4px}.header{background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px}.brand svg{width:43px;color:var(--red)}.brand>span{font-size:29px;line-height:1.1;font-weight:800;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1.15px;margin-top:9px}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a:hover,.under-link:hover{color:var(--red)}.nav-contact{border:1px solid var(--ink);padding:12px 17px}.nav-contact span{margin-left:15px}.menu{display:none}.hero{background:#e8ece8}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.hero-copy{padding:64px 45px 23px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 26px;line-height:1.6}.eyebrow>span{display:inline-block;background:var(--red);width:7px;height:7px;margin-right:7px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.8px;line-height:1.08}h1{font-size:clamp(42px,4.6vw,68px);margin-bottom:26px}em{font-weight:400;color:var(--red)}.intro{font-size:16px;max-width:410px;color:#4b616b;line-height:1.8}.actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 23px;font-size:13px;font-weight:600}.button:hover{filter:brightness(.93)}.red{background:var(--red);color:white}.text-link{font-size:12px;border-bottom:1px solid #8c9b9c;padding:8px 0}.text-link span{margin-left:12px}.hero-foot{border-top:1px solid #c7d0cc;padding-top:22px;margin-top:auto;width:100%;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.1px}.hero-image{position:relative;margin-right:calc((min(1240px,100vw - 100px) - 100vw)/2);overflow:hidden;background:#4c676e}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:42% center;filter:brightness(.84)}.image-note{position:absolute;bottom:66px;left:35px;background:var(--paper);padding:24px 28px;max-width:80%}.image-note>span{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:12px}.image-note strong{font:32px/1.15 Georgia,serif}.image-index{position:absolute;bottom:24px;left:35px;color:white;font-size:9px;letter-spacing:1.5px}.service-strip{background:var(--navy);color:white}.service-strip>.wrap{display:flex;justify-content:space-between;align-items:center;padding:23px 0;gap:15px;font-size:12px}.service-strip i{font-style:normal;color:#ba6a6b;font-size:23px}.section{padding-top:100px;padding-bottom:100px}h2{font-size:56px;margin-bottom:24px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-copy{padding-top:28px;max-width:530px;color:var(--muted);font-size:15px}.lead{color:var(--ink);font-size:21px}.under-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;color:var(--ink);margin-top:25px}.expertise{background:#eeefea}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head>p{color:var(--muted);font-size:14px;max-width:350px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:var(--paper)}.card-image{height:240px;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .card-image img{transform:scale(1.035)}.card-image>span{position:absolute;bottom:0;left:0;background:var(--navy);color:white;padding:9px 17px;font-size:13px}.card-body{padding:29px}.card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.2}.card p,.card ul{font-size:13px;color:var(--muted)}.card ul{padding-left:16px;line-height:2}.card a{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:17px;margin-top:23px;font-size:13px}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.project{border:0;padding:0;position:relative;text-align:left;background:var(--navy);color:white;overflow:hidden;display:block;width:100%}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(9,29,38,.85));pointer-events:none}.project>span{position:absolute;bottom:25px;left:28px;right:28px;z-index:1}.project strong{font:27px Georgia,serif;display:block}.project small{display:block;font-size:9px;letter-spacing:1.7px;margin-top:9px}.project b{position:absolute;right:0;top:0;font-size:27px;font-weight:400}.project-large{height:545px}.project-large img{object-fit:contain;background:#dedfdc}.project-side{display:grid;gap:25px;grid-template-rows:260px 260px}.materials{border-top:1px solid var(--line);padding:40px 0}.materials-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.materials .eyebrow{margin-bottom:10px}.materials p:last-child{margin:0;font-size:18px;line-height:1.5}.logos{display:flex;align-items:center;gap:45px}.logos img{max-width:140px;height:45px;object-fit:contain}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:62px}.contact em{color:#e49091}.contact .eyebrow{color:#b5c5ca}.contact p{color:#c3ced1;font-size:14px}.contact-details{padding-top:30px}.phone{display:block}.phone small{font-size:10px;letter-spacing:2px;display:block;color:#b5c5ca;margin-bottom:12px}.phone>span{font:38px Georgia,serif}.email{display:flex;justify-content:space-between;border-bottom:1px solid #53636c;padding:22px 0;font-size:17px;overflow-wrap:anywhere}.address{display:flex;justify-content:space-between;gap:25px;padding:25px 0}.address a{font-size:12px;text-decoration:underline}.light{background:var(--paper);color:var(--navy)}footer{padding:35px 0;background:#102732;color:#c2cbd0;font-size:11px}footer>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:21px;letter-spacing:2px;color:white}.footer-brand span{display:block;font-size:10px;letter-spacing:.5px}footer p{margin:0}.legal-open{background:none;border:0;color:inherit;font-size:11px;padding:10px}dialog{border:0;background:var(--paper);color:var(--ink);padding:35px;max-width:min(90vw,850px);max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(8,24,32,.85)}dialog img{max-height:70vh;margin:auto}dialog p{margin:15px 0 0}.close{position:absolute;right:7px;top:2px;font-size:30px;border:0;background:var(--paper);color:var(--ink);width:36px;height:36px;line-height:1}#legal h2{font-size:35px;letter-spacing:-1px}#legal p{font-size:14px}#legal h3{margin-top:25px}.skip{position:absolute;left:10px;top:-80px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #df8790;outline-offset:5px}@media(min-width:1550px){.hero-image{margin-right:-90px}}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}nav{gap:18px}.nav-contact{padding:10px}.hero-grid{min-height:570px}.hero-image{margin-right:-24px}h1{font-size:49px}.hero-copy{padding-right:25px}.brand>span{font-size:25px}.brand small{font-size:7px}.card-body{padding:22px}.cards{gap:16px}.phone>span{font-size:30px}.contact-grid{gap:35px}}@media(max-width:780px){.topbar .wrap{justify-content:center}.topbar a{display:none}.nav{height:80px}.menu{display:flex;gap:15px;border:0;background:none;color:var(--navy);font-size:13px}.menu span{font-size:20px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 10px 15px #152f3b15;flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:42px 0 30px}.hero h1{font-size:52px}.hero .eyebrow{max-width:300px;font-size:9px}.hero-foot{margin-top:35px}.hero-image{height:340px;margin:0 -24px}.image-note{bottom:48px;left:24px;padding:18px 22px}.image-note strong{font-size:27px}.image-index{left:24px;bottom:16px}.service-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:12px;padding:20px 0}.service-strip i{display:none}.section{padding-top:65px;padding-bottom:65px}h2{font-size:43px;letter-spacing:-1.8px}.about{grid-template-columns:1fr;gap:0}.about-copy{padding-top:0}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.cards{grid-template-columns:1fr;gap:25px}.card-image{height:240px}.card-body{padding:26px}.project-grid{grid-template-columns:1fr}.project-large{height:350px}.project-side{grid-template-rows:250px 250px}.materials-inner{flex-direction:column;align-items:flex-start;gap:26px}.logos{gap:30px}.logos img{height:38px;max-width:120px}.contact-grid{grid-template-columns:1fr;gap:15px}.contact h2{font-size:47px}.contact-details{padding-top:0}.phone>span{font-size:33px}.email{font-size:15px}.address{flex-wrap:wrap}footer>.wrap{flex-wrap:wrap;align-items:flex-start}.footer-brand{width:100%}dialog{padding:30px 18px}html{scroll-padding-top:85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


#cookies{width:min(620px,calc(100vw - 36px));padding:48px;border-top:5px solid var(--red)}#cookies h2{font-size:40px;letter-spacing:-1.5px}#cookies p{font-size:14px;line-height:1.7}#cookies .eyebrow{font-size:10px}#cookies .cookie-small{font-size:11px;color:var(--muted);margin-top:20px}.cookie-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.cookie-choice{background:var(--navy);border:1px solid var(--navy);color:white;flex:1;justify-content:center;text-align:center;font-size:12px;min-width:190px}.cookies-open{border:0;background:none;color:inherit;font-size:11px;padding:10px}@media(max-width:600px){#cookies{padding:38px 23px 25px}#cookies h2{font-size:32px}.cookie-actions{flex-direction:column}}
