@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f8f6f0;--ink:#173e3b;--muted:#50615c;--teal:#246d68;--line:#d4d9d0;--white:#fff;--accent:#c9deaf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}p{margin:0 0 1.2rem}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;font-weight:500;line-height:1.12;letter-spacing:-.05em;margin:0}h1{font-size:clamp(3.2rem,6.4vw,6.3rem)}h2{font-size:clamp(2.5rem,4.1vw,4rem)}h3{font-size:2rem;line-height:1.2}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ad6922;outline-offset:6px}a:hover{color:var(--teal)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.header{height:110px;width:min(1376px,calc(100% - 96px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-family:'Manrope',Arial,sans-serif;font-size:2.1rem;font-weight:800;letter-spacing:-.085em;white-space:nowrap}.wordmark span{color:var(--teal)}.wordmark .period{color:#a66e38}.header nav{display:flex;align-items:center;gap:28px;font-size:.9rem}.header nav .active{border-bottom:1px solid var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:55px;padding:14px 25px;border-radius:5px;background:var(--ink);color:var(--white);font-weight:500;line-height:1.4;text-align:center;transition:background .2s,transform .2s}.button:hover{background:var(--teal);color:var(--white);transform:translateY(-2px)}.button.small{min-height:46px;padding:11px 22px}.button span{font-size:1.3rem}.hero{padding-top:45px}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.13em;margin-bottom:22px}.hero-copy{position:relative}.hero-bottom{position:absolute;bottom:4px;right:0;width:36%;max-width:395px}.hero-bottom p{color:var(--muted);font-size:1.05rem;margin-bottom:26px}.hero-image{margin:40px 0 0;position:relative;border-radius:12px;overflow:hidden;background:#dde4d6}.hero-image img{aspect-ratio:2.35;object-fit:cover;object-position:50% 65%}.hero-image figcaption{position:absolute;bottom:24px;left:28px;background:var(--paper);border-radius:6px;padding:12px 20px;display:flex;flex-direction:column;box-shadow:0 4px 30px #0001}.hero-image figcaption span:first-child{font-size:.66rem;letter-spacing:.1em;font-weight:600}.hero-image figcaption span:last-child{font-family:Georgia,serif;font-style:italic;font-size:1.25rem}.values{display:flex;justify-content:space-between;padding:21px 3%;font-size:.88rem;border-bottom:1px solid var(--line)}.values span:before{content:'✓';margin-right:12px;color:var(--teal)}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:104px;padding-bottom:105px}.about-copy{padding-top:8px;color:var(--muted)}.large{font-size:1.5rem;line-height:1.5;color:var(--ink)}.text-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid var(--ink);padding:4px 0 6px;font-weight:500;color:var(--ink)}.services{background:#e9eee5;padding:86px 0 92px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}.section-heading>p{color:var(--muted);margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service .photo{overflow:hidden;border-radius:8px}.service img{height:350px;object-fit:cover;transition:transform .45s}.service:nth-child(1) img{object-position:50% 42%}.service:nth-child(2) img{object-position:50% 30%}.service:nth-child(3) img{object-position:45% 50%}.service:hover img{transform:scale(1.025)}.service-label{font-size:.73rem;letter-spacing:.1em;margin:24px 0 12px}.service p{color:var(--muted);margin:18px 0;max-width:340px}.service .text-link{font-size:.95rem}.contact{background:var(--ink);color:var(--paper);margin-top:85px;margin-bottom:65px;border-radius:10px;padding:64px;display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:50px}.contact h2{font-size:clamp(2.4rem,3.5vw,3.5rem);margin-bottom:24px}.contact .eyebrow{color:#c4d5bc}.contact p{color:#d2dfd9}.contact .button{margin-top:10px}.button.light{background:var(--accent);color:var(--ink)}.button.light:hover{background:#e3edca}.contact-details{padding-bottom:8px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.contact-details>span{font-size:.72rem;letter-spacing:.12em;color:#c4d5bc}.contact-details a{overflow-wrap:anywhere;font-size:1rem;border-bottom:1px solid #78938a}.contact-details a:hover{color:var(--accent)}.contact-details p{margin-top:8px;font-size:.9rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:35px}.footer-top p{margin:0;font-size:.95rem;color:var(--muted)}.footer-top>a:last-child{font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:24px 0 30px;font-size:.8rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:25px}.menu-toggle{display:none}.skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);background:var(--ink);color:white;padding:12px;z-index:30}.skip:focus{transform:none}
@media(min-width:1500px){.hero-image img{aspect-ratio:2.6}}@media(max-width:1000px){.header,.wrap{width:calc(100% - 48px)}.header nav{gap:16px}.wordmark{font-size:1.8rem}.hero-bottom{width:40%}.hero h1{font-size:4.3rem}.hero-image img{aspect-ratio:1.9}.service img{height:290px}.contact{padding:44px;gap:30px;grid-template-columns:1.2fr 1fr}.about{gap:7%}.section-heading>p{max-width:280px}.footer-top{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:84px;position:relative}.header,.wrap{width:calc(100% - 40px)}.menu-toggle{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:transparent;padding:8px 12px;border-radius:4px;min-height:44px;color:var(--ink)}.header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);z-index:10;padding:20px;box-shadow:0 14px 25px #173e3b18;border:1px solid var(--line);border-radius:6px;align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:6px}.header nav a{padding:10px}.header nav .active{border:0;font-weight:700}.hero{padding-top:28px}.eyebrow{font-size:.7rem;letter-spacing:.09em;margin-bottom:20px}.hero h1{font-size:clamp(3.25rem,10vw,4.5rem)}.hero-bottom{position:static;width:100%;max-width:480px;margin-top:25px}.hero-bottom p{font-size:1rem;margin-bottom:22px}.hero-image{margin-top:32px}.hero-image img{aspect-ratio:1.25;object-position:50% 60%}.hero-image figcaption{left:12px;bottom:12px;padding:8px 12px}.hero-image figcaption span:first-child{font-size:.6rem}.hero-image figcaption span:last-child{font-size:1.05rem}.values{justify-content:flex-start;flex-wrap:wrap;gap:9px 18px;padding:19px 0;font-size:.77rem}.values span:before{margin-right:6px}.about{grid-template-columns:1fr;gap:30px;padding-top:65px;padding-bottom:65px}.about h2 br:nth-child(2){display:none}.large{font-size:1.35rem}.services{padding:60px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px;max-width:none}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:44px}.service img{height:390px;object-fit:cover}.service:nth-child(1) img{object-position:50% 49%}.service:nth-child(3) img{height:auto;aspect-ratio:1.4}.service h3 br{display:none}.service h3{font-size:1.9rem}.service p{max-width:none;margin:14px 0}.contact{margin-top:50px;margin-bottom:45px;padding:34px 24px;grid-template-columns:1fr;gap:38px}.contact h2{font-size:2.55rem}.contact p br{display:none}.contact-details{border-top:1px solid #54756b;padding-top:25px}.footer-top{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:25px}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom>div{gap:25px}.button{min-height:52px;font-size:.95rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Supplied brand artwork, preserved at its original proportions. */
.brand-logo{display:block;flex:0 0 auto;width:180px;border-radius:8px;overflow:hidden}.brand-logo img{width:100%;height:auto}.header{height:182px}.hero{padding-top:28px}.footer-top .brand-logo{width:180px}@media(max-width:760px){.header{height:142px}.header .brand-logo{width:135px}.header nav{top:136px}.hero{padding-top:22px}.footer-top .brand-logo{width:165px}}

