
:root{
  --green:#185b34;
  --green-2:#9fc65d;
  --green-3:#c7dda2;
  --cream:#fbf8f1;
  --cream-2:#f3f6ea;
  --card:#ffffff;
  --ink:#27342a;
  --muted:#5e6d61;
  --line:#e4e8df;
  --shadow:0 12px 32px rgba(21,58,35,.10);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(24,91,52,.98);box-shadow:0 4px 18px rgba(0,0,0,.12)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:700 1.18rem/1.15 Georgia,serif;min-width:0}
.brand img{width:54px;height:54px;object-fit:contain;flex:0 0 auto}
.brand span{white-space:nowrap}
.nav{display:flex;align-items:center;gap:8px}
.nav a{padding:10px 14px;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.nav a:hover,.nav a[aria-current='page']{background:rgba(255,255,255,.16)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.8rem;line-height:1;padding:0}
main{overflow:hidden}
.eyebrow{color:var(--green-2);font-size:.82rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,serif;color:var(--green);margin:0}
h1{font-size:clamp(2.25rem,5vw,4.75rem);line-height:1.02}
h2{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.12}
h3{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.12}
.lead{font-size:1.12rem;color:var(--muted);max-width:62ch}
.hero{padding:52px 0 58px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:42px}
.hero-copy{padding:8px 0}
.hero-photo-wrap{background:#eef3e5;border-radius:28px;box-shadow:var(--shadow);padding:0;overflow:hidden}
.hero-photo{width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#eef3e5}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-block;padding:12px 22px;border-radius:999px;border:2px solid var(--green);background:var(--green);color:#fff;font-weight:800;text-decoration:none}
.btn.secondary{background:transparent;color:var(--green)}
.section{padding:56px 0}
.section.alt{background:#eef3e5}
.intro{max-width:760px;margin-bottom:28px}
.balanced,.page-hero h1{text-wrap:balance}
.nowrap{white-space:nowrap}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.feature h3{font-size:1.35rem;margin-bottom:8px}
.feature p{margin:0;color:var(--muted)}
.page-hero{padding:54px 0 24px}
.page-hero .lead{margin-top:12px}
.content-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:40px}
.rounded{border-radius:24px;box-shadow:var(--shadow)}
.about-photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.services-intro{max-width:820px}
.service-group{padding:22px 0 8px;scroll-margin-top:92px}
.service-group h2{margin-bottom:18px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{display:grid;grid-template-columns:minmax(250px,44%) 1fr;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);min-height:260px}
.service-card.signature{border:2px solid var(--green-2)}
.service-media{background:#f5f7ec;display:flex;align-items:center;justify-content:center;padding:28px;min-height:100%}
.service-icon{display:block;max-width:100%;max-height:190px;width:auto;height:auto;object-fit:contain}
.service-body{padding:28px}
.service-body h3{font-size:1.2rem;margin-bottom:10px}
.service-body p{margin:0;color:var(--muted)}
.service-note{margin-top:14px;padding:10px 14px;border-left:4px solid var(--green-2);background:#f1f6e7;color:#425244;font-size:.96rem}
.service-link{display:inline-block;margin-top:12px;color:var(--green);font-weight:800;text-decoration-thickness:2px;text-underline-offset:3px}
.book-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px}
.book-sample{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.book-sample img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#f2f2f2}
.book-sample figcaption{margin-top:12px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:center}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow)}
.contact-card h2{margin-bottom:14px}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{margin:14px 0;color:var(--ink)}
.contact-list strong{display:block;color:var(--green)}
.contact-list a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.contact-photo-card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#eef3e5}
.contact-photo-single{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.cta{background:var(--green);color:#fff;padding:48px 0;margin-top:32px}.cta h2{color:#fff}.cta p{color:#eef7eb;max-width:56ch}.cta .btn{background:#fff;color:var(--green);border-color:#fff}
.site-footer{background:#123d23;color:#eaf2e7;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-nav{display:flex;gap:16px;flex-wrap:wrap}.footer-nav a{text-decoration:none;color:#eaf2e7}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
@media (max-width: 980px){
  .hero-grid,.content-grid,.contact-grid,.service-grid,.grid-3,.book-samples{grid-template-columns:1fr}
  .service-card{grid-template-columns:minmax(220px,42%) 1fr}
  .contact-photo-single{aspect-ratio:4/3}
}
@media (max-width: 820px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:76px;background:#185b34;padding:14px 20px 18px;flex-direction:column;align-items:stretch;box-shadow:0 12px 24px rgba(0,0,0,.12)}
  .nav.open{display:flex}
  .nav a{text-align:center}
  .brand span{font-size:1.05rem}
  .hero{padding:18px 0 36px}
  .page-hero{padding:32px 0 12px}
  .section{padding:40px 0}
  .service-card{grid-template-columns:1fr;min-height:unset}
  .service-media{padding:22px;min-height:210px}
  .service-body{padding:22px}
  .service-icon{width:min(170px,52vw);height:auto}
  .service-body{width:100%}
  .contact-photo-single{aspect-ratio:4/3}
}
@media (max-width: 560px){
  .container{width:min(100% - 24px,1160px)}
  .header-inner{min-height:72px}
  .brand img{width:48px;height:48px}
  .brand span{font-size:.98rem}
  h1{font-size:clamp(2rem,11vw,3.2rem)}
  .lead{font-size:1.04rem}
  .service-group{padding-top:16px}
  .contact-card{padding:24px}
  .contact-photo-single{aspect-ratio:4/3}
}
