
:root{
  --cream:#F5F0E7;
  --sand:#E2D5C2;
  --sage:#7D8B72;
  --forest:#3F4A3A;
  --clay:#B87955;
  --dark:#2B2924;
  --muted:#665f55;
  --white:#fffaf2;
  --radius:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65;font-size:18px}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1120px,92vw);margin:auto}.topbar{position:sticky;top:0;z-index:10;background:rgba(245,240,231,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(63,74,58,.12)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Lora,Georgia,serif;font-size:25px;font-weight:600;text-decoration:none;color:var(--forest);letter-spacing:.01em}.navlinks{display:flex;gap:24px;font-size:15px;color:var(--muted)}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--forest)}.hero{padding:82px 0 56px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--clay);font-size:13px;font-weight:700;margin-bottom:18px}h1,h2,h3{font-family:Lora,Georgia,serif;line-height:1.12;margin:0 0 20px}h1{font-size:clamp(48px,8vw,92px);color:var(--forest)}h2{font-size:clamp(34px,5vw,58px);color:var(--forest)}h3{font-size:26px;color:var(--forest)}.lead{font-size:clamp(20px,2.5vw,26px);line-height:1.45;color:#3b352e;margin:0 0 28px}.text{color:var(--muted);max-width:760px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;background:var(--forest);color:var(--white);font-weight:700;text-decoration:none;border:1px solid var(--forest);transition:.2s}.btn:hover{background:var(--clay);border-color:var(--clay);transform:translateY(-1px)}.btn.secondary{background:transparent;color:var(--forest)}.btn.secondary:hover{background:var(--sand);border-color:var(--sand)}.photo-card{background:var(--sand);border-radius:var(--radius);padding:16px;box-shadow:0 18px 60px rgba(43,41,36,.12);transform:rotate(1deg)}.photo-card img{border-radius:calc(var(--radius) - 10px);aspect-ratio:4/5;object-fit:cover}.section{padding:74px 0}.section.alt{background:#eee5d8}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.card{background:rgba(255,250,242,.76);border:1px solid rgba(63,74,58,.12);border-radius:24px;padding:26px;box-shadow:0 10px 30px rgba(43,41,36,.06)}.card p{margin:0;color:var(--muted)}.list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px;padding:0;list-style:none}.list li{background:rgba(255,250,242,.7);border-radius:18px;padding:14px 16px;border:1px solid rgba(63,74,58,.10)}.quote{font-family:Lora,Georgia,serif;font-size:clamp(28px,4vw,44px);line-height:1.25;color:var(--forest);background:var(--sand);border-radius:var(--radius);padding:42px;margin:0}.gallery{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:18px}.gallery img{border-radius:24px;aspect-ratio:1/1;object-fit:cover}.gallery img:first-child{aspect-ratio:1.4/1;grid-column:span 2}.timeline{display:grid;gap:16px;margin-top:28px}.item{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(63,74,58,.18)}.year{font-weight:800;color:var(--clay)}.contact{background:var(--forest);color:var(--white);border-radius:var(--radius);padding:44px;display:grid;grid-template-columns:1fr .8fr;gap:28px;align-items:center}.contact h2{color:var(--white)}.contact .text{color:#e8dfd2}.contact-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:24px}.footer{padding:34px 0;color:var(--muted);font-size:14px}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{margin-left:14px}@media(max-width:820px){body{font-size:16px}.navlinks{display:none}.hero{padding-top:48px}.hero-grid,.two-col,.contact{grid-template-columns:1fr;gap:30px}.cards,.list{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img:first-child{grid-column:auto}.item{grid-template-columns:1fr;gap:4px}.contact{padding:28px}.photo-card{transform:none}}
