
:root{--ink:#2c3127;--deep:#1d322b;--olive:#656d3f;--olive-dark:#4b542e;--sage:#e7e9dc;--sand:#eee8db;--paper:#f9f7f0;--white:#fffdf8;--muted:#62675f;--stroke:#dcd9cb;--radius:18px;--wide:1160px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Trebuchet MS',Arial,sans-serif}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;line-height:1.12;letter-spacing:-.02em}h1{font-size:clamp(2.45rem,5vw,4.65rem);font-weight:normal;margin:.4em 0 .38em}h2{font-size:clamp(2.05rem,3.8vw,3.05rem);font-weight:normal;margin:0 0 .5em}h3{font-size:1.43rem;font-weight:normal;margin:0 0 .3em}p{margin:.3em 0 1.2em}a{color:inherit}a:hover{text-decoration-color:var(--olive)}img{display:block;max-width:100%}.container{width:min(var(--wide),calc(100% - 48px));margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:700;color:var(--olive-dark)}.small{font-size:.9rem;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;text-decoration:none;font-weight:bold;font-size:.95rem;border-radius:999px;background:var(--olive);color:white;padding:13px 26px;border:2px solid var(--olive);min-height:49px;transition:background .2s ease,transform .2s ease}.button:hover{background:var(--olive-dark);border-color:var(--olive-dark);transform:translateY(-1px)}.button-outline{background:transparent;color:var(--deep)}.button-outline:hover{color:white}.skip{position:absolute;top:-80px;left:12px;padding:10px;background:#fff;z-index:1000}.skip:focus{top:5px}.stage-banner{background:#243f35;color:#fff;text-align:center;font-size:.75rem;letter-spacing:.09em;padding:7px 12px}.site-header{background:rgba(249,247,240,.98);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--stroke);backdrop-filter:blur(12px)}.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.03;white-space:nowrap}.brand-main{font-family:'Brush Script MT','Segoe Script',Georgia,cursive;font-style:italic;font-size:2.15rem;color:var(--deep)}.brand-sub{font-size:.58rem;text-align:center;letter-spacing:.3em;text-transform:uppercase;font-weight:bold;color:#656b45}.menu{display:flex;gap:24px;align-items:center}.menu a{text-decoration:none;font-weight:600;font-size:.86rem}.menu a:not(.button):hover{text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none;background:none;border:1px solid var(--stroke);padding:8px 11px;border-radius:8px;font:inherit}.hero{display:grid;grid-template-columns:1.03fr 1fr;min-height:570px;background:linear-gradient(110deg,#f7f4eb 0%,#f5f0e5 53%,#ddd7c8 100%);overflow:hidden}.hero-copy{padding:82px max(30px,calc((100vw - var(--wide)) / 2)) 68px max(30px,calc((100vw - var(--wide)) / 2));padding-right:45px;align-self:center}.hero-copy p{max-width:540px;font-size:1.075rem;line-height:1.8}.hero-photo{position:relative;min-height:400px;background:#bfc5b9}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 47%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,240,229,.26),transparent 35%)}.location{display:flex;align-items:center;gap:7px;font-size:.83rem;color:#4c5649;margin-top:17px}.trust-line{font-size:.78rem;letter-spacing:.03em;margin-top:18px;color:#4d5545}.slideshow{position:relative;min-height:295px;overflow:hidden;background:#d7d9cc}.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;background-size:cover;background-position:center}.slide.active{opacity:1;visibility:visible}.slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,35,30,.52),rgba(24,35,30,.34))}.slide blockquote{position:relative;margin:0 100px;max-width:950px;font:italic clamp(1.55rem,3vw,2.7rem)/1.4 Georgia,serif;color:white;text-shadow:0 2px 4px #0005}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #fffd;background:#fff9;color:#263d32;width:43px;height:43px;border-radius:50%;font-size:25px;cursor:pointer;z-index:1}.slider-arrow:hover{background:white}.slider-prev{left:22px}.slider-next{right:22px}.slider-dots{position:absolute;bottom:15px;left:0;right:0;display:flex;justify-content:center;gap:9px;z-index:2}.slider-dot{border:1px solid #fff;background:transparent;width:10px;height:10px;border-radius:50%;padding:0;cursor:pointer}.slider-dot[aria-current=true]{background:white}.section{padding:88px 0}.section.center{text-align:center}.section-soft{background:var(--sand)}.intro{max-width:740px;margin:0 auto 36px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.service-card{background:var(--white);border:1px solid #e7e1d7;border-radius:16px;overflow:hidden;box-shadow:0 13px 32px #1d282211;display:flex;flex-direction:column}.service-card img{width:100%;height:208px;object-fit:cover}.service-card .content{padding:23px;display:flex;flex:1;flex-direction:column}.service-card p{color:#596057;font-size:.92rem;line-height:1.6}.service-card .text-link{margin-top:auto;color:var(--olive-dark);font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}.about-wrap{display:grid;grid-template-columns:.75fr 1fr;gap:65px;align-items:center}.about-wrap img{height:455px;width:100%;object-fit:cover;object-position:center;border-radius:12px}.about-wrap .credentials{font-size:.78rem;letter-spacing:.12em;font-weight:700;color:var(--olive-dark)}.testimonial{max-width:850px;margin:0 auto;text-align:center}.testimonial .quote{font:italic clamp(1.2rem,2.3vw,1.75rem)/1.6 Georgia,serif}.testimonial .name{font-size:.85rem;color:#6c715e;font-weight:700;letter-spacing:.08em}.cta-section{position:relative;overflow:hidden;background:linear-gradient(120deg,#e3e5dc,#f4eee3);padding:80px 0;text-align:center}.cta-section:before,.cta-section:after{content:'〰';position:absolute;font-size:16rem;color:#6d8a7640;top:-80px}.cta-section:before{left:-65px}.cta-section:after{right:-45px}.footer{background:#24372f;color:#f5f2ea;padding:52px 0 25px}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:inherit}.footer .muted{color:#cad2c7}.page-hero{padding:78px 0 62px;background:linear-gradient(110deg,#f4efe3,#e1e8df)}.page-hero h1{max-width:890px}.page-hero p{max-width:720px;font-size:1.1rem}.detail{display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:start}.detail .sidebar{background:var(--white);padding:25px;border:1px solid var(--stroke);border-radius:14px}.detail ul{padding-left:22px}.detail li{margin:0 0 7px}.detail h2{font-size:2rem;margin-top:30px}.detail h2:first-child{margin-top:0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.contact-panel{background:#fffdf8;border:1px solid var(--stroke);border-radius:15px;padding:27px}.notice{padding:13px 18px;background:#fff2d6;border-left:4px solid #a27621;font-size:.86rem;margin:22px 0}.blog-card{background:#fffdf8;border-radius:16px;padding:25px;border:1px solid var(--stroke)}.bullets{padding-left:20px}.bullets li{margin-bottom:10px}a:focus-visible,button:focus-visible{outline:3px solid #b07828;outline-offset:4px}
@media(max-width:900px){.menu{gap:13px}.menu a{font-size:.78rem}.hero{grid-template-columns:1fr 1fr;min-height:495px}.hero-copy{padding:56px 28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-wrap{gap:35px}}
@media(max-width:700px){.container{width:min(100% - 34px,var(--wide))}.nav-wrap{min-height:73px}.brand-main{font-size:1.83rem}.menu-toggle{display:block}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--stroke);padding:20px;flex-direction:column;align-items:stretch;gap:15px}.menu.open{display:flex}.menu .button{display:flex}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:44px 23px 36px}.hero-copy h1{font-size:clamp(2.45rem,9vw,3.35rem)}.hero-copy p{font-size:1rem;line-height:1.66}.hero-photo{height:270px;min-height:0}.slide blockquote{margin:0 58px;font-size:clamp(1.4rem,5vw,2rem)}.slideshow{min-height:270px}.slider-arrow{width:33px;height:33px}.slider-prev{left:11px}.slider-next{right:11px}.grid{grid-template-columns:1fr}.service-card img{height:225px}.section{padding:61px 0}.about-wrap,.detail,.contact-grid{grid-template-columns:1fr;gap:27px}.about-wrap img{height:360px}.page-hero{padding:52px 0 43px}.footer-grid{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::after,*::before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ──────────────────────────────────────────────────────────────
   Fern & coastal editorial design — Nov 2026
   Based on the approved full-page Zen Critter mockup.
   These are progressive overrides: all existing interior pages
   continue to use the shared design system and navigation.
   ────────────────────────────────────────────────────────────── */
:root{
  --ink:#25352c;
  --deep:#25372b;
  --olive:#646a37;
  --olive-dark:#48522c;
  --sage:#e7e6d7;
  --sand:#f1e9df;
  --paper:#f9f6f0;
  --white:#fffdf9;
  --stroke:#e5ddcf;
  --muted:#565e53;
  --wide:1180px;
}
body{
  color:var(--ink);
  background-color:var(--paper);
  background-image:radial-gradient(#8d816e13 .65px,transparent .8px);
  background-size:7px 7px;
}
h1,h2,h3,.serif{font-family:Georgia,'Iowan Old Style','Times New Roman',serif;letter-spacing:-.028em}
h1{font-weight:400;line-height:1.035}
h2{font-weight:400}
p{line-height:1.64}
.stage-banner{background:#394739;font-size:.68rem;padding:5px 12px;letter-spacing:.16em}
.site-header{background:rgba(251,248,243,.98);box-shadow:0 1px 12px #1b2b1814;border-color:#ded9cc}
.nav-wrap{min-height:82px}
.brand{position:relative;padding-left:50px;min-width:240px;overflow:visible}
.brand::before{
  content:"";
  position:absolute;left:0;top:1px;height:42px;width:43px;
  background-image:url("assets/fern.svg");
  background-position:center;background-size:contain;background-repeat:no-repeat;
  transform:rotate(-19deg);
  filter:saturate(.5) brightness(.76);
}
.brand-main{font-size:2.2rem;color:#252d24;font-weight:500;line-height:1.03;letter-spacing:-.065em}
.brand-sub{font-size:.59rem;letter-spacing:.2em;color:#555c43;text-align:left;margin-top:7px}
.menu{gap:22px}
.menu a:not(.button){color:#2a3029}
.menu a[aria-current=page]{text-decoration:underline;text-decoration-color:#6e7841;text-underline-offset:8px;text-decoration-thickness:2px}
.menu .button{padding:10px 21px;min-height:43px}
.button{border-radius:17px;font-weight:700;background:linear-gradient(120deg,#747944,#555d2f);border-color:#5e6737;box-shadow:0 2px 5px #28301b1c}
.button:hover{background:#454f2c;box-shadow:0 4px 12px #28301b22}
.button-outline{color:#4e5e36;background:#ffffff90;border-color:#6b784d}
.button-small{padding:9px 17px;font-size:.83rem;min-height:36px;border-radius:9px;box-shadow:none}
.eyebrow{color:#4d5933;font-size:.74rem;letter-spacing:.17em}
.hero{position:relative;display:block;min-height:476px;isolation:isolate;background:linear-gradient(105deg,#f5efe5,#e3ded4);overflow:hidden}
.hero-copy{position:relative;z-index:2;width:59%;padding:58px 30px 38px max(34px,calc((100vw - var(--wide))/2));align-self:auto}
.hero-copy h1{max-width:670px;font-size:clamp(2.55rem,4.45vw,4.55rem);line-height:1.04;margin:.21em 0 .28em;color:#242820}
.hero-copy .eyebrow{font-size:.8rem;letter-spacing:.18em}
.hero-copy p{max-width:565px;font-size:1.04rem;line-height:1.58;color:#30352d;margin-bottom:20px}
.hero-copy .button{margin-bottom:3px}
.hero-photo{position:absolute;inset:0 0 0 39%;z-index:0;min-height:0;background:#c1b6a6}
.hero-photo img{width:100%;height:100%;object-position:52% 49%;object-fit:cover}
.hero-photo:after{content:"";inset:0;position:absolute;background:linear-gradient(90deg,#f5efe5 0%,rgba(245,239,229,.90) 13%,rgba(245,239,229,.36) 35%,transparent 62%)}
.location{font-size:.79rem;font-weight:600;color:#3f473b;line-height:1.5;max-width:500px;margin-top:14px}
.trust-line{font-size:.71rem;color:#525b4a;margin-top:11px}
.slideshow{height:205px;min-height:205px;background:#e1d7ca}
.slide{background-position:center 57%}
.slide::before{background:linear-gradient(90deg,rgba(249,238,224,.74),rgba(249,228,216,.66),rgba(250,237,228,.70))}
.slide-content{position:relative;z-index:1;max-width:1050px;padding:12px 30px;text-align:center}
.slide .slide-flourish{display:block;color:#5d6a40;font-size:1.4rem;line-height:1.2;margin-bottom:6px}
.slide blockquote{font:italic clamp(1.3rem,2.65vw,2.45rem)/1.35 Georgia,serif;letter-spacing:-.023em;color:#233126;text-shadow:none;margin:0 auto;max-width:950px}
.slider-arrow{background:#f9f3e5c9;color:#253329;border:1px solid #807869;width:37px;height:37px;top:53%;font-size:23px;line-height:1}
.slider-arrow:hover{background:#fffaf0}
.slider-dots{bottom:13px;gap:7px}
.slider-dot{width:9px;height:9px;background:#ffffffb5;border-color:#6c744c}
.slider-dot[aria-current=true]{background:#485932}
.section-services{position:relative;padding:60px 0 45px;background:#f7f4ed;overflow:hidden;isolation:isolate}
.section-services::before,.section-services::after{
  content:"";position:absolute;z-index:0;bottom:-44px;
  width:255px;height:430px;background:url("assets/fern.svg") center/contain no-repeat;
  opacity:.42;pointer-events:none;
}
.section-services::before{left:-133px;transform:rotate(-18deg)}
.section-services::after{right:-136px;transform:scaleX(-1) rotate(-18deg)}
.section-services .container{position:relative;z-index:1}
.section-services h2{font-size:clamp(2rem,3.2vw,2.85rem);margin-bottom:12px}
.section-services .intro{max-width:750px;color:#64665b;font-size:.99rem;margin-bottom:29px}
.featured-services{gap:24px;text-align:left}
.featured-services .service-card{background:#fffdfaef;border:1px solid #e7e3da;box-shadow:0 12px 32px #4b483414;border-radius:14px}
.featured-services .service-card img{height:170px;object-position:center}
.featured-services .content{padding:20px 23px 22px;align-items:flex-start}
.featured-services h3{font-size:1.33rem;font-weight:bold;line-height:1.17;color:#242b22;margin-bottom:6px}
.featured-services p{font-size:.91rem;line-height:1.46;margin:0 0 17px;color:#434b40}
.featured-services .button{margin-top:auto}
.service-sub-link{display:inline-block;font-size:.74rem;color:#59653c;margin-top:10px;text-underline-offset:3px}
.other-services{font-size:.87rem;margin:23px 0 0;color:#555c4a}
.other-services a{color:#485a2d;text-decoration-thickness:1px;text-underline-offset:4px;font-weight:bold}
.section-about{background:#f2ece3;padding:37px 0 45px}
.section-about .about-wrap{grid-template-columns:minmax(0,.81fr) minmax(0,1.06fr) minmax(0,.75fr);gap:30px}
.section-about .about-wrap>img{width:100%;height:270px;border-radius:12px;object-fit:cover;box-shadow:0 2px 12px #4b38211c}
.section-about .about-main h2{font-size:2.7rem;margin:.08em 0 .23em}
.section-about .about-main p{font-size:.9rem;line-height:1.54;margin-bottom:10px}
.section-about .about-main .about-lead{font-weight:700;font-family:Georgia,serif;font-size:1.09rem}
.section-about .credentials{font-size:.72rem;letter-spacing:.06em;color:#405434;font-weight:bold;margin-top:16px}
.about-note{align-self:center;text-align:center;padding:24px 15px;position:relative}
.about-note::before{content:"";position:absolute;inset:10px -7px 60px;background:#e1dfce;border-radius:42% 18% 38% 20%;transform:rotate(-3deg);z-index:0}
.about-note>*{position:relative;z-index:1}
.about-note .about-leaves{font-size:2.3rem;color:#6b7954;display:block}
.about-note p{font:italic 1.22rem/1.5 Georgia,serif;margin:4px 0 23px;color:#2a3528}
.about-note .button{font-size:.76rem;white-space:nowrap}
.section-testimonials{padding:42px 0 47px;background:linear-gradient(180deg,#f9f5ed,#f5efe7);text-align:center}
.section-testimonials h2{font-size:2.3rem;margin:0 0 17px}
.quote-carousel{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;max-width:1010px;margin:auto}
.quote-arrow{width:39px;height:39px;display:grid;place-items:center;cursor:pointer;background:transparent;border:1px solid #7f826f;border-radius:50%;color:#354531;font:24px Georgia,serif;justify-self:center}
.quote-arrow:hover{background:#ece8d9}
.testimonial{max-width:780px}
.client-quote{margin:0}
.client-quote blockquote{font:italic 1.21rem/1.48 Georgia,serif;color:#30362a;margin:0 auto 10px;max-width:760px}
.client-quote blockquote::before{content:"“";font:700 3.4rem Georgia,serif;color:#919777;vertical-align:middle;line-height:0}
.client-quote figcaption{font-size:.78rem;text-align:right;color:#424d3a}
.client-quote[hidden]{display:none}
.quote-dots{display:flex;justify-content:center;gap:8px;margin:17px 0 0}
.quote-dots button{border:1px solid #777c5d;border-radius:50%;background:#d5d5c4;width:9px;height:9px;padding:0;cursor:pointer}
.quote-dots button[aria-current=true]{background:#596539}
.cta-section{min-height:215px;background:linear-gradient(90deg,#e6d9caab,#efe8d2bb,#e0d7c2aa),url('https://zencritter.com/wp-content/uploads/revslider/o/4/ad04aa829a3e7744de9e508e4b5592f9.webp') center 57%/cover no-repeat;padding:44px 0}
.cta-section::before,.cta-section::after{content:none}
.cta-section h2{font-size:2.75rem;margin:5px 0 8px;color:#243127}
.cta-section .eyebrow{font-size:.68rem}
.cta-section p{margin:2px auto 15px;max-width:600px;font-size:.91rem;color:#3b4639}
.cta-section .button{min-height:45px;padding:10px 25px}
.page-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(108deg,#f5f0e8,#e6e9df)}
.page-hero::after{content:"";position:absolute;z-index:-1;right:0;bottom:-170px;width:260px;height:420px;background:url("assets/fern.svg") center/contain no-repeat;opacity:.19;transform:scaleX(-1) rotate(12deg)}
.footer{background:#25392d}
.footer .brand-main{color:#f6f2e9}
@media(min-width:1200px){.hero-copy{padding-left:max(40px,calc((100vw - var(--wide))/2))}}
@media(max-width:1050px){.menu{gap:14px}.brand{min-width:198px}.brand-main{font-size:1.85rem}.hero-copy{width:65%;padding:48px 26px 40px 32px}.hero-photo{left:36%}.section-about .about-wrap{grid-template-columns:1fr 1.25fr;gap:24px}.about-note{grid-column:1/-1;padding:12px 25px}.about-note::before{inset:6px 15% 43px}.about-note .button{margin-bottom:8px}}
@media(max-width:760px){
  .brand{padding-left:33px;min-width:0}
  .brand::before{width:30px;height:31px;top:2px}
  .brand-main{font-size:1.82rem}
  .brand-sub{font-size:.53rem}
  .menu .button{width:100%}
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-copy{width:100%;padding:36px 22px 31px}
  .hero-copy h1{font-size:clamp(2.48rem,9.5vw,3.5rem)}
  .hero-copy p{font-size:1rem}
  .hero-photo{position:relative;inset:auto;height:265px;min-height:265px;width:100%}
  .hero-photo:after{background:linear-gradient(180deg,rgba(248,241,228,.23),transparent 30%)}
  .slideshow{height:225px;min-height:225px}
  .slide blockquote{font-size:clamp(1.25rem,5.1vw,1.76rem);line-height:1.32}
  .slide-content{padding:6px 50px}
  .slider-arrow{height:32px;width:32px;top:49%}
  .section-services{padding:48px 0 38px}
  .section-services::before,.section-services::after{width:180px;height:280px;opacity:.22}
  .section-services::before{left:-100px}.section-services::after{right:-100px}
  .featured-services{grid-template-columns:1fr}
  .featured-services .service-card img{height:215px}
  .section-about .about-wrap{grid-template-columns:1fr;gap:18px}
  .section-about .about-wrap>img{height:300px}
  .section-about{padding:36px 0}
  .section-about .about-main h2{font-size:2.45rem}
  .about-note{grid-column:auto}
  .quote-carousel{grid-template-columns:30px 1fr 30px;gap:3px}
  .quote-arrow{width:30px;height:30px;font-size:18px}
  .client-quote blockquote{font-size:1.07rem}
  .section-testimonials{padding:44px 0}
  .section-testimonials h2{font-size:2rem}
  .cta-section h2{font-size:2.4rem}
}
@media(prefers-reduced-motion:reduce){.slide{transition:none}.button:hover{transform:none}}
