@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap');

:root{
  --burgundy:#6e1423;
  --green:#1f3b2c;
  --cream:#f5efe2;
  --gold:#a07d35;
  --ink:#241c18;
  --paper:#fbf8f1;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Merriweather',Georgia,serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.75;
  font-size:17px;
}
a{color:var(--burgundy);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}

h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;color:var(--green);line-height:1.2;}

.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

/* ---- Header crest band ---- */
.site-header{
  background:var(--burgundy);
  color:var(--cream);
  border-bottom:3px solid var(--gold);
  text-align:center;
}
.crest{
  padding:22px 28px 16px;
}
.crest .brand{display:inline-block;}
.crest .brand img{height:52px;width:auto;margin:0 auto;}
.crest .estd{
  font-family:'Playfair Display',serif;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-size:.66rem;
  color:var(--gold);
  margin:10px 0 0;
}
.nav{
  border-top:1px solid rgba(160,125,53,.5);
  border-bottom:1px solid rgba(160,125,53,.5);
  padding:11px 0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
}
.nav a{
  color:var(--cream);
  font-family:'Playfair Display',serif;
  font-size:.92rem;
  letter-spacing:.06em;
  padding:4px 22px;
  border-right:1px solid rgba(160,125,53,.35);
}
.nav a:last-child{border-right:none;}
.nav a:hover{color:#fff;text-decoration:none;}
.nav a[aria-current="page"]{color:var(--gold);font-style:italic;}

/* ---- Hero ---- */
.hero{
  background:var(--green);
  color:var(--cream);
  padding:48px 0 44px;
  text-align:center;
}
.hero .kicker{
  font-family:'Playfair Display',serif;
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:.72rem;
  color:var(--gold);
  margin:0 0 14px;
}
.hero h1{
  color:var(--cream);
  font-size:2.5rem;
  font-weight:700;
  margin:0 0 18px;
  max-width:820px;
  margin-left:auto;margin-right:auto;
}
.hero .lede{
  max-width:680px;margin:0 auto;
  font-size:1.08rem;
  color:#ece2cf;
  font-style:italic;
}
.hero-figure{
  margin:30px auto 0;
  max-width:780px;
  border:1px solid var(--gold);
  padding:8px;
  background:rgba(245,239,226,.06);
}
.hero-figure img{width:100%;height:auto;}
.hero-figure figcaption{
  font-size:.82rem;color:#d8cdb6;margin-top:8px;font-style:italic;
}

/* ---- Gold hairline rule ---- */
.rule{
  border:0;height:0;
  border-top:1px solid var(--gold);
  position:relative;
  max-width:1120px;margin:0 auto;
}
.rule::after{
  content:"\2766";
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--cream);color:var(--gold);
  padding:0 14px;font-size:1.1rem;
}

/* ---- Two-column article ---- */
.article{padding:46px 0 20px;}
.layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:48px;
}
.prose p{margin:0 0 1.15em;}
.prose .drop::first-letter{
  font-family:'Playfair Display',serif;
  font-size:3.4rem;
  float:left;
  line-height:.78;
  padding:6px 12px 2px 0;
  color:var(--burgundy);
  font-weight:700;
}
.prose h2{
  font-size:1.55rem;
  margin:1.7em 0 .55em;
  padding-bottom:.3em;
  border-bottom:2px solid rgba(160,125,53,.4);
}
.prose h3{font-size:1.18rem;margin:1.4em 0 .4em;color:var(--burgundy);}
.pull{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;
  font-style:italic;
  color:var(--green);
  border-left:4px solid var(--gold);
  padding:.4em 0 .4em 1.1em;
  margin:1.5em 0;
}

