*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Karla,system-ui,sans-serif;font-weight:300;color:#26341f;background:#f2f6f1;line-height:1.7}
h1,h2{font-family:Cormorant,Georgia,serif;font-weight:400;margin:0}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.narrow{max-width:680px;text-align:center}
.hero{min-height:min(88vh,680px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;background:radial-gradient(circle at 20% 30%,#dfe9d6 0,transparent 55%),radial-gradient(circle at 80% 80%,#d3e0c8 0,transparent 50%),#eef3ea;color:#26341f}
.hero .mark{display:block;margin:0 auto 22px}
.hero .headshot{width:150px;height:150px;border-radius:50%;object-fit:cover;filter:grayscale(1);border:3px solid rgba(255,255,255,.85);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hero .logo{max-width:280px;height:auto;background:#fff;padding:14px 22px;border-radius:14px;box-shadow:0 8px 26px rgba(0,0,0,.08)}
.eyebrow{letter-spacing:.25em;text-transform:uppercase;font-size:.75rem;opacity:.8;margin:0 0 18px}
.hero h1{font-size:clamp(2.8rem,8.5vw,6.2rem);font-style:italic;line-height:1.08;color:#26341f}
.role{font-size:1rem;letter-spacing:.32em;text-transform:uppercase;margin:16px 0 34px;opacity:.9}
.role::before,.role::after{content:"";display:inline-block;width:40px;height:1px;background:currentColor;opacity:.5;vertical-align:middle;margin:0 14px}
.btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn{display:inline-block;background:#5b7a46;color:#fff;text-decoration:none;padding:14px 32px;border-radius:999px;font-weight:400;letter-spacing:.05em;transition:background .2s,transform .2s}
.btn:hover{background:#455e34;transform:translateY(-2px)}
.hero .btn{background:#5b7a46;color:#fff}
.btn.ghost{background:transparent;color:#5b7a46;box-shadow:inset 0 0 0 1.5px #5b7a46}.btn.ghost:hover{background:#5b7a46;color:#fff}
.hero .btn.ghost{background:transparent;color:#26341f;box-shadow:inset 0 0 0 1.5px currentColor}
section{padding:90px 0}
.kicker{font-family:Cormorant,Georgia,serif;font-style:italic;color:#5b7a46;font-size:1.4rem}
h2{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:18px}
.about{background:#ffffff}
.grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.info .btns{justify-content:flex-start}
address{font-style:normal;margin:28px 0 6px;font-size:1.05rem}.note{color:#61715a;font-size:.95rem;margin:0}
.links{margin:14px 0 0;color:#61715a}.links a{color:#5b7a46}
.map{border-radius:18px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.15);aspect-ratio:4/3}
.map iframe{width:100%;height:100%;border:0;display:block}
footer{text-align:center;padding:36px 24px;background:#26341f;color:#eee;font-size:.95rem}
footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.grid{grid-template-columns:1fr;text-align:center}.info .btns{justify-content:center}section{padding:64px 0}.hero{min-height:auto;padding:90px 20px}.role{letter-spacing:.2em}.role::before,.role::after{width:22px;margin:0 8px}}

/* decorative accents */
.hero{position:relative;overflow:hidden}
.tdeco{position:absolute;top:0;bottom:0;right:0;width:40%;pointer-events:none;z-index:0;color:inherit}
.tdeco span{position:absolute;opacity:.8;line-height:0}
.tdeco svg{height:auto}
.tdeco .a1{left:14%;top:16%;transform:rotate(-22deg)}.tdeco .a1 svg{width:150px}
.tdeco .a2{right:10%;top:30%;transform:rotate(16deg)}.tdeco .a2 svg{width:150px}
.tdeco .a3{left:22%;bottom:16%;transform:rotate(-10deg)}.tdeco .a3 svg{width:130px}
.tdeco .a4{right:18%;bottom:10%;transform:rotate(12deg)}.tdeco .a4 svg{width:54px}
@media(min-width:900px){.hero{padding-right:42%!important}}
.tdiv{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto;padding:6px 0;max-width:420px;color:inherit;opacity:.35}
.tdiv::before,.tdiv::after{content:"";flex:1;height:1px;background:currentColor}
.tdiv svg{width:30px;height:auto}
@media(max-width:899px){.tdeco{width:100%}.tdeco span{opacity:.13}.tdeco .a1 svg,.tdeco .a2 svg,.tdeco .a3 svg{width:64px}.tdeco .a4 svg{width:30px}.tdeco .a1{left:4%;top:4%}.tdeco .a2{right:4%;top:6%}.tdeco .a3{left:5%;bottom:4%}.tdeco .a4{right:6%;bottom:5%}.tdiv{max-width:240px}.tdiv svg{width:22px}}
