@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--forest:#102d25;--green:#007c4b;--ink:#102d25;--muted:#58635d;--sage:#eef1ed;--border:#ccd5ce;--heading:Manrope,Arial,sans-serif;--body:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:700;letter-spacing:-.055em;line-height:1.1;margin:0}h1{font-size:clamp(48px,5.4vw,80px)}h2{font-size:clamp(40px,4.1vw,62px)}h3{font-size:34px;letter-spacing:-.045em}p{margin:0 0 24px;color:var(--muted)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:5px}button[hidden],*[hidden]{display:none!important}.container{width:min(1440px,calc(100% - 128px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;background:var(--forest);color:#fff;padding:12px;z-index:50}.skip-link:focus{top:12px}.section-label{font-size:12px!important;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.5;color:var(--muted);margin:0 0 22px!important}.site-header{background:#fff}.header-inner{display:flex;align-items:center;gap:34px;min-height:118px;border-bottom:1px solid var(--border)}.brand{display:block;flex-shrink:0}.logo-frame{position:relative;display:block;width:190px;height:98px;overflow:hidden}.logo-frame img{position:absolute;width:270px;max-width:none;height:139px;left:-40px;top:-21px}.header-inner nav{display:flex;align-items:center;gap:32px;margin-left:auto}.header-inner nav a{font-size:14px;font-weight:600;position:relative;white-space:nowrap;padding-block:12px}.header-inner nav a:hover{color:var(--green)}.header-inner nav a[aria-current=page]::after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:2px;background:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--green);border:1px solid var(--green);color:#fff;padding:17px 24px;min-height:56px;border-radius:0;font-family:var(--body);font-size:14px;font-weight:700;line-height:1.4;transition:background .2s,color .2s;text-align:center}.button:hover{background:var(--forest);border-color:var(--forest)}.header-call{background:var(--forest);border-color:var(--forest);font-size:14px;padding:15px 22px;gap:0}.header-call:hover{background:var(--green);border-color:var(--green)}.header-call svg{display:none}.button-outline{background:transparent;border-color:#a9c5b5;color:#fff}.button-outline:hover{background:#fff;color:var(--forest);border-color:#fff}.button-outline-dark{background:transparent;border-color:var(--forest);color:var(--forest)}.button-outline-dark:hover{color:#fff}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:14px;font-weight:600;color:var(--green);line-height:1.5;padding-block:5px;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.text-link:hover{color:var(--forest)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 350px;column-gap:58px;row-gap:40px;padding:46px 0 0;align-items:center}.hero-heading .section-label{color:var(--green)}.hero h1{font-size:clamp(46px,5.3vw,82px);font-weight:800;letter-spacing:-.06em;line-height:1.08}.hero h1 span{color:var(--green)}.hero-copy p{font-size:17px;line-height:1.65;margin:0 0 22px}.hero-actions{display:flex;gap:12px;align-items:flex-start;flex-direction:column}.hero-actions .text-link{color:var(--forest)}.hero-media{grid-column:1/-1}.hero-media img{height:410px;object-fit:cover;object-position:50% 33%;border-radius:0}.hero-media figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding:17px 0 20px}.hero-media figcaption .text-link{color:var(--forest);font-size:12px}.identity-band{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-top:1px solid var(--border);padding:24px 0}.identity-band span{font-size:13px;padding:3px 18px;border-right:1px solid var(--border)}.identity-band span:last-child{border:0}
.services-section{padding-block:100px}.section-heading{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:70px;align-items:end;margin-bottom:44px}.section-heading>p,.section-heading>div>p:not(.section-label){font-size:17px;max-width:460px;margin:0}.service-columns{display:flex;flex-direction:column}.service-item{display:grid;grid-template-columns:130px 360px minmax(0,1fr) 70px;gap:38px;align-items:center;padding:22px 0;border-bottom:1px solid var(--border)}.service-item:first-child{padding-top:0}.service-number{font-size:106px;font-weight:600;line-height:1;letter-spacing:-.07em;color:#d1d9d1}.service-image{display:block;overflow:hidden}.service-image img{height:195px;object-fit:cover;transition:transform .5s}.service-image:hover img{transform:scale(1.035)}.service-item h3{margin:0 0 15px;font-size:32px}.service-item h3 a:hover{color:var(--green)}.service-item p{font-size:17px;margin:0;max-width:570px}.service-arrow{display:grid;place-items:center;width:68px;height:68px;border:1.5px solid var(--green);border-radius:50%;color:var(--green);transition:background .2s,color .2s}.service-arrow svg{width:30px;height:30px}.service-arrow:hover{background:var(--green);color:#fff}
.portfolio-section{background:var(--forest);color:#fff;padding-block:78px 45px}.portfolio-section h2{color:#fff}.portfolio-section .section-label{color:#9ebca9}.portfolio-section p{color:#dae4de}.portfolio-section .section-heading{align-items:start}.portfolio-section .button{margin-top:24px;font-size:12px;letter-spacing:.07em}.portfolio-grid{display:grid;grid-template-columns:1.52fr 1fr;grid-template-rows:repeat(2,265px);gap:24px 30px}.portfolio-grid figure{min-width:0;display:flex;flex-direction:column}.portfolio-grid .portfolio-large{grid-row:span 2}.portfolio-grid .photo-tile{flex:1;min-height:0}.portfolio-grid img{height:100%;object-fit:cover}.portfolio-grid figcaption{font-size:13px;padding-top:10px}.work-index{border-top:1px solid #587266;margin-top:36px;padding-top:23px;display:flex;gap:30px;font-size:13px}.work-index span+span::before{content:'/';display:inline-block;margin-right:30px;color:#9ebca9}.photo-tile{display:block;padding:0;border:0;background:var(--sage);width:100%;position:relative;overflow:hidden;border-radius:0}.photo-tile img{width:100%;object-fit:cover;transition:transform .45s}.photo-tile:hover img{transform:scale(1.025)}.photo-open{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;background:#fff;color:var(--forest);width:40px;height:40px;border-radius:50%;opacity:0;transition:opacity .2s}.photo-tile:hover .photo-open,.photo-tile:focus-visible .photo-open{opacity:1}
.family-section{padding-block:90px;display:grid;grid-template-columns:1.14fr 1fr;align-items:center;gap:64px}.family-photo img{height:410px;object-fit:cover;object-position:50% 68%}.family-copy h2{font-size:clamp(35px,3.4vw,50px)}.family-copy>p:not(.section-label){font-size:18px;margin-top:26px}.family-copy .text-link{font-size:16px}.contact-band{background:var(--green);padding:66px 0;color:#fff}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:75px;align-items:center}.contact-grid h2{font-size:clamp(38px,4vw,60px);color:#fff}.contact-grid .button{font-size:18px;min-width:315px;justify-content:space-between;padding:18px 25px}.contact-grid .email-link{color:#fff;font-size:18px}.email-link{display:block;width:fit-content;font-size:18px;text-decoration:underline;text-underline-offset:5px;margin-top:22px;overflow-wrap:anywhere}.site-footer{padding:35px 0 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-top nav{display:flex;gap:30px;font-size:14px}.footer-top nav a:hover,.footer-bottom a:hover{color:var(--green)}.footer-bottom{margin-top:24px;border-top:1px solid var(--border);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.footer-bottom div{display:flex;gap:22px}
.page-intro{padding-block:64px 55px;border-bottom:1px solid var(--border);margin-bottom:40px}.page-intro h1{max-width:1200px;font-size:clamp(46px,5vw,74px);color:var(--forest)}.page-intro p{font-size:18px;max-width:760px;margin:26px 0 0}.page-intro .button{margin-top:25px}.page-intro+.services-section{padding-top:15px}.service-note{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding-bottom:85px}.service-note h2{font-size:43px;grid-row:span 2}.service-note p{font-size:18px;margin:0}.service-note .text-link{width:fit-content}.gallery{padding-bottom:85px}.gallery-toolbar{border-bottom:1px solid var(--border);padding:0 0 22px;display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:32px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap}.filter-button{border:1px solid var(--border);background:#fff;color:var(--forest);padding:11px 18px;font-size:13px;font-weight:600;border-radius:0;min-height:44px}.filter-button:hover{border-color:var(--forest)}.filter-button[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.gallery-count{font-size:12px;margin:0;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.gallery-item .photo-tile img{height:320px;object-fit:cover}.gallery-item>p{font-size:12px;color:var(--ink);display:flex;justify-content:space-between;margin:12px 0 0}.gallery-item>p span{color:var(--muted)}.gallery-bottom{margin-top:40px;display:flex;justify-content:center;gap:30px;align-items:center;flex-wrap:wrap}.family-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-bottom:85px}.story-photo img{height:600px;object-fit:cover}.family-story h2{font-size:46px}.family-story blockquote{margin:26px 0;font-size:23px;color:var(--green);font-weight:600;line-height:1.5;letter-spacing:-.025em}.story-signature{color:var(--forest);font-weight:700;font-size:13px}.album-section{padding-block:60px 80px;border-top:1px solid var(--border)}.album-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:30px}.album-link img{height:285px;object-fit:cover}.album-link h3{font-size:27px;margin-top:18px;display:flex;justify-content:space-between;align-items:center}.community-section{padding-block:0 80px}.community-section h2{font-size:44px;margin-bottom:22px}.community-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.community-grid img{height:200px;object-fit:contain;background:#fff}.community-grid figcaption{font-size:12px;margin-top:12px;color:var(--muted)}.contact-page{padding-block:64px 70px;display:grid;grid-template-columns:1.35fr 1fr;gap:100px}.contact-page h1{color:var(--forest);font-size:clamp(46px,5vw,74px)}.contact-page>div>p{font-size:18px;margin-top:28px;max-width:580px}.contact-page .contact-hint{font-size:13px}.contact-details{background:var(--forest);color:#fff;padding:40px}.contact-details h2{font-size:36px}.contact-details dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:27px 0 30px;font-size:14px}.contact-details dt{font-weight:600;color:#e0ebe4}.contact-details dd{margin:0}.address{padding-top:25px;border-top:1px solid #587266}.address h3{font-size:14px;letter-spacing:0;margin-bottom:12px}.address p{font-size:14px;margin-bottom:15px;color:#e0ebe4}.address a{font-size:13px;color:#fff}.contact-photo{margin-bottom:75px}.contact-photo img{height:440px;object-fit:cover;object-position:50% 65%}
.lightbox{border:0;background:#0b1c14;color:#fff;max-width:min(1200px,94vw);width:94vw;height:min(900px,94vh);max-height:94vh;padding:55px 25px 20px;border-radius:0;overflow:hidden}.lightbox::backdrop{background:rgba(4,15,9,.88)}.lightbox-stage{display:flex;align-items:center;gap:15px;height:calc(100% - 46px)}.lightbox-image{min-width:0;flex:1;width:calc(100% - 100px);height:100%;object-fit:contain}.lightbox button{background:transparent;color:#fff;border:1px solid #587266;border-radius:0}.lightbox-close{position:absolute;right:18px;top:12px;padding:5px 12px;font-size:14px}.lightbox-close span{font-size:23px;margin-left:8px}.lightbox-prev,.lightbox-next{font-size:36px;min-width:44px;height:52px}.lightbox p{text-align:center;color:#fff;font-size:13px;margin:15px 0 0}.lightbox a:focus-visible,.lightbox button:focus-visible{outline-color:#fff}
@media(min-width:1700px){.hero-media img{height:480px}}
@media(max-width:1240px){.container{width:calc(100% - 80px)}.header-inner{gap:25px}.header-inner nav{gap:22px}.logo-frame{width:170px;height:88px}.logo-frame img{width:242px;height:125px;left:-36px;top:-19px}.hero{grid-template-columns:minmax(0,1fr) 300px;gap:38px}.hero h1{font-size:clamp(42px,4.7vw,62px)}.hero-copy p{font-size:16px}.section-heading{gap:45px}.service-item{grid-template-columns:90px 280px minmax(0,1fr) 60px;gap:28px}.service-number{font-size:82px}.service-image img{height:180px}.service-item h3{font-size:28px}.service-item p{font-size:16px}.service-arrow{width:58px;height:58px}.family-section{gap:45px}.family-copy>p:not(.section-label){font-size:17px}.contact-grid{gap:35px}.contact-grid .button{min-width:280px;font-size:16px}.contact-grid .email-link{font-size:16px}.contact-page{gap:60px}}
@media(max-width:950px){.header-inner{min-height:95px;justify-content:space-between}.header-inner nav{display:none;position:absolute;top:95px;left:0;right:0;background:#fff;z-index:10;margin:0;padding:22px 40px;border-bottom:1px solid var(--border)}.header-inner nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header-inner nav a{padding:10px}.header-call{margin-left:auto;min-height:46px;font-size:12px}.menu-toggle{display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;order:3}.menu-toggle span{width:20px;height:2px;background:var(--forest)}.hero{grid-template-columns:minmax(0,1fr) 250px;gap:30px;padding-top:35px}.hero h1{font-size:clamp(36px,4.4vw,44px)}.hero-copy p{font-size:14px}.hero-actions .button{font-size:12px;padding:13px 17px;min-height:48px}.hero-actions .text-link{font-size:12px}.hero-media img{height:360px}.section-heading{gap:30px;grid-template-columns:1.5fr 1fr}.section-heading>p,.section-heading>div>p:not(.section-label){font-size:15px}.services-section{padding-block:65px}h2{font-size:42px}.service-item{grid-template-columns:60px 210px minmax(0,1fr) 46px;gap:22px}.service-number{font-size:58px}.service-image img{height:160px}.service-item h3{font-size:24px}.service-item p{font-size:14px}.service-arrow{width:44px;height:44px}.service-arrow svg{width:24px;height:24px}.portfolio-section{padding-block:60px 35px}.portfolio-grid{grid-template-rows:repeat(2,220px)}.portfolio-grid figcaption{font-size:12px}.family-section{gap:30px;padding-block:65px}.family-copy h2{font-size:34px}.family-photo img{height:350px}.family-copy>p:not(.section-label){font-size:15px}.section-label{font-size:10px!important}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid h2{font-size:46px}.contact-grid>div{display:flex;align-items:center;gap:28px}.contact-grid .email-link{margin:0}.gallery-grid{gap:22px}.gallery-item .photo-tile img{height:240px}.family-story{gap:38px}.family-story h2{font-size:38px}.family-story p{font-size:15px}.story-photo img{height:530px}.album-link img{height:210px}.album-link h3{font-size:23px}.contact-page{gap:38px}.contact-details{padding:28px}.contact-page>div>p{font-size:16px}.contact-details h2{font-size:31px}.contact-page h1{font-size:50px}.footer-top nav{gap:20px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{gap:12px;min-height:87px}.header-inner nav{top:87px;padding:20px}.logo-frame{width:136px;height:70px}.logo-frame img{width:194px;height:100px;left:-29px;top:-15px}.header-call{font-size:11px;min-height:42px;padding:10px}.menu-toggle{width:40px;height:42px;flex-shrink:0}.hero{grid-template-columns:1fr;gap:26px;padding:34px 0 0}.hero h1{font-size:clamp(38px,8.2vw,56px);letter-spacing:-.06em;line-height:1.1}.hero h1 br{display:none}.hero h1 span{display:block;margin-top:6px}.hero-heading .section-label{font-size:10px!important;margin-bottom:18px!important}.hero-copy p{font-size:16px;margin:0 0 20px;max-width:520px}.hero-actions{flex-direction:row;align-items:center;gap:22px;flex-wrap:wrap}.hero-actions .button{font-size:13px;padding:15px 18px}.hero-actions .text-link{font-size:13px}.hero-media img{height:auto;aspect-ratio:1.2;object-position:50% 50%}.hero-media figcaption{align-items:flex-start;flex-direction:column;gap:6px;font-size:11px;padding:12px 0 18px}.hero-media figcaption .text-link{font-size:11px}.identity-band{padding-block:12px;grid-template-columns:1fr;text-align:left}.identity-band span{font-size:12px;padding:11px 0;border-right:0;border-bottom:1px solid var(--border)}.identity-band span:last-child{border:0}.services-section{padding-block:55px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.section-heading>p,.section-heading>div>p:not(.section-label){font-size:16px}h2{font-size:38px}.section-label{font-size:10px!important;margin-bottom:16px!important}.service-item{grid-template-columns:46px minmax(0,1fr) 46px;gap:18px 14px;padding:25px 0}.service-number{font-size:43px;align-self:start;grid-column:1;grid-row:1}.service-image{grid-column:2/-1;grid-row:1}.service-image img{height:auto;aspect-ratio:1.6}.service-copy{grid-column:2;grid-row:2}.service-item h3{font-size:25px;margin-bottom:10px}.service-item p{font-size:15px}.service-arrow{grid-column:3;grid-row:2;align-self:start}.portfolio-section{padding-block:55px 30px}.portfolio-section .section-heading{gap:22px}.portfolio-section .button{margin-top:20px;font-size:11px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:23px 15px}.portfolio-grid .portfolio-large{grid-column:span 2;grid-row:auto}.portfolio-grid .portfolio-large .photo-tile img{height:330px}.portfolio-grid .photo-tile img{height:190px}.portfolio-grid figcaption{font-size:11px;line-height:1.4}.work-index{gap:15px;font-size:11px;margin-top:28px;padding-top:20px;flex-wrap:wrap}.work-index span+span::before{margin-right:15px}.family-section{padding-block:55px;grid-template-columns:1fr;gap:30px}.family-photo img{height:auto;aspect-ratio:1.3;object-position:50% 68%}.family-copy h2{font-size:36px}.family-copy>p:not(.section-label){font-size:16px;margin-top:20px}.family-copy .text-link{font-size:14px}.contact-band{padding:45px 0}.contact-grid{gap:28px}.contact-grid h2{font-size:36px}.contact-grid>div{display:block}.contact-grid .button{font-size:15px;min-width:0;width:fit-content;gap:28px;padding:16px 20px}.contact-grid .email-link{font-size:16px;margin-top:22px}.site-footer{padding:25px 0 20px}.footer-top{align-items:flex-start;gap:25px}.footer-top nav{flex-direction:column;gap:12px;font-size:12px}.footer-bottom{flex-direction:column;gap:14px;font-size:11px}.footer-bottom div{gap:20px;flex-wrap:wrap}.page-intro{padding-block:36px 32px;margin-bottom:30px}.page-intro h1{font-size:43px}.page-intro p{font-size:16px;margin-top:20px}.page-intro .button{font-size:13px;margin-top:20px}.page-intro+.services-section{padding-top:10px}.service-note{grid-template-columns:1fr;padding-bottom:50px;gap:20px}.service-note h2{grid-row:auto;font-size:33px}.service-note p{font-size:16px}.gallery{padding-bottom:55px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:16px;padding-bottom:20px;margin-bottom:25px}.gallery-filters{gap:8px}.filter-button{font-size:12px;padding:10px 12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.gallery-item .photo-tile img{height:220px}.gallery-item>p{font-size:11px;gap:8px;line-height:1.4}.gallery-bottom{gap:23px}.family-story{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.story-photo img{height:auto;max-height:580px;object-position:50% 48%}.family-story h2{font-size:34px}.family-story p{font-size:16px}.family-story blockquote{font-size:21px}.album-section{padding-block:40px 55px}.album-columns{grid-template-columns:1fr;gap:30px}.album-link img{height:auto;aspect-ratio:1.4}.album-link h3{font-size:25px}.community-section{padding-bottom:50px}.community-section h2{font-size:34px}.community-grid{grid-template-columns:1fr 1fr;gap:25px}.community-grid img{height:150px}.contact-page{padding-block:36px 42px;grid-template-columns:1fr;gap:35px}.contact-page h1{font-size:45px}.contact-page>div>p{font-size:16px;margin-top:24px}.contact-details{padding:30px}.contact-details dl{font-size:14px}.contact-photo{margin-bottom:50px}.contact-photo img{height:auto;aspect-ratio:1.15;object-position:50% 65%}.lightbox{padding:55px 10px 18px;max-width:98vw;width:98vw;height:86vh}.lightbox-stage{gap:5px}.lightbox-prev,.lightbox-next{min-width:34px;width:34px;height:46px;font-size:30px}.lightbox-image{width:calc(100% - 78px)}.lightbox p{font-size:11px}}
@media(max-width:390px){.container{width:calc(100% - 32px)}.header-call{padding:9px;font-size:10px}.header-inner{gap:8px}.logo-frame{width:119px;height:62px}.logo-frame img{width:170px;height:88px;left:-25px;top:-13px}.hero h1{font-size:38px}.hero-actions{gap:18px}.hero-actions .button{font-size:12px;padding:14px 16px}.hero-actions .text-link{font-size:12px}.service-item{grid-template-columns:37px minmax(0,1fr) 38px;gap:16px 10px}.service-number{font-size:36px}.service-item h3{font-size:23px}.service-arrow{width:38px;height:38px}.gallery-item .photo-tile img{height:180px}.portfolio-grid .photo-tile img{height:155px}.portfolio-grid .portfolio-large .photo-tile img{height:285px}.contact-grid h2{font-size:32px}.contact-page h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
