:root{--ink:#314035;--muted:#58645b;--green:#536f59;--pale:#f2f4ee;--line:#dfe4db;--font:'Helvetica Neue',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font);font-weight:500;line-height:1.3;letter-spacing:0}h1{font-size:34px}h2{font-size:28px}h3{font-size:23px}p{color:var(--muted)}p+p{margin-top:18px}.section{max-width:1160px;margin:auto;padding:55px 28px}.eyebrow{font-size:16px;font-weight:400;color:var(--muted);margin-bottom:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--green);color:white;padding:12px 20px;font-size:16px;font-weight:500;border:1px solid var(--green);border-radius:3px;line-height:1.5;transition:background .15s}.button:hover{background:#2b4232}.text-link{display:inline-block;font-size:16px;color:var(--green);text-decoration:underline;text-underline-offset:5px}.text-link:hover{color:#203a29}.text-link span{padding-left:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a67d3d;outline-offset:5px}.skip{position:absolute;top:-100px;left:15px;background:white;padding:15px;z-index:10}.skip:focus{top:0}.site-header{border-bottom:1px solid #edf0e9}.header-inner{max-width:1440px;margin:auto;display:flex;align-items:center;gap:30px;padding:24px 35px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand svg{width:32px;height:42px;fill:none;stroke:#5a7052;stroke-width:1.3}.brand>span{font-size:25px;font-weight:400;line-height:1.2}.navigation{display:flex;align-items:center;gap:26px;margin-left:auto}.navigation nav{display:flex;gap:22px;align-items:center}.navigation nav a{font-size:15px;padding:6px 0;white-space:nowrap;border-bottom:1px solid transparent}.navigation nav a:hover,.navigation nav a[aria-current=page]{border-color:var(--green)}.portal{font-size:15px;white-space:nowrap}.header-consult{white-space:nowrap;flex-shrink:0}.menu-toggle{display:none}.home-intro{max-width:1160px;margin:auto;padding:32px 28px 27px;text-align:center}.home-intro h1{font-size:29px;font-weight:400}.home-intro p{margin-top:8px;font-size:18px}.home-specialties{max-width:1160px;margin:auto;padding:0 28px 35px}.home-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.home-card{position:relative;display:block;height:224px;overflow:hidden;background:var(--pale)}.home-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 5%,rgba(18,31,21,.36) 60%,rgba(18,31,21,.58))}.home-card img{transition:transform .3s}.home-card:hover img{transform:scale(1.025)}.home-card:first-child img{object-position:50% 44%}.home-card-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1;padding:24px;text-align:center;color:#fff;text-shadow:0 1px 5px #0006}.home-card h2{font-size:29px;font-weight:500}.home-card p{color:white;font-size:16px;line-height:1.4;margin-top:10px}.all-services{display:block;text-align:center;margin:23px auto 0;width:fit-content}.home-about{display:flex;align-items:center;justify-content:center;gap:45px;border-top:1px solid var(--line);max-width:1104px;padding:40px 28px}.home-about img{width:160px;height:180px;object-position:50% 32%}.home-about>div{max-width:510px}.home-about p{margin:14px 0 17px}.steps{max-width:none;background:var(--pale);padding-top:45px;padding-bottom:45px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.centered{text-align:center}.section-heading.centered{display:block}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1104px;margin:30px auto;text-align:center}.step-icon{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#e1e8da;margin:0 auto 18px}.step-icon svg{width:32px;fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.step h3{font-size:20px}.step p{font-size:16px;max-width:295px;margin:10px auto 0}.closing{text-align:center;padding:45px 24px 55px}.closing p{margin:12px 0 22px}footer{background:#f5f6f1;padding:38px 28px 20px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;max-width:1104px;margin:auto}.footer-brand{font-size:25px}.footer-top p,.footer-top a:not(.footer-brand){font-size:16px}.footer-top .eyebrow{font-size:16px;margin-bottom:10px}.footer-top>div>a:not(.footer-brand){display:block;margin-bottom:5px}.footer-top>div>p:not(.eyebrow){margin:10px 0}.footer-bottom{max-width:1104px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;margin:30px auto 0;font-size:14px;color:var(--muted)}.page-heading{text-align:center;padding-top:45px;padding-bottom:35px}.page-heading p:not(.eyebrow){margin:14px auto 0;max-width:560px}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}.services-directory{padding-top:0}.card-photo{aspect-ratio:1.45;overflow:hidden;position:relative;margin-bottom:17px;background:var(--pale)}.card-photo img{transition:transform .3s}.service-card:hover img{transform:scale(1.025)}.service-card h3{font-size:22px;margin-bottom:8px}.service-card p{font-size:16px;line-height:1.5}.round-arrow{position:absolute;bottom:12px;right:12px;background:white;color:var(--green);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.service-hero{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;padding:38px 28px;align-items:center}.service-hero>img{height:315px}.breadcrumb{display:inline-block;font-size:16px;margin-bottom:20px;color:var(--muted)}.service-tagline{font-size:19px;margin:16px 0 23px}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:30px}.service-body p{margin-top:18px}.support-list{padding:25px;background:var(--pale);align-self:start}.support-list h3{font-size:22px}.support-list ul,.training-list{padding-left:20px;color:var(--muted);font-size:17px}li+li{margin-top:13px}.approach-strip{background:var(--pale);max-width:none;padding:40px 28px;text-align:center}.approach-strip p:not(.eyebrow){max-width:740px;margin:18px auto 0}.approach-strip .text-link{margin-top:22px}.service-next{text-align:center}.service-next p{max-width:570px;margin:18px auto 24px}.quiet-link{display:block;text-decoration:underline;text-underline-offset:4px;margin-top:18px;font-size:16px}.about-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center;padding-top:40px}.about-hero>img{height:440px;object-position:center;max-width:360px}.about-hero p:not(.eyebrow){margin-top:20px}.about-hero .button{margin-top:25px}.lead{font-size:18px}.credentials,.personal,.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:65px}.credential-list{list-style:none;padding:0;font-size:17px;color:var(--muted)}.credential-list li{padding:15px 0;border-bottom:1px solid var(--line)}.credential-list strong{display:block;color:var(--ink);font-weight:500}.training-list{margin-top:25px}.personal{background:var(--pale);max-width:none;padding-left:max(28px,calc((100% - 1104px)/2));padding-right:max(28px,calc((100% - 1104px)/2));align-items:center}.faq-list{max-width:950px;padding-top:0}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:19px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font-size:23px;color:var(--green)}details[open] summary span{transform:rotate(45deg)}.answer{padding:0 30px 22px 0;font-size:17px}.answer>:first-child{margin-top:0}.answer a{text-decoration:underline;text-underline-offset:4px}.contact-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;padding-top:40px}.contact-hero p:not(.eyebrow){margin-top:18px}.contact-hero .button{margin-top:22px}.contact-hero>img{height:400px}.contact-details{margin-top:28px;display:grid;gap:20px}.contact-details .eyebrow{display:block;margin-bottom:5px}.contact-details a{display:inline-block;font-size:18px;border-bottom:1px solid var(--line)}.micro{font-size:15px}.contact-bottom{background:var(--pale);max-width:none;padding-left:max(28px,calc((100% - 1104px)/2));padding-right:max(28px,calc((100% - 1104px)/2))}.contact-bottom p:not(.eyebrow){margin:17px 0;max-width:420px}
@media(max-width:1250px){.header-inner{gap:20px;padding:20px 25px}.brand>span{font-size:23px}.navigation{gap:18px}.navigation nav{gap:16px}.navigation nav a,.portal{font-size:14px}.header-consult{font-size:15px;padding:11px 15px}}
@media(max-width:1100px){.header-inner{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:18px 28px}.menu-toggle{display:block;background:white;border:1px solid var(--line);padding:10px 14px;color:var(--green);font-size:15px;grid-column:2;grid-row:1}.header-consult{grid-column:3;grid-row:1}.navigation{display:none;grid-column:1/-1;margin-left:0;align-items:start;padding:8px 0}.navigation.is-open{display:flex;flex-wrap:wrap;gap:25px}.navigation nav{gap:24px}.navigation nav a,.portal{font-size:16px}.home-intro{padding-top:28px}.home-card{height:215px}.footer-top{gap:25px}.footer-top a{overflow-wrap:anywhere}.service-hero{gap:35px}.about-hero,.contact-hero{gap:35px}.about-hero>img{height:430px}.credentials{gap:40px}}
@media(max-width:750px){.section{padding:40px 23px}.header-inner{padding:16px 23px;gap:15px}.brand>span{font-size:22px}.brand svg{width:28px;height:36px}.header-consult{font-size:14px;padding:10px 12px;gap:8px}.menu-toggle{font-size:14px;padding:9px 11px}.navigation nav{gap:18px;flex-wrap:wrap}.home-intro{padding:26px 23px 24px}.home-intro h1{font-size:26px}.home-intro p{font-size:17px}.home-specialties{padding:0 23px 28px}.home-photo-grid{gap:17px}.home-card{height:200px}.home-card h2{font-size:25px}.home-card p{font-size:15px}.home-card-label{padding:15px}.home-about{gap:28px}.home-about img{width:135px;height:170px}.home-about p{font-size:16px}.steps-grid{gap:20px}.step h3{font-size:19px}.step p{font-size:16px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.directory-grid{grid-template-columns:1fr 1fr}.service-hero{gap:25px;padding:30px 23px}.service-hero h1{font-size:30px}.service-hero>img{height:300px}.service-tagline{font-size:18px}.service-hero .button{font-size:15px;padding:11px 15px}.service-body{gap:30px}.support-list{padding:22px}.about-hero{grid-template-columns:1.2fr .8fr;gap:25px}.about-hero>img{height:400px}.credentials,.personal,.contact-bottom{gap:30px}.contact-hero{gap:25px}.contact-hero>img{height:380px}.contact-details a{font-size:16px}.contact-hero .button{font-size:15px}}
@media(max-width:580px){body{font-size:17px}h1{font-size:29px}h2{font-size:25px}h3{font-size:22px}.header-inner{grid-template-columns:1fr auto;padding:14px 20px 12px;gap:12px}.brand{gap:8px}.brand>span{font-size:21px}.brand svg{width:25px;height:32px}.header-consult{grid-column:2;grid-row:1;font-size:14px;padding:10px 11px;gap:5px}.header-consult span{display:none}.menu-toggle{grid-column:2;grid-row:2;justify-self:end;border:0;padding:0;min-height:32px}.navigation{grid-column:1/-1;grid-row:3;padding:10px 0}.navigation nav{gap:6px;flex-direction:column;align-items:start;width:100%}.navigation nav a{font-size:17px;padding:8px 0}.navigation.is-open{gap:14px}.home-intro{padding:20px 20px 22px}.home-intro h1{font-size:24px;max-width:340px;margin:auto;line-height:1.35}.home-intro p{font-size:16px;max-width:330px;margin:10px auto 0}.home-specialties{padding:0 20px 28px}.home-photo-grid{gap:13px}.home-card{height:155px}.home-card-label{padding:12px}.home-card h2{font-size:20px;line-height:1.25}.home-card p{font-size:15px;line-height:1.35;margin-top:8px}.home-card:first-child p{font-size:14px}.all-services{font-size:16px;margin-top:20px}.home-about{padding:30px 20px;gap:22px;align-items:start}.home-about img{width:100px;height:130px;flex-shrink:0}.home-about h2{font-size:23px}.home-about p{font-size:16px;margin-top:10px}.home-about .text-link{font-size:16px}.steps-grid{grid-template-columns:1fr;gap:30px;margin:25px auto}.step-icon{width:60px;height:60px;margin-bottom:12px}.step h3{font-size:21px}.step p{font-size:16px;max-width:300px}.steps .button{margin-top:3px}.closing{padding:35px 23px 45px}.closing h2{font-size:26px}.closing p{font-size:17px}.footer-top{grid-template-columns:1fr;gap:22px}.footer-top>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px;font-size:14px}.page-heading{padding-top:32px;padding-bottom:28px}.page-heading .eyebrow{font-size:16px}.page-heading p:not(.eyebrow){font-size:17px}.directory-grid{grid-template-columns:1fr;gap:30px}.services-directory{padding-top:0}.card-photo{aspect-ratio:1.6}.service-card h3{font-size:23px}.service-card p{font-size:17px}.service-hero{grid-template-columns:1fr;padding:25px 23px 10px;gap:25px}.service-hero h1{font-size:30px}.service-hero>img{height:240px}.service-tagline{font-size:18px}.service-hero .button{font-size:16px}.service-body{grid-template-columns:1fr;gap:25px;padding-top:28px}.service-body p{font-size:17px}.support-list{padding:23px}.service-body h2{font-size:26px}.approach-strip p:not(.eyebrow){font-size:17px}.about-hero{grid-template-columns:1fr;gap:28px;padding-top:30px}.about-hero>img{height:340px;max-width:270px;margin:auto;order:-1}.about-hero p:not(.eyebrow){margin-top:16px}.credentials,.personal,.contact-bottom,.contact-hero{grid-template-columns:1fr;gap:35px}.credentials h2{font-size:25px}.training-list{margin-top:17px}.contact-hero{padding-top:30px}.contact-hero>img{height:240px}.contact-details a{font-size:18px}.contact-hero .button{font-size:16px}.contact-hero .micro{font-size:15px}.faq-list{padding-top:0}summary{font-size:19px}.answer{padding-right:0}.button{max-width:100%;font-size:16px}.home-card img{object-position:center}.home-card:nth-child(2) img{object-position:50% 60%}}
@media(max-width:360px){.brand>span{font-size:18px}.header-consult{font-size:13px;padding:10px 8px}.header-inner{padding-left:15px;padding-right:15px}.home-card h2{font-size:18px}.home-card p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
.home-card:first-child img{object-position:50% 65%}.home-card:nth-child(2) img{object-position:50% 68%}
@media(max-width:580px){.brand>span{font-size:19px}.header-inner{grid-template-columns:minmax(0,1fr) auto}.brand{min-width:0}.header-consult{font-size:14px}.home-card:first-child img{object-position:50% 55%}}
@media(max-width:360px){.brand>span{font-size:18px;white-space:normal;max-width:112px}.header-consult{font-size:13px}.brand{white-space:normal}.brand svg{flex-shrink:0}}
/* Framed, flyer-style page with a masthead above its navigation. */
body{background:#fafbf8;padding:48px 36px}.page-sheet{max-width:1200px;margin:0 auto;background:white;border:1px solid #dce1d8;padding:24px 30px 0}.site-header{border-bottom:0}.header-inner{display:block;max-width:none;padding:8px 0 0}.brand{justify-content:center;gap:20px;min-width:0;white-space:nowrap;margin:0 auto 30px}.brand svg{width:62px;height:78px;flex-shrink:0}.brand>span{font-size:76px;line-height:1.2;font-weight:400;font-style:normal;white-space:nowrap;max-width:none}.header-row{display:flex;align-items:center;justify-content:center;gap:24px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.navigation{display:flex;margin:0;gap:23px;align-items:center;padding:0}.navigation nav{display:flex;flex-direction:row;gap:22px;width:auto}.navigation nav a,.portal{font-size:15px}.header-consult{font-size:15px;padding:10px 16px;gap:10px;grid-column:auto;grid-row:auto}.menu-toggle{display:none}.home-intro{padding:25px 0 23px}.home-intro h1{font-size:25px}.home-intro p{margin-top:5px;font-size:18px}.specialty-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:15px;color:var(--green)}.specialty-links a{text-decoration:underline;text-underline-offset:4px}.home-specialties{padding:0 0 32px}.home-photo-grid{gap:24px}.home-card{height:240px}.home-card h2{font-size:30px}.home-card p{font-size:16px}.home-card:first-child img,.home-card.about-card img{object-position:50% 39%}.home-card:nth-child(2) img{object-position:50% 64%}.home-card:nth-child(3) img{object-position:50% 68%}.home-card.about-card:after{background:linear-gradient(transparent 28%,rgba(18,31,21,.08) 48%,rgba(18,31,21,.62))}.about-card .home-card-label{justify-content:end;padding-bottom:22px}.section{padding-left:24px;padding-right:24px}.steps,footer{margin-left:-30px;margin-right:-30px}.personal,.contact-bottom{padding-left:28px;padding-right:28px}.page-sheet .service-hero,.page-sheet .home-intro,.page-sheet .home-specialties{max-width:100%}.skip:focus{position:fixed}.footer-top{gap:25px}.footer-top p,.footer-top a:not(.footer-brand){font-size:15px}
@media(max-width:1100px){body{padding:30px 26px}.page-sheet{padding:22px 25px 0}.brand{gap:16px;margin-bottom:25px}.brand>span{font-size:64px}.brand svg{width:55px;height:66px}.header-row{gap:18px;flex-wrap:wrap}.navigation{display:flex;gap:18px;grid-column:auto;grid-row:auto}.navigation nav{gap:18px}.navigation nav a,.portal{font-size:15px}.header-consult{font-size:15px}.menu-toggle{display:none}.steps,footer{margin-left:-25px;margin-right:-25px}.home-card{height:230px}.home-intro h1{font-size:24px}}
@media(max-width:850px){body{padding:24px 20px}.page-sheet{padding:20px 22px 0}.brand>span{font-size:54px}.brand svg{width:47px;height:57px}.brand{gap:15px}.header-row{display:grid;grid-template-columns:1fr auto;gap:14px}.menu-toggle{display:block;grid-column:1;grid-row:1;justify-self:start;font-size:16px;padding:8px 12px;border:1px solid var(--line);background:white;color:var(--green)}.header-consult{grid-column:2;grid-row:1;justify-self:end;font-size:16px}.navigation{display:none;grid-column:1/-1;grid-row:2;margin:0;padding:8px 0;align-items:start}.navigation.is-open{display:flex;flex-direction:column;gap:16px}.navigation nav{flex-direction:row;flex-wrap:wrap;gap:10px 22px}.navigation nav a,.portal{font-size:17px}.home-photo-grid{gap:20px}.home-card{height:215px}.home-card h2{font-size:26px}.steps,footer{margin-left:-22px;margin-right:-22px}.section{padding-left:18px;padding-right:18px}.home-intro{padding:23px 0}.home-intro h1{font-size:23px}.specialty-links{gap:7px 18px}.service-hero{grid-template-columns:1fr 1fr;gap:25px}.service-hero .button{font-size:15px}.service-hero h1{font-size:28px}}
@media(max-width:580px){body{padding:16px 12px}.page-sheet{padding:17px 14px 0}.header-inner{padding:0}.brand{gap:10px;white-space:nowrap;margin-bottom:20px}.brand svg{width:30px;height:39px}.brand>span{font-size:clamp(25px,7.6vw,42px);max-width:none;white-space:nowrap;font-weight:400}.header-row{padding:12px 0;gap:12px}.header-consult{font-size:15px;padding:10px 12px}.header-consult span{display:none}.menu-toggle{font-size:16px;padding:8px 10px;min-height:0}.navigation nav{flex-direction:column;gap:2px;align-items:start;width:100%}.navigation nav a{padding:8px 0}.home-intro{padding:20px 0}.home-intro h1{font-size:22px;max-width:320px;line-height:1.35}.home-intro p{font-size:17px;margin-top:8px;max-width:none}.specialty-links{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:15px;line-height:1.4;gap:10px 12px;margin-top:15px}.home-photo-grid{gap:14px}.home-specialties{padding:0 0 28px}.home-card{height:180px}.home-card-label{padding:12px 9px}.home-card h2{font-size:20px}.home-card p,.home-card:first-child p{font-size:15px;line-height:1.35}.home-card.about-card img{object-position:50% 40%}.about-card .home-card-label{padding-bottom:15px}.about-card p{font-size:14px!important}.section{padding:35px 6px}.steps{padding:35px 20px}.steps,footer{margin-left:-14px;margin-right:-14px}.steps h2{font-size:25px}.service-hero{grid-template-columns:1fr;padding:25px 6px 10px}.service-hero h1{font-size:28px}.service-hero>img{height:230px}.about-hero>img{max-width:100%;height:330px}.contact-details a{overflow-wrap:anywhere;font-size:17px}.support-list{padding:20px}.personal,.contact-bottom,.approach-strip{padding:30px 14px}.footer-brand{font-size:25px}.footer-top p,.footer-top a:not(.footer-brand){font-size:16px}.footer-bottom{font-size:14px}.directory-grid{gap:28px}.closing{padding:35px 10px 40px}.closing h2{font-size:25px}}
@media(max-width:360px){body{padding:12px 10px}.page-sheet{padding:15px 12px 0}.brand{gap:7px}.brand svg{width:27px;height:34px}.brand>span{font-size:25px;max-width:none;white-space:nowrap}.header-consult{font-size:14px;padding:10px}.home-card h2{font-size:19px}.home-card p{font-size:14px}.specialty-links{font-size:14px}.steps,footer{margin-left:-12px;margin-right:-12px}}

/* A serif signature for the practice, with simple, readable supporting type. */
.brand>span,.footer-brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:normal;letter-spacing:-1.5px}
.footer-brand{letter-spacing:-.4px}
.home-intro{padding:27px 0}
.home-intro h1{font-size:24px;font-weight:400;max-width:900px;margin:auto;line-height:1.5}
.home-card{height:auto;aspect-ratio:1.15}
.home-card.about-card img{object-position:50% 37%}
.directory-grid .card-photo{aspect-ratio:1.15}
@media(max-width:850px){.home-intro h1{font-size:23px}.brand>span{letter-spacing:-1px}}
@media(max-width:580px){.brand>span{font-size:clamp(27px,8.2vw,44px);letter-spacing:-.7px}.home-intro{padding:21px 0}.home-intro h1{font-size:21px;line-height:1.5;max-width:350px}.home-card{height:auto;aspect-ratio:1}.home-card h2{font-size:19px}.home-card p,.home-card:first-child p{font-size:14px}.home-card-label{padding:10px 8px}.about-card .home-card-label{padding-bottom:13px}}
@media(max-width:360px){.brand>span{font-size:27px}.home-card p{display:none}.home-card h2{font-size:19px}.home-intro h1{font-size:20px}}

/* Shared brand colors and homepage photo labels. */
.brand,.brand>span,.home-intro h1{color:var(--green)}
.button:hover{background:#425e49}
.home-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;font-style:normal;line-height:1.35}
.home-intro p{font-size:20px;margin-top:7px}
.home-card-label,.about-card .home-card-label{justify-content:center;padding:26px}
.home-card h2{font-size:34px;font-weight:500;line-height:1.2}
.home-card p{font-size:18px;line-height:1.5;margin-top:12px;max-width:450px}
.home-card.about-card:after{background:linear-gradient(rgba(18,31,21,.1),rgba(18,31,21,.35) 55%,rgba(18,31,21,.5))}
.step p a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}
footer address{font-style:normal;font-size:15px;line-height:1.7;color:var(--muted);margin-top:14px}
@media(max-width:850px){.home-intro h1{font-size:28px}.home-card h2{font-size:30px}.home-card p{font-size:17px}.home-card-label,.about-card .home-card-label{padding:20px}}
@media(max-width:580px){.home-intro h1{font-size:25px}.home-intro p{font-size:18px}.home-photo-grid{grid-template-columns:1fr;gap:18px}.home-card{aspect-ratio:1.15}.home-card h2{font-size:29px}.home-card p,.home-card:first-child p,.about-card p{font-size:17px!important;display:block}.home-card-label,.about-card .home-card-label{padding:24px}.home-card.about-card img{object-position:50% 37%}}
@media(max-width:360px){.home-intro h1{font-size:24px}.home-card h2{font-size:27px}.home-card p{font-size:16px!important}}
/* Service navigation: hover on desktop, disclosure button for keyboard and touch. */
.services-nav{position:relative;display:flex;align-items:center;gap:2px}
.services-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:34px;padding:5px;background:transparent;border:0;border-radius:2px;color:var(--green);cursor:pointer}
.services-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .15s}
.services-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.services-dropdown{position:absolute;top:100%;left:-18px;width:330px;z-index:20;padding:10px 0;background:white;border:1px solid var(--line);box-shadow:0 8px 20px #24352a12}
.services-dropdown[hidden]{display:none}
.navigation nav .services-dropdown a{display:block;white-space:normal;padding:10px 18px;font-size:16px;line-height:1.45;border-bottom:0;color:var(--ink)}
.navigation nav .services-dropdown a:hover,.navigation nav .services-dropdown a:focus-visible{background:var(--pale)}
.navigation nav .services-dropdown .all-services-link{border-bottom:1px solid var(--line);margin-bottom:5px;color:var(--green)}
.services-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;color:var(--green)}
.services-heading p:not(.eyebrow){margin-top:15px;font-size:21px;line-height:1.6}
.services-heading p span{font-size:19px}
@media(max-width:850px){.services-nav{flex-wrap:wrap;align-self:stretch}.services-toggle{width:40px;height:40px}.services-dropdown{position:static;width:100%;box-shadow:none;margin:6px 0 8px;max-width:100%}.navigation nav .services-dropdown a{font-size:17px;padding:11px 14px}.navigation nav .services-nav>a{padding:8px 0}.services-heading h1{font-size:30px}}
@media(max-width:580px){.services-heading p:not(.eyebrow){font-size:20px}.services-heading p span{font-size:18px}}

