:root{--ink:#152923;--muted:#55645e;--green:#176b49;--paper:#fff;--line:#dce3df;--tint:#f3f6f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #21845e;outline-offset:7px}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding-block:32px;border-bottom:1px solid var(--line)}.wordmark{font-size:27px;font-weight:700;letter-spacing:-1.3px;line-height:1}.wordmark span{font-weight:400}.wordmark small{display:block;font-size:10px;letter-spacing:3.7px;margin-top:9px;font-weight:500}.header nav{display:flex;gap:38px;font-size:15px}.header nav a:last-child{color:var(--green);font-weight:600}.hero{padding-top:78px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.7px;line-height:1.6;margin:0 0 28px}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--green)}.line{height:1px;background:var(--green);width:35px}h1,h2,h3,p{margin-top:0}h1{font-weight:500;letter-spacing:-6px;line-height:1.04;font-size:clamp(66px,7.6vw,110px);margin-bottom:38px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--green)}.hero-bottom{display:flex;justify-content:space-between;gap:40px;align-items:center}.hero-bottom p{font-size:18px;max-width:570px;color:var(--muted);line-height:1.7;margin:0}.button{display:inline-flex;gap:34px;align-items:center;border:1px solid var(--ink);padding:16px 23px;font-size:15px;white-space:nowrap}.button:hover{background:var(--ink);color:white;text-decoration:none}.hero-index{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#6c7a73;border-top:1px solid var(--line);margin-top:72px;padding:17px 0}.expertise{display:grid;grid-template-columns:.9fr 1.35fr;gap:85px;padding-block:95px 105px}.section-intro h2,h2{font-weight:500;font-size:clamp(32px,3.5vw,46px);line-height:1.17;letter-spacing:-1.7px;margin-bottom:25px}.section-intro>p:last-child{max-width:335px;color:var(--muted);font-size:16px}.service-list{border-top:1px solid var(--ink)}.service-list article{padding:28px 0;display:grid;grid-template-columns:28px 1fr 20px;gap:18px;border-bottom:1px solid var(--line)}.number{font-size:12px;color:var(--green);padding-top:5px}h3{font-size:23px;letter-spacing:-.6px;font-weight:500;line-height:1.4;margin-bottom:11px}.service-list p{font-size:16px;color:var(--muted);margin:0;line-height:1.7}.service-icon{font-size:23px;color:var(--green)}.service-heading{display:flex;flex-wrap:wrap;gap:8px 13px;align-items:baseline}.label{font-size:10px;letter-spacing:1px;color:var(--green);border:1px solid #c6d9ce;padding:2px 7px;white-space:nowrap}.about{background:var(--tint);padding:90px 0}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.lead{font-size:23px;line-height:1.5;letter-spacing:-.3px}.about-copy>p:not(.lead){font-size:16px;color:var(--muted);margin-bottom:32px}.stats{border-top:1px solid #ced8d1;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.stats strong{display:block;font-size:54px;font-weight:400;letter-spacing:-2px;line-height:1.2;color:var(--green)}.stats span{display:block;font-size:13px;color:var(--muted);margin-top:7px}.purpose{padding-block:90px}.purpose-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center}.purpose h2{margin:0}.purpose-copy{display:flex;align-items:center;gap:30px}.big-number{font-family:Georgia,'Times New Roman',serif;font-size:95px;color:var(--green);line-height:1}.big-number span{font-size:45px}.purpose-copy p{font-size:16px;color:var(--muted);margin:0}.contact{padding:80px 0;background:#123c2d;color:white}.contact .eyebrow{color:#afd2bb}.contact h2{font-size:57px;letter-spacing:-2px;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.contact-details{padding-top:38px}.contact-details>p:first-child{font-size:16px;color:#d2e0d8;max-width:420px}.email{font-size:clamp(20px,2.1vw,29px);letter-spacing:-.5px;overflow-wrap:anywhere;margin-bottom:30px}.hours{font-size:13px;color:#d2e0d8;display:grid;grid-template-columns:auto 1fr;gap:5px 30px}.footer{display:flex;justify-content:space-between;gap:20px;padding-block:25px;font-size:12px;color:var(--muted)}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:900px){.wrap{width:calc(100% - 48px)}h1{letter-spacing:-3.5px}.expertise{gap:40px;grid-template-columns:1fr 1.3fr}.about-grid,.purpose-grid,.contact-grid{gap:40px}.purpose-copy{gap:15px}.hero-bottom{align-items:flex-start}.button{gap:16px}.footer>span:nth-child(2){display:none}}@media(max-width:650px){.header{padding-block:23px}.wordmark{font-size:24px}.header nav{gap:17px;font-size:14px}.header nav a:first-child{display:none}.hero{padding-top:53px}.hero .eyebrow{font-size:10px;letter-spacing:1px;gap:8px}.line{width:20px}h1{font-size:61px;letter-spacing:-3px;margin-bottom:26px}.hero-bottom{display:block}.hero-bottom p{font-size:17px}.hero-bottom .button{margin-top:28px}.hero-index{margin-top:48px;font-size:8px;letter-spacing:1px}.expertise{display:block;padding-block:60px}.section-intro>p:last-child{max-width:100%;margin-bottom:35px}.eyebrow{margin-bottom:20px}.service-list article{gap:12px;grid-template-columns:20px 1fr 17px}h3{font-size:22px}.about{padding-block:58px}.about-grid,.purpose-grid,.contact-grid{grid-template-columns:1fr;gap:20px}.lead{font-size:21px}.stats strong{font-size:48px}.purpose{padding-block:58px}.purpose-grid{gap:32px}.big-number{font-size:78px}.purpose-copy{gap:28px}.contact{padding-block:58px}.contact h2{font-size:47px}.contact-details{padding-top:10px}.footer{font-size:11px;align-items:center;gap:15px}h2{font-size:35px}.email{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-composition{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:center;margin-bottom:35px}.hero-composition h1{font-size:clamp(58px,6.3vw,88px);letter-spacing:-4px;margin-bottom:0}.hero-art{margin:0}.hero-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.hero{padding-top:52px}.hero-index{margin-top:48px}@media(max-width:900px){.hero-composition{gap:24px}.hero-composition h1{font-size:clamp(45px,7vw,68px);letter-spacing:-2.8px}}@media(max-width:650px){.hero-composition{grid-template-columns:1fr;gap:28px;margin-bottom:28px}.hero-composition h1{font-size:61px;letter-spacing:-3px}.hero-art{max-width:400px;width:100%;justify-self:center}.hero-art img{aspect-ratio:1.2;object-fit:cover}.hero{padding-top:40px}}

/* Compose the photograph as part of the hero rather than a separate tile. */
.hero{position:relative;isolation:isolate;width:min(1200px,calc(100% - 96px));max-width:1200px;margin:0 auto;padding:76px 0 0;background:#fff;overflow:hidden}
.hero>.eyebrow,.hero-bottom,.hero-index{position:relative;z-index:2}
.hero-composition{display:block;position:static;margin-bottom:34px}
.hero-composition h1{position:relative;z-index:2;font-size:clamp(64px,7.2vw,100px);letter-spacing:-4.8px;line-height:1.06;max-width:730px}
.hero-art{position:absolute;z-index:0;inset:0 0 0 auto;width:56%;max-width:none;margin:0;pointer-events:none;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.2) 12%,#000 42%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.2) 12%,#000 42%)}
.hero-art img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:58% 50%;mix-blend-mode:multiply}
.hero-bottom{display:block;max-width:535px;padding-bottom:55px}
.hero-bottom p{font-size:17px;max-width:475px;color:#46574e}
.hero-bottom .button{margin-top:27px;background:#fff}
.hero-bottom .button:hover{background:var(--ink)}
.hero-index{margin-top:0;border-color:rgba(21,41,35,.16);padding-block:17px;background:transparent}
.hero-index span:last-child{color:var(--ink)}

@media(max-width:900px){.hero{width:calc(100% - 48px);padding:55px 0 0}.hero-composition h1{font-size:72px;letter-spacing:-3.6px;max-width:600px}.hero-art{width:59%;opacity:.72;mask-image:linear-gradient(to right,transparent,#000 65%);-webkit-mask-image:linear-gradient(to right,transparent,#000 65%)}.hero-bottom{max-width:440px}.hero-bottom p{max-width:390px}}
@media(max-width:650px){.hero{padding:40px 0 0}.hero-composition{margin-bottom:24px}.hero-composition h1{font-size:clamp(48px,12vw,66px);letter-spacing:-2.8px;max-width:100%}.hero-art{inset:auto 0 38px auto;width:100%;height:320px;opacity:.9;mask-image:linear-gradient(to bottom,transparent 0%,#000 38%,#000 84%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 38%,#000 84%,transparent 100%)}.hero-art img{object-position:50% 57%}.hero-bottom{max-width:100%;padding-bottom:285px}.hero-bottom p{max-width:100%;font-size:16px}.hero-bottom .button{margin-top:22px}.hero-index{font-size:8px;gap:10px}.hero-index span:last-child{text-align:right}}

.header nav a{text-transform:uppercase;font-size:13px;font-weight:600;letter-spacing:1.3px}
@media(max-width:650px){.header nav a{font-size:12px;letter-spacing:1px}}

/* Landscape art is shown in full; never crop the glass or fern. */
.hero-art{inset:0;width:100%;height:100%;opacity:1;mask-image:linear-gradient(to right,transparent 0%,#000 48%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 48%)}
.hero-art img{object-fit:contain;object-position:right center;mix-blend-mode:multiply}
@media(max-width:900px){.hero-art{width:100%;opacity:.8}.hero-art img{object-fit:contain;object-position:right center}}
@media(max-width:650px){.hero-art{inset:auto 0 38px;width:100%;height:260px;opacity:1;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 90%,transparent)}.hero-art img{object-fit:contain;object-position:center}.hero-bottom{padding-bottom:260px}}

/* White page surface with soft photographic boundaries. */
.hero{background:#fff}
.hero-art{mask-image:linear-gradient(to right,transparent 0%,#000 54%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 54%)}
.hero-art img{mix-blend-mode:normal;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 85%,transparent 100%)}
.hero-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to left,#fff 0%,transparent 9%)}
@media(max-width:650px){.hero-art{mask-image:none;-webkit-mask-image:none}}
