*{box-sizing:border-box}
:root{
  --ink:#1c1c1b;
  --charcoal:#232322;
  --cream:#f4efe7;
  --paper:#f7f3ec;
  --gold:#9a7444;
  --line:#c9b08a;
  --muted:#6e685f;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Cormorant Garamond", Georgia, serif;
}
a{color:inherit;text-decoration:none}
.topbar{
  min-height:42px;
  padding:0 3.2vw;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  background:#202020;
  color:#f4f0e9;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  letter-spacing:.14em;
}
.toplinks{
  position:absolute;
  right:3.2vw;
  display:flex;
  gap:28px;
  font-size:9px;
}
.site-header{
  height:110px;
  background:#f8f5ef;
  padding:0 3.2vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(0,0,0,.05);
  position:sticky;
  top:0;
  z-index:10;
}
.brand{display:flex;align-items:center;min-width:300px}
.monogram{
  width:84px;height:70px;
  border-right:1px solid #d6c9b7;
  position:relative;
  margin-right:20px;
  font-size:48px;
  line-height:1;
}
.monogram span:first-child{position:absolute;left:2px;top:0}
.monogram span:last-child{position:absolute;left:31px;top:28px}
.brand-words{display:flex;flex-direction:column;line-height:.9;letter-spacing:.16em}
.brand-words .the{font-size:13px;margin-bottom:6px}
.brand-words .whitby{font-size:31px;letter-spacing:.15em}
.brand-words .foundation{font-size:15px;margin-top:8px;letter-spacing:.24em}
.mainnav{display:flex;align-items:center;gap:3vw;font-family:"Montserrat",Arial,sans-serif;font-size:11px;letter-spacing:.08em}
.mainnav a{padding:14px 0;border-bottom:1px solid transparent}
.mainnav a:hover,.mainnav .active{border-color:var(--gold)}
.menu-toggle{display:none}
.hero{
  min-height:405px;
  display:grid;
  grid-template-columns:50% 50%;
  background:linear-gradient(90deg,#efe9df,#f7f3ec);
}
.hero-copy{
  padding:48px 5vw 45px 8.2vw;
  align-self:center;
  position:relative;
}
.eyebrow{
  font-family:"Montserrat",Arial,sans-serif;
  letter-spacing:.22em;
  font-size:12px;
  font-weight:600;
  color:var(--gold);
  margin:0 0 12px;
}
.hero h1{
  font-size:53px;
  line-height:1.03;
  font-weight:400;
  margin:0;
  max-width:620px;
}
.hero h1 em{font-weight:400}
.rule{width:62px;border-top:1px solid var(--gold);margin:24px 0 18px}
.hero-text{font-size:18px;line-height:1.3;max-width:475px;margin-bottom:18px}
.button{
  display:inline-flex;
  align-items:center;
  gap:28px;
  font-family:"Montserrat",Arial,sans-serif;
  letter-spacing:.14em;
  font-size:10px;
  padding:16px 22px;
  margin-top:2px;
}
.button.dark{background:#20201e;color:#d6b67f}
.button.outline{border:1px solid #9f9587;color:#262421}
.hero-photo{
  background:
    linear-gradient(90deg,rgba(247,243,236,.05),rgba(247,243,236,0)),
    url("assets/hero-family.jpg") center center/cover no-repeat;
  min-height:405px;
}
.services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#f4efe7;
  border-top:1px solid #d7cab8;
  border-bottom:1px solid #d7cab8;
  padding:26px 8vw 22px;
}
.service{text-align:center;padding:0 5vw;min-height:180px}
.service+ .service{border-left:1px solid #c9b08a}
.icon{
  width:53px;height:53px;border:1px solid var(--gold);border-radius:50%;
  margin:0 auto 12px;display:grid;place-items:center;color:#836130;font-size:30px
}
.icon.rings{font-size:32px}
.service h2{font-size:16px;letter-spacing:.1em;margin:0 0 7px;font-weight:600}
.service p{font-size:16px;line-height:1.15;margin:0 auto 12px;max-width:310px}
.service a{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:9px;letter-spacing:.2em;font-weight:600;color:#524437
}
.service a span{margin-left:10px;color:var(--gold)}
.story{
  min-height:270px;
  display:grid;
  grid-template-columns:38% 30% 32%;
}
.story-copy{padding:40px 4vw 34px 8.2vw;background:#fbf8f3}
.story .eyebrow{display:flex;align-items:center;gap:18px}
.mini-rule{display:inline-block;width:60px;border-top:1px solid var(--gold)}
.story h2,.give h2,.contact h2{font-size:38px;font-weight:400;line-height:1.05;margin:0 0 12px}
.story p{font-size:16px;line-height:1.3;max-width:470px}
.story-photo{background:url("assets/story-room.jpg") center/cover no-repeat}
.quote{
  background:radial-gradient(circle at 20% 10%,#353533,#1d1d1c 70%);
  color:#f7f2e9;padding:32px 4vw;
  display:flex;flex-direction:column;justify-content:center
}
.quote-mark{font-size:54px;color:#c1924e;line-height:.6}
blockquote{font-size:26px;line-height:1.05;margin:10px 0 12px}
.signature{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:22px;color:#aaa29a;margin-top:2px}
.founder{font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.15em;margin-top:4px}
.give{
  padding:64px 8.2vw;
  text-align:center;
  background:#ebe3d7;
}
.give p:not(.eyebrow){max-width:700px;margin:0 auto 20px;font-size:18px;line-height:1.4}
.contact{
  display:grid;grid-template-columns:1.4fr .6fr;gap:40px;
  padding:70px 8.2vw;background:#f8f5ef
}
.contact p{font-size:18px;line-height:1.4}
.email{border-bottom:1px solid var(--gold)}
.contact-card{border-left:1px solid var(--line);padding-left:40px;align-self:center}
.contact-card span{font-family:"Montserrat",Arial,sans-serif;font-size:10px;letter-spacing:.18em;color:var(--gold)}
.contact-card p{font-size:24px;line-height:1.1}
footer{
  padding:22px 8.2vw;background:#202020;color:#e9e2d9;
  display:flex;justify-content:space-between;gap:20px;
  font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.15em
}
@media(max-width:1100px){
  .mainnav{gap:1.6vw;font-size:9px}
  .brand{min-width:260px}
  .hero h1{font-size:46px}
}
@media(max-width:820px){
  .topbar{justify-content:flex-start;padding:12px 20px;min-height:48px;font-size:8px;padding-right:100px}
  .toplinks{right:18px;gap:12px}
  .toplinks a:first-child{display:none}
  .site-header{height:88px;padding:0 20px}
  .brand{min-width:auto}
  .monogram{width:58px;height:56px;font-size:37px;margin-right:13px}
  .monogram span:last-child{left:23px;top:22px}
  .brand-words .the{font-size:9px}
  .brand-words .whitby{font-size:22px}
  .brand-words .foundation{font-size:10px}
  .menu-toggle{
    display:block;background:transparent;border:1px solid #a69a89;padding:10px 12px;
    font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.12em
  }
  .mainnav{
    display:none;position:absolute;left:0;right:0;top:88px;background:#f8f5ef;
    flex-direction:column;align-items:stretch;padding:16px 22px;gap:0;border-top:1px solid #ddd
  }
  .mainnav.open{display:flex}
  .mainnav a{padding:12px 0}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:42px 8vw 34px}
  .hero h1{font-size:44px}
  .hero-photo{min-height:330px}
  .services{grid-template-columns:1fr;padding:0 8vw}
  .service{padding:28px 0}
  .service+.service{border-left:0;border-top:1px solid #c9b08a}
  .story{grid-template-columns:1fr}
  .story-copy{padding:42px 8vw}
  .story-photo{min-height:290px}
  .quote{padding:46px 8vw}
  .contact{grid-template-columns:1fr;padding:52px 8vw}
  .contact-card{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
  footer{flex-direction:column}
}
@media(max-width:480px){
  .hero h1{font-size:38px}
  .hero-text{font-size:17px}
  .story h2,.give h2,.contact h2{font-size:33px}
}
