:root{--navy:#073454;--green:#306d27;--ink:#173349;--muted:#566671;--pale:#f0f4f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #78a747;outline-offset:5px}.topline{background:var(--navy);color:white;padding:9px 5%;font-size:12px;letter-spacing:1.6px;display:flex;justify-content:space-between}.topline span{letter-spacing:.4px}header{height:105px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e3e9ec;background:#fff}.brand{height:95px;width:120px;display:block}.brand img{width:100%;height:100%;object-fit:contain}nav{display:flex;gap:38px;font-size:15px;font-weight:600}.navcall{font-weight:700;color:var(--green);font-size:18px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--pale)}.hero-copy{padding:85px 8% 55px 10%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--green);margin:0 0 24px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-1.6px;margin:0 0 26px}h1{font-size:clamp(42px,4.5vw,72px)}h1 em{font-weight:400;color:var(--green)}h2{font-size:clamp(35px,3.6vw,53px)}h3{line-height:1.3}.intro{color:var(--muted);max-width:480px;font-size:18px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);padding:15px 24px;color:#fff;font-size:15px;font-weight:700;border:1px solid transparent;border-radius:3px;min-height:52px}.button:hover{filter:brightness(1.1)}.text-link{font-size:15px;font-weight:700;border-bottom:1px solid var(--ink)}.hero-note{display:flex;gap:26px;font-size:11px;letter-spacing:2px;margin-top:55px;color:var(--muted)}.hero-image{position:relative;min-height:460px;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.photo-note{position:absolute;bottom:30px;left:30px;right:30px;background:#ffffffed;padding:17px 22px;font-family:Georgia,serif;font-size:21px}.section{padding:90px 7%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:44px}.section-head h2{margin-bottom:0}.section-head>p{max-width:380px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d8e1e5}.service-grid article{padding:28px 25px 10px 0}.service-grid article+article{padding-left:25px;border-left:1px solid #d8e1e5}.number{font-size:14px;color:var(--green)}.service-grid h3{font-size:22px;margin:22px 0 16px}.service-grid p{font-size:16px;color:var(--muted)}.work{background:var(--pale)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.project{text-align:left;background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}.project-img{position:relative;overflow:hidden;background:#e1e8e4}.project-img img{display:block;width:100%;height:470px;object-fit:contain;transition:transform .3s}.project:hover img{transform:scale(1.02)}.project-img span{position:absolute;left:16px;top:16px;background:#fff;padding:6px 12px;font-size:11px;font-weight:bold;letter-spacing:1.4px}.project h3{font-size:19px;font-weight:500;display:flex;justify-content:space-between;margin:16px 0 0}.project small{color:var(--green)}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}.about-mark img{width:100%;max-width:390px;display:block;margin:auto}.about p:not(.eyebrow){color:var(--muted)}.about strong{font-size:16px;color:var(--green)}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.contact .eyebrow{color:#b2d695}.contact p:not(.eyebrow){color:#d4e1e8}.contact h2{font-size:48px}.contact-details{padding-top:8px}.contact-label{font-size:12px;letter-spacing:2px;margin-bottom:8px}.phone{display:block;font-family:Georgia,serif;font-size:36px;line-height:1.5}.phone.secondary{font-size:29px;color:#d4e1e8;margin-bottom:27px}.email{font-size:18px;overflow-wrap:anywhere;border-bottom:1px solid #718b9d}.area{margin-top:35px;font-size:15px}.light{background:#fff;color:var(--navy)}.outline{border-color:#728da0;background:transparent}footer{padding:30px 5%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}footer strong{color:var(--navy);letter-spacing:1px}dialog{border:0;padding:50px 20px 15px;max-width:90vw;max-height:94vh;border-radius:4px}dialog::backdrop{background:#00182bd9}dialog img{max-height:75vh;max-width:100%;display:block;margin:auto}dialog p{margin:10px 0 0}#close{position:absolute;right:14px;top:8px;border:0;background:#fff;padding:7px;cursor:pointer}@media(max-width:800px){.topline{font-size:10px}.topline span{display:none}header{height:88px;padding:0 5%;gap:12px}.brand{height:80px;width:90px}nav{gap:15px;font-size:14px}nav a:last-child{display:none}.navcall{font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:52px 7% 40px}.hero-image{min-height:340px}.hero-note{margin-top:35px}.section{padding:60px 7%}.section-head{display:block}.section-head>p{margin-top:24px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3){border-left:0;padding-left:0}.service-grid article{border-bottom:1px solid #d8e1e5}.gallery{gap:26px}.project-img img{height:310px}.about{grid-template-columns:1fr;gap:30px}.about-mark img{max-width:220px}.contact{grid-template-columns:1fr;gap:36px}.contact h2{font-size:40px}footer{flex-direction:column;gap:8px}}@media(max-width:480px){nav{display:none}h1{font-size:45px}.gallery{grid-template-columns:1fr}.project-img img{height:auto;max-height:520px}.service-grid{grid-template-columns:1fr}.service-grid article+article{border-left:0;padding-left:0}.service-grid article{padding:22px 0}.service-grid h3{margin-top:12px}.photo-note{left:20px;right:20px;font-size:18px}.phone{font-size:32px}.actions{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
