*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#FAF8F4;--paper-warm:#F3EFE6;--line:#E1DDD1;--ink:#1A1A18;--ink-soft:#4B4A45;--ink-mute:#8B8779;--moss:#3F5233;--moss-deep:#2E3D26;--moss-soft:#6B7F58;--moss-pale:#E7EBDF;--serif:'Fraunces', serif;--sans:'Inter', sans-serif}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit}::selection{background:var(--moss-pale);color:var(--moss)}nav{display:flex;justify-content:space-between;align-items:center;padding:26px
64px;position:sticky;top:0;background:rgba(250, 248, 244, 0.92);backdrop-filter:blur(8px);z-index:100;border-bottom:1px solid var(--line)}.logo{font-family:var(--serif);font-size:19px;font-weight:400;font-style:italic;letter-spacing:0.01em;text-decoration:none}.nav-links{display:flex;gap:38px;list-style:none}.nav-links
a{font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);position:relative;padding-bottom:3px}.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--moss);transition:width 0.25s ease}.nav-links a:hover::after{width:100%}.nav-links a:hover{color:var(--ink)}.nav-cta{font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--paper);background:var(--moss);padding:11px
24px;text-decoration:none;border-radius:1px;transition:background 0.25s}.nav-cta:hover{background:var(--moss-deep)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--moss);margin-bottom:22px;display:flex;align-items:center;gap:10px}.eyebrow::before{content:'';width:24px;height:1px;background:var(--moss);display:inline-block}h2.headline{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.18;letter-spacing:-0.01em;margin-bottom:24px}h2.headline
em{font-style:italic;color:var(--moss);font-weight:400}.prose{font-size:15px;font-weight:300;line-height:1.9;color:var(--ink-soft);max-width:640px;margin-bottom:18px}.prose:last-of-type{margin-bottom:0}.btn-primary{display:inline-block;font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--paper);background:var(--moss);padding:15px
34px;text-decoration:none;border-radius:1px;margin-right:18px;transition:background 0.25s}.btn-primary:hover{background:var(--moss-deep)}.btn-ghost{display:inline-block;font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--ink-mute);padding-bottom:3px;transition:border-color 0.25s, color 0.25s}.btn-ghost:hover{color:var(--moss);border-color:var(--moss)}.contact .btn-ghost:hover{color:#A8C093;border-color:#A8C093}section{padding:0
64px}.constrain{max-width:1120px;margin:0
auto}.constrain-narrow{max-width:780px;margin:0
auto}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:88vh;padding:0}.hero-image{position:relative;overflow:hidden;background:var(--ink)}.hero-image
img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(8%) contrast(1.02)}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:80px
72px 80px 64px}.hero-content
h1{font-family:var(--serif);font-size:52px;font-weight:400;line-height:1.12;letter-spacing:-0.015em;margin-bottom:26px}.hero-content h1
em{font-style:italic;color:var(--moss)}.hero-sub{font-size:15px;font-weight:300;line-height:1.9;color:var(--ink-soft);max-width:440px;margin-bottom:36px}.hero-badge{position:absolute;bottom:40px;left:40px;right:40px;background:var(--paper);padding:24px
32px;border-left:2px solid var(--moss)}.hero-badge
p{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.5;color:var(--ink)}.hero-badge
cite{display:block;margin-top:10px;font-family:var(--sans);font-style:normal;font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--moss-soft)}.about{padding-top:120px;padding-bottom:100px;border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:280px 1fr;gap:64px}.about-aside{position:sticky;top:120px;align-self:start}.cred-list{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:12px}.cred-list
li{font-size:12px;font-weight:400;color:var(--ink-soft);line-height:1.6;padding-left:16px;position:relative}.cred-list li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;background:var(--moss);border-radius:50%}.dropcap::first-letter {font-family:var(--serif);font-size:76px;font-weight:400;font-style:italic;color:var(--moss);float:left;line-height:0.8;padding-right:12px;padding-top:8px}.approach{padding-top:100px;padding-bottom:100px;border-top:1px solid var(--line);background:var(--paper-warm)}.poem-section{padding-top:88px;padding-bottom:88px;border-top:1px solid var(--line)}.poem-text{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:400;line-height:1.75;color:var(--ink);border-left:2px solid var(--moss);padding-left:32px}.poem-text .line-break{display:block;height:14px}.poem-text
em{font-style:normal;color:var(--moss)}.poem-attribution{display:block;margin-top:22px;font-family:var(--sans);font-style:normal;font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--moss-soft);padding-left:32px}.practice-head{max-width:640px;margin-bottom:56px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.practice-col{padding:44px
48px 4px 0}.practice-col:first-child{border-right:1px solid var(--line);padding-right:48px}.practice-col:last-child{padding-left:48px;padding-right:0}.practice-label{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-0.01em;color:var(--ink);margin-bottom:18px}.practice-label
em{font-style:italic;color:var(--moss)}.practice-body{font-size:14px;font-weight:300;line-height:1.85;color:var(--ink-soft);margin-bottom:14px}.practice-note{display:inline-block;margin-top:6px;font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--moss-soft)}.services{padding-top:110px;padding-bottom:60px;border-top:1px solid var(--line)}.services-head{max-width:640px;margin-bottom:64px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-card{padding:48px
56px 48px 0;border-bottom:1px solid var(--line)}.service-card:nth-child(odd){border-right:1px solid var(--line);padding-right:56px}.service-card:nth-child(even){padding-left:56px;padding-right:0}.service-title{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.25;letter-spacing:-0.01em}.service-body{font-size:14px;font-weight:300;line-height:1.85;color:var(--ink-soft)}.pullquote{padding:110px
64px;background:var(--moss);color:var(--paper);position:relative}.pullquote-mark{font-family:var(--serif);font-size:140px;font-style:italic;line-height:0.4;color:rgba(250, 248, 244, 0.28);margin-bottom:8px;display:block}.pullquote
blockquote{font-family:var(--serif);font-size:34px;font-style:italic;font-weight:400;line-height:1.45;max-width:780px;letter-spacing:-0.01em}.pullquote
cite{display:block;margin-top:28px;font-family:var(--sans);font-style:normal;font-size:11px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:rgba(250, 248, 244, 0.7)}.faq{padding-top:100px;padding-bottom:100px;border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;margin-top:48px}.faq-item{padding:30px
0;border-top:1px solid var(--line)}.faq-q{font-family:var(--serif);font-size:18px;font-weight:500;margin-bottom:10px;letter-spacing:-0.005em}.faq-a{font-size:13px;font-weight:300;line-height:1.85;color:var(--ink-soft)}.contact{border-top:1px solid var(--line);background:var(--ink);color:var(--paper);padding-top:100px;padding-bottom:0}.contact
.eyebrow{color:var(--moss-soft)}.contact .eyebrow::before{background:var(--moss-soft)}.contact
.headline{color:var(--paper)}.contact .headline
em{color:#A8C093}.contact
.prose{color:rgba(250, 248, 244, 0.72)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-bottom:90px;align-items:start}.contact-details{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}.detail-label{font-size:10px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--moss-soft);margin-bottom:5px}.detail-value{font-size:14px;font-weight:300;line-height:1.6;color:rgba(250, 248, 244, 0.92)}.detail-value
a{text-decoration:none}.detail-value a:hover{color:#A8C093}.contact-photo{display:flex;justify-content:center;margin-top:4px}.contact-photo-frame{position:relative;width:clamp(230px, 26vw, 340px);height:clamp(230px, 26vw, 340px);border-radius:50%;padding:10px;border:1px
solid rgba(250, 248, 244, 0.22)}.contact-photo
img{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover;object-position:center center;filter:grayscale(10%)}.map-strip
iframe{width:100%;height:240px;border:none;display:block;filter:grayscale(60%) contrast(1.05)}footer{border-top:1px solid rgba(250, 248, 244, 0.14);padding:26px
64px;display:flex;justify-content:space-between;align-items:center;color:rgba(250, 248, 244, 0.5);font-size:11px}footer
a{text-decoration:none;color:rgba(250, 248, 244, 0.5)}.footer-links{display:flex;gap:22px;list-style:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.7s ease, transform 0.7s ease}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}@media (max-width: 900px){.prose,.practice-body,.service-body{line-height:1.75}nav,section{padding-left:24px;padding-right:24px}.nav-links{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-content{padding:56px
24px;order:2}.hero-image{height:46vh;order:1}.hero-badge{display:none}.hero-content
h1{font-size:36px}.about-grid{grid-template-columns:1fr}.practice-grid{grid-template-columns:1fr}.practice-col,.practice-col:first-child,.practice-col:last-child{border-right:none;padding-left:0;padding-right:0}.about-aside{position:static}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(odd),.service-card:nth-child(even){border-right:none;padding-left:0;padding-right:0}.contact-grid{grid-template-columns:1fr}.contact-photo{margin-top:32px}.contact-photo-frame{width:clamp(200px, 55vw, 280px);height:clamp(200px, 55vw, 280px)}.contact-details{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr}.pullquote
blockquote{font-size:24px}}