
:root{
  --navy:#0d2738;
  --cream:#f4f0e7;
  --burgundy:#76231e;
  --ink:#172b3d;
  --muted:#66717a;
  --line:#d8d0c3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;background:var(--navy);color:#fff;height:76px;display:flex;align-items:center;padding:0 5vw;gap:30px}
.brand{margin-right:auto;line-height:.9}
.brand strong{display:block;font-size:29px;letter-spacing:2px}
.brand span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:3px;color:#72bce5}
nav{display:flex;gap:30px;font:600 13px Arial,sans-serif;letter-spacing:1.2px}
nav a{padding:29px 0 25px;border-bottom:2px solid transparent}
nav a.active{border-color:#d8bfa0}
.button{background:var(--burgundy);color:#fff;padding:13px 22px;border:1px solid #b9877e;font:600 12px Arial,sans-serif;letter-spacing:2px}
.hero{position:relative;height:min(65vw,1000px);min-height:820px;display:flex;align-items:flex-end;overflow:hidden;background:#222}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,22,.82),rgba(4,14,22,.18) 65%,rgba(4,14,22,.05))}
.hero-copy{position:relative;z-index:2;color:#fff;padding:0 7vw 85px;max-width:650px}
.kicker{font:600 12px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;color:#d5a99f}
h1{font-size:clamp(50px,6vw,86px);line-height:.98;margin:15px 0 25px;font-weight:500}
.hero-copy p{font:600 16px Arial,sans-serif;letter-spacing:1.5px;max-width:540px}
.section{padding:90px 6vw}
.section-title{text-align:center;max-width:780px;margin:0 auto 50px}
.section-title .kicker{color:var(--burgundy)}
h2{font-size:clamp(38px,4vw,58px);line-height:1.05;margin:10px 0 18px;font-weight:500}
.lead{font-size:20px;color:#3f4b53}
.features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature{padding:40px 28px;text-align:center;border-right:1px solid var(--line)}
.feature:last-child{border-right:0}
.feature h3{font-size:17px;text-transform:uppercase;letter-spacing:1px}
.feature p{font-size:16px;color:var(--muted)}
.gallery{background:var(--cream);color:var(--ink)}
.gallery .section-title .kicker{color:var(--burgundy)}
.gallery .section-title .lead{color:#3f4b53 !important}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-grid img{width:100%;height:260px;object-fit:cover}
.heritage{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.heritage img{width:100%;height:520px;object-fit:cover}
.heritage-copy{padding:60px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:55px}
.timeline article{border-top:3px solid var(--burgundy);padding-top:15px}
.timeline strong{font-size:28px;color:var(--burgundy)}
.timeline h3{margin:4px 0 8px;font:700 13px Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase}
.timeline p{margin:0;color:#4d5960}
.photo-story{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:55px}
.photo-card{background:#ebe5d9;padding:16px}
.photo-card img{width:100%;height:420px;object-fit:cover}
.photo-card figcaption{font-style:italic;margin-top:10px}
.cta{background:linear-gradient(90deg,var(--navy),#183a4d);color:#fff;text-align:center;padding:75px 6vw}
.cta h2{max-width:850px;margin:0 auto 25px}
.site-footer{background:#091d2a;color:#dbe3e7;padding:40px 6vw;display:flex;justify-content:space-between;font:12px Arial,sans-serif;letter-spacing:1px}
@media(max-width:850px){
 nav{gap:12px}nav a{font-size:11px}.site-header{padding:0 18px}.button{display:none}
 .hero{height:620px;min-height:620px}.features,.timeline,.heritage,.photo-story{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:260px}
 .feature:nth-child(2){border-right:0}.feature:nth-child(3){border-top:1px solid var(--line)}
 .heritage-copy{padding:40px 25px}.photo-card img{height:300px}
}
@media(max-width:560px){
 nav a:nth-child(3),nav a:nth-child(4),nav a:nth-child(5){display:none}
 .features,.timeline,.heritage,.photo-story,.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:auto}
 .feature{border-right:0;border-bottom:1px solid var(--line)}
 .heritage img{height:360px}.hero-copy{padding:0 25px 55px}
 .site-footer{display:block}.site-footer div+div{margin-top:12px}
}


/* Version 3 final: readable dark text inside the cream vehicle-access card */
.service-band .service-highlight {
  color: var(--ink);
}

.service-band .service-highlight h3,
.service-band .service-highlight p {
  color: var(--ink);
}


.page-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(90deg,var(--navy),#183a4d)}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,22,.18),rgba(4,14,22,0))}
.page-hero-copy{position:relative;z-index:2;color:#fff;padding:85px 7vw;max-width:900px}
.page-hero h1{font-size:clamp(48px,6vw,82px);line-height:1.0;margin:15px 0 25px;font-weight:500}
.page-hero-copy>p{font-size:22px;max-width:720px;color:#e7ecef}
.why-intro{max-width:850px;margin:0 auto;text-align:center;font-size:22px}
.why-band{background:var(--navy);color:#fff;padding:90px 6vw}
.why-band .section-title{margin-bottom:45px}
.why-band .section-title h2{color:#fff}
.why-grid{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.why-grid article{padding:35px 24px;border-right:1px solid rgba(255,255,255,.16)}
.why-grid article:last-child{border-right:0}
.why-grid h3{font-size:17px;text-transform:uppercase;letter-spacing:1.5px;color:#d5a99f;margin-top:0}
.why-grid p{color:#d9e1e5;font-size:16px}
.why-story{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.why-story img{width:100%;height:520px;object-fit:cover}
.why-story p{font-size:18px}
.why-story .lead{font-size:21px}
.why-quote{background:#ebe5d9}
.why-quote .section-title{max-width:900px}
@media(max-width:850px){
 .page-hero{min-height:520px}
 .page-hero-copy{padding:70px 30px}
 .why-grid{grid-template-columns:1fr 1fr}
 .why-grid article:nth-child(2),.why-grid article:nth-child(4){border-right:0}
 .why-grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}
 .why-story{grid-template-columns:1fr}
 .why-story img{height:400px}
}
@media(max-width:560px){
 .why-grid{grid-template-columns:1fr}
 .why-grid article{border-right:0!important;border-top:1px solid rgba(255,255,255,.16)}
 .why-grid article:first-child{border-top:0}
 .page-hero{min-height:500px}
 .page-hero h1{font-size:48px}
 .why-story img{height:340px}
}


/* Family history gallery */
.family-history-gallery { padding: 72px 24px; background: var(--cream); }
.family-history-gallery .section-inner { max-width: 1180px; margin: 0 auto; }
.family-history-gallery .section-kicker { color: var(--burgundy); font: 700 .78rem/1 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 12px; }
.family-history-gallery h2 { margin: 0 0 14px; }
.family-history-gallery .section-intro { max-width: 760px; margin: 0 0 30px; }
.family-history-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.family-history-grid figure { margin: 0; overflow: hidden; background: #ddd; }
.family-history-grid img { display: block; width: 100%; height: 300px; object-fit: cover; }
@media (max-width: 800px) { .family-history-grid { grid-template-columns: 1fr; } .family-history-grid img { height: auto; max-height: 520px; } }

/* Four-photo family history grid */
.family-history-grid {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1000px) {
  .family-history-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .family-history-grid {
    grid-template-columns: 1fr;
  }
}

/* Family-history feature caption */
.family-history-feature {
  margin: 0;
}
.family-history-feature figcaption {
  padding: 12px 2px 0;
  color: var(--ink);
  font-family: Georgia, serif;
  font-size: 0.98rem;
  line-height: 1.5;
}
.family-history-feature figcaption strong {
  display: inline-block;
  margin-bottom: 2px;
}
