@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');:root{--forest:#284d3e;--sage:#dbe5d4;--cream:#f8f5ed;--ink:#24372d;--gold:#bd9865}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;font-weight:600}h1{font-size:clamp(2.7rem,6vw,5.5rem);margin:.2em 0}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.5rem}a{color:inherit}.container{max-width:1140px;margin:auto;padding:0 25px}.site-header{background:#fffdf8;position:sticky;top:0;z-index:10;border-bottom:1px solid #e6e7dc}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px}.brand{font-family:Fraunces,Georgia,serif;font-size:1.55rem;text-decoration:none;color:var(--forest);font-weight:600}.brand small{display:block;font:600 .6rem 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:24px}.nav a{text-decoration:none;font-size:.92rem;font-weight:600}.nav a[aria-current=page]{color:#6c8a66;border-bottom:2px solid #6c8a66}.nav .nav-cta{background:var(--forest);color:white;padding:10px 18px;border-radius:30px}.menu-button{display:none;border:1px solid var(--forest);border-radius:6px;background:transparent;padding:8px 12px;color:var(--forest);font-weight:700}.hero{background:linear-gradient(110deg,rgba(27,65,49,.92),rgba(40,77,62,.73)),url('images/cohen-with-dogs.webp') center/cover;min-height:560px;display:flex;align-items:center;color:white}.hero .container{width:100%}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.76rem;font-weight:700}.hero p{font-size:1.15rem;max-width:590px}.btn{display:inline-block;text-decoration:none;background:var(--forest);color:#fff;padding:13px 24px;border-radius:40px;font-weight:700;margin:10px 10px 0 0}.btn.light{background:#fffdf8;color:var(--forest)}.btn.outline{background:transparent;border:1px solid var(--forest);color:var(--forest)}.section{padding:75px 0}.section.soft{background:#edf0e7}.intro{max-width:720px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fffdf8;border-radius:16px;padding:30px;box-shadow:0 5px 20px #183c2c0b}.card .symbol{font-size:2rem}.card p{margin-bottom:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.photo{background:linear-gradient(145deg,#c6d8bb,#e6dfc9);border-radius:18px;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;color:#47644d;padding:30px;border:1px solid #b8cbb0}.photo small{display:block;font-size:.9rem;max-width:250px}.banner{background:var(--forest);color:white;text-align:center;padding:65px 25px}.banner h2{margin:0 0 10px}.page-heading{background:var(--sage);padding:75px 0 65px}.page-heading h1{font-size:clamp(2.7rem,5vw,4.4rem)}.page-heading p{max-width:690px;font-size:1.1rem}.service{display:grid;grid-template-columns:110px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid #d7ddce}.service-icon{height:88px;width:88px;border-radius:18px;background:var(--sage);display:grid;place-items:center;font-size:2.3rem}.service h2{font-size:1.65rem;margin:0 0 8px}.service p{margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery .photo{min-height:230px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.contact-box{background:#fffdf8;padding:35px;border-radius:16px}.muted{color:#596d60}.footer{background:#1f3b30;color:#e7eee5;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:#e7eee5}.fine{font-size:.82rem;color:#bfcfc2}.notice{font-size:.9rem;background:#eef2e8;border-left:4px solid #7b9b77;padding:16px;margin-top:20px}@media(max-width:800px){.menu-button{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fffdf8;padding:20px 25px;flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd}.nav.open{display:flex}.grid,.gallery{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr}.hero{min-height:490px}.section{padding:55px 0}}@media(max-width:540px){.grid,.gallery{grid-template-columns:1fr}.service{grid-template-columns:1fr;gap:12px}.service-icon{height:65px;width:65px}.header-inner{min-height:75px}.nav{top:75px}}
.photo {padding:0;overflow:hidden;display:block;min-height:0;background:#e5ebdd;}
.photo img {display:block;width:100%;height:100%;min-height:340px;object-fit:cover;}
.gallery .photo img {height:280px;min-height:0;}
.gallery figure {margin:0;}
.gallery figcaption {padding:10px 3px 0;font-size:.92rem;color:#536a5a;}
.gallery .photo {border:0;}
@media(max-width:540px){.gallery .photo img{height:290px}}
/* Homepage hero: Cohen with the family dogs, visible behind the headline. */
.hero{background-image:linear-gradient(90deg,rgba(20,48,35,.88) 0%,rgba(20,48,35,.72) 38%,rgba(20,48,35,.10) 75%),url('images/dogs-and-cohen.webp');background-position:center,center 43%;background-size:cover;background-repeat:no-repeat}
@media(max-width:700px){.hero{background-image:linear-gradient(180deg,rgba(20,48,35,.62),rgba(20,48,35,.76)),url('images/dogs-and-cohen.webp');background-position:center,center 35%;}}

/* Wider framing ensures Cohen's face is visible on desktop and mobile. */
.hero{background-image:linear-gradient(90deg,rgba(20,48,35,.88) 0%,rgba(20,48,35,.72) 39%,rgba(20,48,35,.06) 76%),url('images/cohen-hero-wide.webp');background-position:center;background-size:cover;min-height:610px}
@media(max-width:700px){.hero{background-image:linear-gradient(180deg,rgba(20,48,35,.50),rgba(20,48,35,.75)),url('images/cohen-hero-wide.webp');background-position:68% center;min-height:560px}}
