/* Typography & colors */
:root{
  --brand:#6b1d1d;    /* deep wine */
  --cream:#f7f3ee;
}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";}
h1,h2,h3,.navbar-brand{font-family:"Playfair Display", Georgia, "Times New Roman", serif;}
.bg-cream{ background:var(--cream); }
.bg-deep{ background:var(--brand); }

/* Navbar */
.navbar-dark .navbar-nav .nav-link{ color:#f3eaea; }
.navbar-dark .navbar-nav .nav-link:hover{ color:#fff; }
.navbar-brand .brand-accent{ color:#ffe3e3; }

/* Hero */
.hero{ height: 64vh; min-height: 420px; }
.hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(.1) brightness(.75); }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,.55)); }
.hero-content{ position:relative; z-index:2; top:50%; transform:translateY(-50%); color:#fff; }

/* Sections */
.section-pad{ padding: 64px 0; }
.section-header{ text-align:center; max-width:760px; margin:0 auto 28px; }
.section-title{ font-weight:800; letter-spacing:.2px; }
.section-sub{ color:#6b6b6b; }


.card-plain{ border:1px solid #e7e7e7; border-radius:1rem; overflow:hidden; height:100%; }
.card-plain .card-img-top{ aspect-ratio: 3/2; object-fit:cover; }
.card-plain .card-body{ padding:1rem 1.1rem; }

.video-thumb{ position:relative; cursor:pointer; }
.video-thumb .play{ position:absolute; inset:auto auto 10px 10px; background:#000; color:#fff; border-radius:50px; padding:.3rem .6rem; opacity:.100; }

/* Contact */
footer{ color:#333; }