
@font-face{font-family:Crimson;src:url('/fonts/CrimsonPro.ttf') format('truetype');font-weight:200 900;font-display:swap}
@font-face{font-family:Crimson;src:url('/fonts/CrimsonPro-Italic.ttf') format('truetype');font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:Libre;src:url('/fonts/LibreFranklin.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--cream:oklch(0.97 0.012 95);--leaf:oklch(0.92 0.03 145);--ink:oklch(0.28 0.03 150);--mute:oklch(0.48 0.02 150);--faint:oklch(0.62 0.02 150);--sage:oklch(0.48 0.07 150);--line:oklch(0.28 0.03 150 / .1);--font-display:Crimson,Georgia,serif;--font-body:Libre,system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--pad:clamp(1.1rem,3.5vw,3rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}html.mn-lock,html.mn-lock body{overflow:hidden}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.6 var(--font-body);letter-spacing:-.01em}
img{max-width:100%;display:block;height:auto}a{color:inherit}button{font:inherit;background:0;border:0;color:inherit;cursor:pointer}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--sage);color:#fff;padding:.5rem .8rem}
.wrap{width:min(1120px,100% - 2*var(--pad));margin-inline:auto}
.k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--sage)}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.03em;line-height:.96;margin:0}
h1{font-size:clamp(3rem,8.5vw,5.8rem)}h2{font-size:clamp(2.1rem,4.8vw,3.4rem)}h3{margin:0;font-size:1.15rem}
p{margin:0;color:var(--mute)}
.site-h{position:sticky;top:0;z-index:30;background:oklch(0.97 0.012 95 / .92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;padding-inline:var(--pad)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand img{height:64px;width:auto}.brand strong{font-family:var(--font-display);font-size:1.15rem;font-weight:560}
.nav-d{display:none;gap:1.35rem;align-items:center}.nav-d a{text-decoration:none;color:var(--mute);font-weight:500}
.cta{display:inline-flex;align-items:center;min-height:44px;padding:0 1.15rem;background:#1F4A38;color:#FFFFFF;text-decoration:none;border-radius:999px;font-weight:700;font-size:.95rem}
.mn-btn{width:48px;height:48px;border:1px solid var(--line);border-radius:999px;display:inline-grid;place-items:center;position:relative}
.mn-btn i,.mn-btn i::before,.mn-btn i::after{display:block;width:16px;height:1.5px;background:currentColor;position:relative;transition:transform 300ms var(--ease)}
.mn-btn i::before,.mn-btn i::after{content:"";position:absolute;left:0}.mn-btn i::before{top:-5px}.mn-btn i::after{top:5px}
.mn-btn[aria-expanded="true"] i{background:transparent}.mn-btn[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}.mn-btn[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}
#mn{position:fixed;inset:0;z-index:40;background:oklch(0.97 0.012 95);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top)+5.5rem) var(--pad) 2rem;opacity:0;pointer-events:none;transform:translateY(-3%);transition:opacity 300ms var(--ease),transform 300ms var(--ease)}
#mn.open{opacity:1;transform:none;pointer-events:auto}#mn nav{display:flex;flex-direction:column;margin-bottom:auto}
#mn a{display:block;min-height:56px;padding:.75rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--font-display);font-size:clamp(1.9rem,7vw,2.6rem);opacity:0;transform:translateY(12px)}
#mn.open a{opacity:1;transform:none;transition:opacity 400ms var(--ease),transform 400ms var(--ease);transition-delay:calc(var(--i)*60ms)}
#mn .foot{display:grid;gap:.75rem;padding-top:1.4rem}
@media(min-width:900px){.mn-btn{display:none}.nav-d{display:flex}}
.hero{padding:clamp(2rem,5vw,4rem) 0;background:linear-gradient(180deg,var(--leaf),var(--cream) 70%)}
.hero-grid{display:grid;gap:1.75rem}@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:2.5rem}}
.hero h1 i{font-style:italic;font-weight:450}.lede{max-width:36ch;font-size:1.05rem}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.2rem;border-radius:999px;text-decoration:none;font-weight:700}
.btn-p{background:var(--sage);color:#fff}.btn-g{border:1px solid var(--line);background:#fff}
.photo{border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#fff}.photo img{width:100%;aspect-ratio:1;object-fit:cover}
.care{padding:clamp(3rem,7vw,5rem) 0}.care-grid{display:grid;gap:1rem;margin-top:1.75rem}@media(min-width:800px){.care-grid{grid-template-columns:repeat(3,1fr)}}
.care article{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.care img{aspect-ratio:4/3;object-fit:cover;width:100%}.care .b{padding:1.1rem 1.15rem;display:grid;gap:.4rem}
.mission{padding:0 0 clamp(3rem,7vw,5rem)}.mission-box{display:grid;gap:1.5rem;padding:clamp(1.5rem,4vw,2.75rem);border-radius:24px;background:var(--leaf);border:1px solid var(--line)}
@media(min-width:860px){.mission-box{grid-template-columns:1fr 1fr;align-items:center}}
.mission img{border-radius:18px;aspect-ratio:5/4;object-fit:cover;width:100%}
.contact{padding:0 0 clamp(3rem,7vw,5rem)}.box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.4rem,4vw,2.4rem);display:grid;gap:1.2rem}
@media(min-width:800px){.box{grid-template-columns:1.2fr .8fr}}
.box a.phone{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.8rem);text-decoration:none;color:var(--sage)}
.site-f{border-top:1px solid var(--line);padding:2rem var(--pad);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;color:var(--faint);font-size:.9rem}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}#mn,#mn a,.mn-btn i,.mn-btn i::before,.mn-btn i::after{transition:none!important}}

.pv{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#DD3800;color:#fff;font:700 14px/1.3 var(--font-body);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 30px -18px oklch(0.35 0.05 40 / .55)}
.pv-wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px clamp(16px,4vw,48px);max-width:1440px;margin:0 auto}
.pv b{font-weight:700;color:#fff}
.pv-claim{flex:none;display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:0 1.1em;border-radius:6px;background:#FBF7F2;color:#0B1E27;text-decoration:none;font-weight:700;transition:background .2s cubic-bezier(.16,1,.3,1)}
@media(hover:hover){.pv-claim:hover{background:#fff}}
.pv-claim:focus-visible{outline:2px solid #fff;outline-offset:3px}
body:has(.pv){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
@media(max-width:560px){.pv-wrap{flex-direction:column;align-items:stretch;padding-top:10px;padding-bottom:10px}.pv-claim{justify-content:center}}
@media(prefers-reduced-motion:reduce){.pv,.pv-claim{transition:none!important}}
