:root{--paper:#f8f8f3;--sage:#dfece7;--green:#203f32;--green-2:#365f4c;--ink:#173329;--muted:#5f7169;--line:#becfc7;--white:#fff;--gutter:clamp(22px,5vw,82px);--content:1560px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif;letter-spacing:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.skip-link{position:fixed;z-index:100;left:16px;top:12px;padding:10px 14px;background:var(--green);color:#fff;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.detail-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:88px;max-width:var(--content);margin:auto;padding:16px var(--gutter);background:var(--paper)}
.wordmark{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:20px;font-weight:800;letter-spacing:-.7px;line-height:1.05}
.brand-symbol{display:flex;align-items:center;flex:none;width:43px;height:43px;padding-left:9px;border-radius:12px;background:#3f6250;color:#fff;font-size:35px;letter-spacing:-7px;transform:rotate(-4deg)}
.brand-symbol span{color:#fff}.brand-city{display:block;margin-top:7px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:3.5px}
.back-link{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700}.back-link svg,.primary-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{display:inline-block;color:var(--green-2);font-size:10px;font-weight:800;line-height:1.6;letter-spacing:1.4px}
.detail-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(430px,.76fr) minmax(0,1.24fr);align-items:stretch;min-height:650px;overflow:hidden;background:var(--sage)}
.hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px 20px 90px var(--gutter)}
.hero-copy h1{max-width:660px;margin:18px 0 26px;font-size:clamp(48px,5.7vw,88px);font-weight:800;line-height:1.04;letter-spacing:0}.hero-copy h1 span{display:block;color:var(--green-2)}
.hero-lead{max-width:620px;margin:0 0 34px;color:#40564c;font-size:16px;line-height:1.9}
.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:220px;padding:16px 20px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:#fff;font-size:12px;font-weight:700}
.hero-visual{position:relative;z-index:2;display:flex;align-items:flex-end;min-width:0}.hero-arch{position:absolute;z-index:-1;inset:7% 4% 0 8%;border-radius:48% 48% 0 0;background:#f7f6ef}.hero-visual img{width:112%;max-width:none;margin-left:-9%;object-fit:contain;object-position:center bottom}
.intro-band{display:grid;grid-template-columns:80px minmax(280px,.8fr) minmax(320px,1fr);gap:clamp(28px,5vw,90px);align-items:start;max-width:var(--content);margin:auto;padding:110px var(--gutter)}
.section-number{padding-top:4px;color:#7b9588;font-size:12px;font-weight:700}.intro-band h2,.values-heading h2,.practice-copy h2,.detail-cta h2{margin:14px 0 0;font-size:clamp(34px,4vw,60px);line-height:1.18;letter-spacing:0}.intro-band h2 span{color:#6c897a}.intro-band>p{margin:30px 0 0;color:#4d6359;font-size:15px;line-height:2}
.values-section{padding:105px var(--gutter);background:#203f32;color:#fff}.values-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:end;max-width:var(--content);margin:0 auto 60px}.values-heading .eyebrow{color:#b8d1c5}.values-heading h2{max-width:800px;margin:0}.values-list{max-width:var(--content);margin:auto;border-top:1px solid #ffffff42}.values-list article{display:grid;grid-template-columns:70px minmax(230px,.65fr) minmax(320px,1fr);gap:30px;align-items:start;padding:34px 0;border-bottom:1px solid #ffffff42}.values-list article>span{color:#a6c2b5;font-size:11px;font-weight:700}.values-list h3{margin:0;font-size:22px;line-height:1.35}.values-list p{max-width:700px;margin:0;color:#d6e1dc;font-size:14px;line-height:1.9}
.practice-band{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);min-height:660px;background:var(--sage)}.practice-photo{display:flex;align-items:flex-end;overflow:hidden;background:#f7f6ef}.practice-photo img{width:120%;max-width:none;margin-left:-17%;object-fit:contain;object-position:center bottom}.practice-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px var(--gutter)}.practice-copy h2{max-width:650px;margin-bottom:24px}.practice-copy>p{max-width:620px;margin:0;color:#42594e;font-size:15px;line-height:1.95}.practice-copy blockquote{max-width:600px;margin:34px 0 0;padding:22px 0 0;border-top:1px solid #9db4a9;color:#284a3b;font-size:17px;font-weight:600;line-height:1.7}
.detail-cta{display:flex;flex-direction:column;align-items:center;padding:100px var(--gutter);text-align:center}.detail-cta h2{max-width:900px;margin:18px 0 34px}.primary-link-dark{background:transparent;color:var(--green)}
.detail-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--content);margin:auto;padding:36px var(--gutter);border-top:1px solid #d7ded9;color:var(--muted);font-size:10px}.detail-footer a{color:var(--ink);font-size:14px;font-weight:800}
@media(max-width:980px){.detail-hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:70px var(--gutter) 30px}.hero-copy h1 span{display:inline}.hero-visual{min-height:430px}.hero-visual img{width:min(1050px,115%);margin:0 auto}.hero-arch{inset:2% 10% 0}.intro-band{grid-template-columns:50px 1fr}.intro-band>p{grid-column:2}.values-heading{grid-template-columns:1fr;gap:20px}.practice-band{grid-template-columns:1fr}.practice-photo{min-height:500px}.practice-photo img{width:min(1000px,115%);margin:auto}.practice-copy{padding-top:70px;padding-bottom:75px}}
@media(max-width:640px){:root{--gutter:20px}.detail-header{min-height:72px}.wordmark{font-size:16px}.brand-symbol{width:34px;height:34px;font-size:27px}.back-link{font-size:0}.back-link svg{width:24px;height:24px}.hero-copy{padding-top:54px}.hero-copy h1{font-size:clamp(41px,13vw,58px);line-height:1.08}.hero-lead{font-size:14px;line-height:1.85}.primary-link{width:100%}.hero-visual{min-height:310px}.hero-visual img{width:125%;max-width:none;margin-left:-16%}.intro-band{grid-template-columns:1fr;gap:18px;padding-top:75px;padding-bottom:75px}.intro-band>p{grid-column:auto;margin-top:8px}.section-number{display:none}.intro-band h2,.values-heading h2,.practice-copy h2,.detail-cta h2{font-size:clamp(31px,9vw,42px)}.values-section{padding-top:75px;padding-bottom:75px}.values-heading{margin-bottom:40px}.values-list article{grid-template-columns:42px 1fr;gap:12px 14px;padding:26px 0}.values-list p{grid-column:2;font-size:13px}.values-list h3{font-size:19px}.practice-photo{min-height:330px}.practice-photo img{width:130%;max-width:none;margin-left:-22%}.practice-copy{padding:60px var(--gutter)}.practice-copy>p{font-size:14px}.practice-copy blockquote{font-size:15px}.detail-cta{padding-top:75px;padding-bottom:75px}.detail-footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The supplied photograph has its own background and fills each image panel. */
.hero-visual,.practice-photo{position:relative;overflow:hidden}
.hero-arch{display:none}
.hero-visual img,.practice-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:center}
.practice-photo{isolation:isolate;background:linear-gradient(180deg,#b9d5c7 0%,#d9e8df 100%)}
.practice-photo img{z-index:1;object-fit:contain;object-position:center bottom}
@media(max-width:640px){.practice-photo{min-height:420px}}
@media(max-width:640px){.brand-symbol{width:34px;height:34px;padding-left:7px;border-radius:10px;font-size:28px}.brand-city{letter-spacing:2.4px}}
