
:root{
  --bg:#f6f1ea;
  --bg-soft:#fbf7f2;
  --card:#ffffff;
  --text:#432918;
  --muted:#70584a;
  --line:#e2d6c8;
  --accent:#8a5a3b;
  --shadow:0 16px 40px rgba(29,21,15,.08);
  --shadow-soft:0 10px 24px rgba(29,21,15,.06);
  --radius:18px;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;color:#432918;
  color:var(--text);
  background:linear-gradient(180deg, #f8f4ee 0%, #f6f1ea 100%);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:min(calc(100% - 40px), var(--wrap));margin:0 auto}
.hero{position:relative;min-height:54vh;background:#e7ddd1}
.hero-image{width:100%;height:54vh;object-fit:cover;object-position:center center}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(28,18,10,.08) 0%, rgba(28,18,10,.22) 100%);
}
.intro-section{margin-top:-78px;position:relative;z-index:2;padding-bottom:8px}
.intro-card{
  background:rgba(251,247,242,.96);
  backdrop-filter: blur(4px);
  border:1px solid rgba(226,214,200,.9);
  border-radius:28px;
  box-shadow:0 24px 50px rgba(29,21,15,.12);
  padding:34px 34px 32px;
}
.logo{width:min(360px,100%);margin:0 auto 18px}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.82rem;
  color:var(--muted);
  margin:0 0 10px;
  text-align:center;
}
h1,h2{font-weight:500;line-height:1.15;margin:0 0 18px}
h1{font-size:clamp(2.2rem,5vw,4rem);max-width:900px;text-align:center;margin-inline:auto}
h2{font-size:clamp(1.7rem,3.3vw,2.5rem)}
p{margin:0 0 14px}
.lead{
  font-size:1.14rem;
  max-width:980px;
  color:#41352d;
  margin:0 auto 8px;
  text-align:center;
}
.intro-grid{display:grid;grid-template-columns:1.45fr .95fr;gap:24px;margin-top:28px}
.quote{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:var(--shadow-soft);
}
.quote p{margin:0 0 10px}
.quote span{color:var(--accent);font-style:italic;font-size:1.1rem}
.section{padding:72px 0}
.section.alt{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-photos-section{padding-top:28px}
.featured-photo,.single-photo,.contact-card,.info-card,.card{
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.featured-photo{margin:28px 0 22px}
.featured-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.masonry{column-count:3;column-gap:18px}
.card{break-inside:avoid;margin:0 0 18px}
.card img{width:100%;height:auto}
.two-cols{display:grid;grid-template-columns:1fr .95fr;gap:28px;align-items:center}
.single-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.info-card{padding:28px}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}
.contact-card{padding:28px}
.contact-card p{margin:0 0 14px}
.contact-card strong{font-size:1.2rem}
@media (max-width: 980px){
  .intro-grid,.two-cols,.contact-grid,.info-grid{grid-template-columns:1fr}
  .masonry{column-count:2}
  .intro-section{margin-top:-36px}
}
@media (max-width: 640px){
  .wrap{width:min(calc(100% - 24px), var(--wrap))}
  .hero,.hero-image{min-height:42vh;height:42vh}
  .section{padding:52px 0}
  .masonry{column-count:1}
  .lead{font-size:1.04rem}
  .intro-card{padding:24px 18px}
}