.figure{margin:1.6em 0;border:1px solid var(--gold);padding:7px;background:var(--paper);}
.figure figcaption{font-size:.82rem;color:#5c5045;margin-top:7px;font-style:italic;}

/* ---- Sidebar ---- */
.sidebar > *{margin-bottom:28px;}
.card{
  background:var(--paper);
  border:1px solid var(--gold);
  border-top:4px solid var(--burgundy);
  padding:22px 22px 24px;
}
.card h3{
  font-size:1.12rem;
  margin:0 0 14px;
  color:var(--burgundy);
  letter-spacing:.02em;
}
.card ul{margin:0;padding:0;list-style:none;}
.card li{
  position:relative;
  padding:0 0 .7em 1.4em;
  font-size:.93rem;
  line-height:1.55;
}
.card li::before{
  content:"\2756";
  position:absolute;left:0;top:0;color:var(--gold);
}
.card.contact p{margin:0 0 .5em;font-size:.93rem;}
.card.contact .tag{
  font-family:'Playfair Display',serif;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--green);margin-bottom:.4em;
}
.side-figure{border:1px solid var(--gold);padding:6px;background:var(--paper);}
.side-figure figcaption{font-size:.78rem;color:#5c5045;margin-top:6px;font-style:italic;text-align:center;}

/* ---- Video ---- */
.video{margin:2em 0;}
.frame{
  position:relative;width:100%;padding-bottom:56.25%;height:0;
  border:1px solid var(--gold);background:#000;
}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.cap{font-size:.85rem;color:#5c5045;margin-top:9px;font-style:italic;text-align:center;}

/* ---- Inline gallery ---- */
.gallery{
  display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(110px,13vw,168px);gap:14px;margin:1.8em 0;
}
.gallery figure{margin:0;border:1px solid var(--gold);padding:6px;background:var(--paper);overflow:hidden;}
.gallery img{width:100%;height:100%;object-fit:cover;}
/* asymmetric gallery-wall: large feature, tall right, small + wide row */
.gallery figure:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2;}
.gallery figure:nth-child(2){grid-column:3;grid-row:1 / span 2;}
.gallery figure:nth-child(3){grid-column:1;grid-row:3;}
.gallery figure:nth-child(4){grid-column:2 / span 2;grid-row:3;}

.aside{
  background:rgba(31,59,44,.06);
  border:1px solid rgba(160,125,53,.5);
  padding:18px 22px;
  margin:2em 0 1em;
}
.aside h3{margin-top:0;font-size:1.1rem;}
.backlink{margin:1.6em 0 0;font-family:'Playfair Display',serif;}

/* ---- Footer ---- */
.site-footer{
  background:var(--green);
  color:#e9e0cd;
  border-top:3px solid var(--gold);
  margin-top:40px;
}
.site-footer .wrap{
  display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;
  justify-content:space-between;padding-top:36px;padding-bottom:30px;
}
.site-footer h4{color:var(--cream);font-size:1.2rem;margin:0 0 10px;}
.site-footer address{font-style:normal;font-size:.92rem;line-height:1.7;}
.site-footer a{color:var(--gold);}
.site-footer a:hover{color:#fff;}
.social a{display:inline-flex;align-items:center;gap:9px;color:#e9e0cd;}
.social svg{width:30px;height:30px;fill:#cc0000;}
.legal{width:100%;border-top:1px solid rgba(160,125,53,.4);padding-top:16px;font-size:.8rem;color:#bcae93;}

/* ---- Responsive ---- */
@media (max-width:860px){
  .layout{grid-template-columns:1fr;gap:34px;}
  .hero h1{font-size:1.9rem;}
  .nav{flex-direction:column;}
  .nav a{border-right:none;padding:7px 0;}
}
@media (max-width:520px){
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(120px,38vw,170px);}
  .gallery figure:nth-child(1){grid-column:1 / span 2;grid-row:auto;}
  .gallery figure:nth-child(2){grid-column:1;grid-row:auto;}
  .gallery figure:nth-child(3){grid-column:2;grid-row:auto;}
  .gallery figure:nth-child(4){grid-column:1 / span 2;grid-row:auto;}
  .wrap{padding:0 18px;}
}