/* Shared layouts for service, about, and client-story pages. */
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:.82rem;color:var(--muted);margin-bottom:38px;letter-spacing:0;line-height:1.6}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.detail-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7%;padding-top:24px;padding-bottom:52px}.detail-hero h1{font-size:clamp(3rem,4.8vw,5rem);line-height:1.15}.detail-intro{font-size:1.15rem;line-height:1.7;color:var(--muted);max-width:540px;margin:25px 0 28px}.detail-photo{margin:0;border-radius:10px;overflow:hidden;background:#e9eee5;position:relative}.detail-photo img{height:530px;object-fit:cover;object-position:center 40%}.detail-photo.landscape img{height:430px}.detail-photo figcaption{font-size:.82rem;padding:14px 20px;line-height:1.5}.detail-hero .button{margin-bottom:8px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}.facts .eyebrow{margin:0 0 9px}.facts p:last-child{margin:0;font-size:1rem}.detail-about{padding-top:76px;padding-bottom:70px}.service-note{background:#e9eee5;padding:23px;border-left:3px solid var(--teal);font-size:.95rem;margin-top:28px}.explore-more{border-top:1px solid var(--line);padding-top:26px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.explore-more p{margin:0 auto 0 0;color:var(--muted)}.about-hero{grid-template-columns:1.1fr 1fr}.about-hero h1{font-size:clamp(2.8rem,4.5vw,4.6rem)}.about-hero .landscape img{height:460px;object-position:center}.approach{background:#e9eee5}.approach .about{padding-top:70px;padding-bottom:70px}.reviews-heading{padding-top:24px;padding-bottom:38px}.reviews-heading h1{font-size:clamp(3.2rem,6vw,5.7rem)}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.review{margin:0;padding:34px;background:#e9eee5;border-radius:9px}.review:nth-child(3n+2){background:#f0ece2}.quote-mark{font:4rem/1 Georgia,serif;color:var(--teal);display:block;height:44px}.review blockquote{margin:8px 0 23px}.review blockquote p{margin:0;font-size:1.05rem;line-height:1.8}.review figcaption{font-size:.9rem;font-weight:600}.review-wide{grid-column:1/-1}.review-wide blockquote{columns:2;column-gap:40px}.footer-top{justify-content:flex-start;gap:60px}.footer-top>p{margin-left:auto}
@media(max-width:1000px){.detail-hero{gap:5%}.detail-hero h1{font-size:3.4rem}.detail-photo img{height:470px}.detail-photo.landscape img{height:400px}.facts{gap:23px}.about-hero{grid-template-columns:1.1fr 1fr}.about-hero h1{font-size:3rem}}
@media(max-width:760px){.detail-hero,.about-hero{grid-template-columns:1fr;gap:30px;padding-top:22px;padding-bottom:34px}.breadcrumb{margin-bottom:27px;font-size:.78rem}.detail-hero h1,.about-hero h1{font-size:clamp(2.65rem,9.5vw,3.8rem)}.detail-intro{font-size:1.05rem;margin:22px 0}.detail-photo img{height:440px}.detail-photo.landscape img,.about-hero .landscape img{height:auto;aspect-ratio:1.25;object-fit:cover}.facts{grid-template-columns:1fr;gap:22px;padding:25px 0}.facts>div+div{border-top:1px solid var(--line);padding-top:20px}.detail-about{padding-top:54px;padding-bottom:45px}.explore-more{gap:18px;align-items:flex-start;flex-direction:column}.approach .about{padding:50px 0}.reviews-heading{padding-top:22px;padding-bottom:25px}.reviews-grid{grid-template-columns:1fr;gap:20px}.review{padding:27px}.review-wide{grid-column:auto}.review-wide blockquote{columns:auto}.review blockquote p{font-size:1rem}.footer-top{gap:14px}.footer-top>p{margin-left:0}}
/* Original About photography and frequently asked questions. */
.about-hero .about-portrait img{height:auto;aspect-ratio:auto;object-fit:contain}.about-action{margin:30px 0 0;border-radius:9px;overflow:hidden;background:var(--paper)}.about-action img{width:100%;height:auto}.about-action figcaption{padding:12px 17px;font-size:.82rem;line-height:1.5}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:9%;padding-top:15px;padding-bottom:20px}.faq-intro h2{font-size:2.8rem;margin-bottom:24px}.faq-intro>p:not(.eyebrow){color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-family:'Manrope',Arial,sans-serif;font-weight:600;font-size:1.1rem;line-height:1.5;padding:24px 34px 24px 0;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:3px;top:22px;font:1.6rem/1.5 Arial,sans-serif;color:var(--teal)}.faq-item[open] summary:after{content:'−'}.faq-item summary:hover{color:var(--teal)}.faq-item summary:focus-visible{outline:3px solid #ad6922;outline-offset:4px}.faq-answer{padding:0 24px 12px 0;color:var(--muted)}.faq-answer p{line-height:1.8}.faq-intro{align-self:start;padding-top:16px}@media(max-width:760px){.faq-layout{grid-template-columns:1fr;gap:30px}.faq-intro h2{font-size:2.4rem}.faq-item summary{font-size:1rem;padding-top:21px;padding-bottom:21px}.faq-answer{padding-right:0}.about-hero .about-portrait img{height:auto;aspect-ratio:auto}.about-action{margin-top:25px}.faq-intro{padding-top:0}}

@media(min-width:761px){.about-facts>div{display:grid;grid-template-rows:1.287rem auto;row-gap:9px;align-content:start}.about-facts .eyebrow{grid-row:1;margin:0}.about-facts p:last-child{grid-row:2}}
