
:root{
  --burgundy:#3d0a0e;
  --burgundy-dark:#120708;
  --burgundy-card:#230b0e;
  --gold:#d4af37;
  --gold-soft:#c9a66b;
  --cream:#f6e8be;
  --muted:#d7c79a;
  --line:rgba(212,175,55,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--burgundy-dark);
  color:var(--cream);
}
h1,h2,h3,.brand{
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing:.08em;
}
a{color:inherit;text-decoration:none}
.hero{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:40px 24px;
  background:
    linear-gradient(90deg,rgba(18,7,8,.88),rgba(61,10,14,.76)),
    url('../assets/hero-family-legacy.jpg') center/cover no-repeat;
  position:relative;
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid var(--line);
  pointer-events:none;
}
.hero-inner{
  max-width:980px;
  text-align:center;
  position:relative;
  z-index:2;
}
.logo{
  width:min(300px,72vw);
  border-radius:24px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  margin-bottom:28px;
}
.kicker{
  color:var(--gold);
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.32em;
  margin-bottom:18px;
}
h1{
  color:var(--gold);
  font-size:clamp(2.6rem,8vw,5.8rem);
  line-height:.98;
  margin:0;
  text-shadow:0 8px 35px rgba(0,0,0,.55);
}
.tagline{
  margin:20px auto 0;
  font-family:Georgia,serif;
  font-size:clamp(1.1rem,3vw,1.65rem);
  color:#ffe4a1;
}
.hero-copy{
  max-width:760px;
  margin:26px auto 0;
  line-height:1.75;
  color:#efddad;
  font-size:1.05rem;
}
.nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 28px;
  background:rgba(18,7,8,.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand{
  color:var(--gold);
  font-weight:700;
  font-size:.95rem;
}
.nav-links{
  display:flex;
  gap:20px;
  color:#e9d69d;
  font-size:.9rem;
}
.nav-links a:hover{color:var(--gold)}
section{
  padding:86px 7vw;
}
.section-title{
  color:var(--gold);
  font-size:clamp(2rem,4vw,3.2rem);
  margin:0 0 18px;
}
.section-lead{
  max-width:850px;
  color:var(--muted);
  line-height:1.8;
  font-size:1.08rem;
}
.about{
  background:linear-gradient(180deg,#120708,#220b0d);
}
.verticals{
  background:#170708;
}
.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:36px;
}
.card{
  background:linear-gradient(180deg,rgba(61,10,14,.9),rgba(24,8,9,.95));
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.24);
}
.card img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.card-content{padding:24px}
.card h3{
  margin:0 0 12px;
  color:var(--gold);
  font-size:1.28rem;
}
.card p{
  color:#dfc98f;
  line-height:1.7;
  margin:0;
}
.values{
  background:
    linear-gradient(90deg,rgba(18,7,8,.95),rgba(61,10,14,.86)),
    url('../assets/legacy-generations.jpg') center/cover no-repeat;
}
.value-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-top:36px;
}
.value{
  border:1px solid var(--line);
  background:rgba(18,7,8,.62);
  border-radius:18px;
  padding:22px;
  color:#f1dea8;
}
.value strong{
  color:var(--gold);
  display:block;
  margin-bottom:8px;
}
.cta{
  text-align:center;
  background:linear-gradient(180deg,#230b0d,#120708);
}
.cta p{
  max-width:760px;
  margin:0 auto;
  color:var(--muted);
  line-height:1.8;
}
footer{
  padding:36px 24px;
  text-align:center;
  color:#c9b27c;
  border-top:1px solid var(--line);
  background:#0b0405;
  font-size:.92rem;
}
.version{margin-top:8px;color:#8f7947}
@media (max-width:900px){
  .grid{grid-template-columns:1fr 1fr}
  .value-list{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
}
@media (max-width:600px){
  .grid,.value-list{grid-template-columns:1fr}
  section{padding:64px 24px}
  .hero{padding-top:90px}
}


/* v3.1 fixes */
.nav{
  padding-top: 10px;
  padding-bottom: 10px;
}
.hero{
  padding-top: 140px;
}


/* v1.3.2 contact/footer updates */
.contact-section{
  background:linear-gradient(180deg,#120708,#220b0d);
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:34px;
}
.contact-item{
  background:rgba(18,7,8,.58);
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px;
  color:#f1dea8;
  line-height:1.7;
}
.contact-item strong{
  display:block;
  color:var(--gold);
  margin-bottom:10px;
  font-family:Georgia, "Times New Roman", serif;
  letter-spacing:.06em;
}
.contact-item a,
footer a{
  color:#f6e8be;
  text-decoration:none;
}
.contact-item a:hover,
footer a:hover{
  color:var(--gold);
}
.footer-separator{
  color:#8f7947;
  margin:0 8px;
}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
}
