

:root { --paper:#f6f2e9; --ivory:#fffdf8; --ink:#16322f; --sage:#5f8278; --mint:#d9e8df; --line:#16322f1c; --muted:#6b7a76; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body),sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; top:0; left:0; right:0; height:92px; display:grid; grid-template-columns:1fr auto 1fr; gap:32px; align-items:center; padding:0 clamp(22px,5vw,76px); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; font-size:13px; }
.brand>span { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--sage); border-radius:50%; font:600 16px var(--font-display),serif; }
.brand div { display:flex; flex-direction:column; }
.brand small { color:var(--sage); font-size:9px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
nav { display:flex; gap:30px; font-size:12px; }
nav a:hover { color:var(--sage); }
.header-cta { justify-self:end; display:flex; align-items:center; gap:8px; padding:12px 17px; background:var(--ink); color:white; border-radius:999px; font-size:12px; font-weight:800; }
.header-cta:hover { background:var(--sage); }
.header-cta svg { width:16px; }
.hero { position:relative; min-height:780px; height:100svh; display:flex; align-items:center; overflow:hidden; background:var(--ivory); }
.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-content { position:relative; z-index:1; width:min(720px,88vw); margin-left:clamp(22px,8vw,130px); padding-top:55px; }
.eyebrow { margin:0 0 20px; color:var(--sage); font-size:10px; font-weight:900; letter-spacing:.19em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:24px; font:500 clamp(54px,7vw,104px)/.92 var(--font-display),serif; letter-spacing:-.045em; }
h1 em { display:block; color:var(--sage); font-style:italic; }
.hero-copy { max-width:610px; color:var(--muted); font-size:clamp(16px,1.3vw,19px); line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.button { min-height:52px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid var(--line); border-radius:999px; font-size:12px; font-weight:800; }
.button svg { width:17px; }
.button-primary { background:var(--ink); color:white; }
.button-primary:hover { background:var(--sage); }
.button-ghost { background:#fffdf8b8; backdrop-filter:blur(8px); }
.button-ghost:hover { border-color:var(--sage); }
.calm-row { display:flex; flex-wrap:wrap; gap:20px; margin-top:38px; color:#5c6f69; font-size:11px; }
.calm-row span { display:flex; align-items:center; gap:7px; }
.calm-row svg { width:15px; }
.section { padding:clamp(84px,10vw,150px) clamp(22px,8vw,130px); }
.section-heading { max-width:760px; margin-bottom:55px; }
.section h2 { margin-bottom:20px; font:500 clamp(46px,5.5vw,78px)/.98 var(--font-display),serif; letter-spacing:-.035em; }
.section-heading>p:last-child,.contact>div>p { max-width:660px; color:var(--muted); font-size:17px; line-height:1.7; }
.approach { background:var(--ivory); }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.principle-grid article { position:relative; min-height:340px; padding:32px; background:var(--paper); border:1px solid var(--line); }
.principle-grid .number { position:absolute; top:28px; right:28px; color:#9aaba5; font-size:11px; }
.principle-grid svg { width:34px; height:34px; color:var(--sage); }
.principle-grid h3 { margin:92px 0 14px; font:600 27px var(--font-display),serif; }
.principle-grid p { color:var(--muted); line-height:1.7; }
.visit { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,130px); }
.visit-steps { border-top:1px solid var(--line); }
.visit-steps article { display:grid; grid-template-columns:42px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid var(--line); }
.visit-steps svg { color:var(--sage); }
.visit-steps h3 { margin-bottom:8px; font-size:18px; }
.visit-steps p { margin:0; color:var(--muted); line-height:1.6; }
.quote { background:var(--ink); color:white; text-align:center; }
.quote blockquote { max-width:1050px; margin:0 auto 26px; font:italic 500 clamp(38px,5vw,70px)/1.15 var(--font-display),serif; }
.quote p { color:#9bb4ad; font-size:11px; letter-spacing:.15em; text-transform:uppercase; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.contact-actions { display:grid; gap:10px; }
.contact-card { min-height:104px; display:grid; grid-template-columns:40px 1fr 22px; gap:18px; align-items:center; padding:22px; background:var(--ivory); border:1px solid var(--line); }
.contact-card:hover { border-color:var(--sage); transform:translateY(-2px); }
.contact-card>svg:first-child { color:var(--sage); }
.contact-card span { display:flex; flex-direction:column; gap:4px; }
.contact-card small { color:var(--muted); }
footer { min-height:115px; display:grid; grid-template-columns:1fr auto auto; gap:30px; align-items:center; padding:24px clamp(22px,5vw,76px); border-top:1px solid var(--line); color:#83918d; font-size:11px; }
footer a:hover { color:var(--sage); }
.stats-page { min-height:100vh; padding:clamp(50px,10vw,120px); background:var(--paper); }
.stats-page h1 { max-width:850px; font-size:clamp(48px,7vw,90px); }
.stats-note { max-width:650px; color:var(--muted); line-height:1.6; }
.stats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:50px 0; }
.stats-card { padding:28px; background:var(--ivory); border:1px solid var(--line); }
.stats-card strong { display:block; color:var(--sage); font:500 48px var(--font-display),serif; }
.stats-card span,.text-link { color:var(--muted); }
@media (max-width:900px) { nav{display:none}.site-header{grid-template-columns:1fr auto}.principle-grid{grid-template-columns:1fr}.principle-grid article{min-height:270px}.principle-grid h3{margin-top:55px}.visit,.contact{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px) { .site-header{height:76px}.header-cta{padding:11px;font-size:0}.hero{min-height:780px}.hero>img{opacity:.46;object-position:62% center}.hero-content{padding-top:65px}.calm-row{gap:10px}.quote{text-align:left}footer{grid-template-columns:1fr;gap:14px}.stats-grid{grid-template-columns:1fr} }

:root{--font-body:Arial,sans-serif;--font-display:Arial,sans-serif}