/* Service overview and feelings on the left; image and help on the right. */
.service-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;padding-top:38px;padding-bottom:30px}
.service-description{margin-top:22px}.service-feelings{margin-top:28px}.service-feelings h2{font-size:22px}.service-feelings ul{margin-bottom:0}
.service-aside>img{height:auto;aspect-ratio:1.25;object-fit:cover}.service-help{margin-top:28px}.service-help h2{font-size:25px}.service-help p{margin-top:18px}
@media(max-width:850px){.service-layout{gap:28px}.service-layout h1{font-size:28px}}
@media(max-width:700px){.service-layout{grid-template-columns:1fr;gap:30px}.service-aside>img{max-height:360px}}


/* Keep the joined hands visible in the couples photo crops. */
img[src*="/assets/couples.jpg"]{object-position:50% 70%}

/* Books and reading resources. */
.resources-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.resources-hero .lead{margin-top:18px}.resources-hero h2{margin-top:32px;font-size:25px}.resources-hero p{margin-top:18px}
.resources-hero>img{height:auto;aspect-ratio:1.15;object-fit:cover;object-position:30% 50%}
.resources-card img{object-position:30% 50%}
@media(max-width:700px){.resources-hero{grid-template-columns:1fr;gap:28px}.resources-hero>img{aspect-ratio:1.5}}

/* Cover-first book cards inspired by the reference reading section. */
.resources-books{padding-top:16px;padding-bottom:64px}
.resources-books>h2{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;color:var(--green)}
.book-list{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}
.book-card{min-width:0;margin:0;text-align:center}
.book-cover{height:280px;padding:16px;background:var(--pale);display:flex;align-items:center;justify-content:center}
.book-cover img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 5px 5px #24352a20)}
.book-copy{padding-top:22px}.book-copy h3{font-size:19px;font-weight:500;line-height:1.4;color:var(--green)}
.book-copy .book-author{font-size:14px;line-height:1.5;margin-top:10px;color:var(--muted)}
.book-copy .book-description{font-size:16px;line-height:1.65;margin-top:14px;color:var(--muted)}
@media(max-width:1000px){.book-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.book-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}.book-cover{height:260px}.resources-books>h2{font-size:30px}}
@media(max-width:480px){.book-list{grid-template-columns:1fr;gap:40px;margin-top:30px}.book-card{max-width:320px;width:100%;margin:auto}.book-cover{height:310px;padding:22px}.book-copy h3{font-size:22px}.book-copy .book-description{font-size:17px}.resources-books{padding-bottom:40px}}

.book-cover-link{display:block}.book-copy h3 a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.book-copy h3 a:hover{ text-decoration-color:currentColor }.book-cover-link:hover .book-cover{background:#e8ede4}
.book-cover-link:focus-visible,.book-copy h3 a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
