/* HHF & Sons Ltd custom brand and layout overrides */
:root {
  --background-color: #ffffff;
  --default-color: #4a5563;
  --heading-color: #102a43;
  --accent-color: #c6a15b;
  --surface-color: #ffffff;
  --contrast-color: #ffffff;
  --hhf-navy: #102a43;
  --hhf-dark: #0b1f33;
  --hhf-gold: #c6a15b;
  --hhf-gold-soft: #d8c28a;
  --hhf-warm: #f7f5f0;
}

body { color: var(--default-color); }
body::selection { background: var(--hhf-gold); color: var(--hhf-dark); }

a { color: var(--hhf-navy); }
a:hover { color: var(--hhf-gold); }

.header { background: rgba(11,31,51,.92); backdrop-filter: blur(10px); }
.header .logo { min-width: 125px; }
.hhf-logo { width: 125px; height: auto; display:block; max-height:52px; object-fit:contain; }
.navmenu a:hover, .navmenu .active { color: var(--hhf-gold) !important; }
.navmenu .mobile-nav-toggle { color: #fff; }

.hhf-hero { min-height: 760px; }
.hhf-hero > img { object-position: center 58%; }
.hhf-hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(7,24,40,.86) 0%, rgba(7,24,40,.58) 48%, rgba(7,24,40,.34) 100%); z-index:1; }
.hhf-hero .container { z-index:2; }
.eyebrow, .section-eyebrow { display:inline-block; font-family: var(--nav-font); font-size: .78rem; font-weight:700; letter-spacing:.16em; color:var(--hhf-gold); text-transform:uppercase; margin-bottom:16px; }
.hhf-hero h1 { color:#fff; font-size: clamp(2.6rem, 5vw, 4.8rem); line-height:1.05; max-width:980px; margin:0 auto 22px; }
.hero-lead { color:rgba(255,255,255,.9); font-size:1.18rem; line-height:1.8; max-width:820px; margin:0 auto 30px; }
.hero-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.btn-get-started, .btn-outline-light-custom { width:280px; min-height:58px; box-sizing:border-box; justify-content:center; text-align:center; }
.btn-get-started, .hhf-button { background:var(--hhf-gold); color:var(--hhf-dark) !important; border:1px solid var(--hhf-gold); padding:13px 24px; border-radius:2px; font-family:var(--nav-font); font-weight:600; display:inline-flex; align-items:center; gap:10px; justify-content:center; }
.btn-get-started:hover, .hhf-button:hover { background:#d8b972; border-color:#d8b972; color:var(--hhf-dark) !important; }
.btn-outline-light-custom { color:#fff; border:1px solid rgba(255,255,255,.6); padding:13px 24px; border-radius:2px; font-family:var(--nav-font); font-weight:600; display:inline-flex; align-items:center; }
.btn-outline-light-custom:hover { background:#fff; color:var(--hhf-dark); }

.hhf-facts { background:var(--hhf-dark); color:#fff; }
.fact-item { min-height:112px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border-right:1px solid rgba(255,255,255,.12); padding:20px 12px; }
.fact-item:last-child { border-right:0; }
.fact-item strong { font-family:var(--heading-font); font-size:1.05rem; letter-spacing:.06em; color:#fff; }
.fact-item span { color:rgba(255,255,255,.65); font-size:.85rem; margin-top:5px; }

.section { scroll-margin-top:85px; }
.section-title h2 { color:var(--hhf-navy); font-size:clamp(2rem,3.5vw,3rem); }
.section-title p { max-width:820px; margin:0 auto; }
.light-background { background:var(--hhf-warm); }

.about-image-wrap { position:relative; overflow:hidden; box-shadow:0 18px 45px rgba(11,31,51,.12); }
.about-image-wrap img { width:100%; aspect-ratio: 1/1.03; object-fit:cover; }
.image-caption { position:absolute; left:0; right:0; bottom:0; padding:13px 18px; background:linear-gradient(transparent,rgba(11,31,51,.9)); color:#fff; font-size:.9rem; padding-top:35px; }
.about-content h3 { font-size:2rem; color:var(--hhf-navy); margin-bottom:18px; }
.about-point { display:flex; gap:15px; padding:16px 0; border-bottom:1px solid #e7e4dd; }
.about-point:last-child { border-bottom:0; }
.about-point > i { color:var(--hhf-gold); font-size:1.45rem; margin-top:3px; }
.about-point h4 { font-size:1.05rem; margin-bottom:5px; }
.about-point p { margin:0; font-size:.95rem; }

.hhf-card { height:100%; padding:30px 26px; background:#fff; border:1px solid #e9e4d8; box-shadow:0 8px 30px rgba(11,31,51,.04); transition:.3s; }
.hhf-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(11,31,51,.09); }
.hhf-card .icon { color:var(--hhf-gold); font-size:2rem; margin-bottom:18px; }
.hhf-card h3 { font-size:1.35rem; margin-bottom:8px; }
.hhf-card p { margin:0; font-size:.94rem; }
.hhf-opportunity-feature { margin-top:75px; }
.property-feature { width:100%; max-height:650px; object-fit:cover; box-shadow:0 18px 45px rgba(11,31,51,.12); }
.hhf-opportunity-feature h3 { font-size:2.1rem; margin:8px 0 18px; }
.check-list { list-style:none; padding:0; margin:25px 0 0; }
.check-list li { display:flex; gap:10px; margin:13px 0; }
.check-list i { color:var(--hhf-gold); font-size:1.15rem; }

.service-item { height:100%; display:flex; gap:18px; padding:26px; border:1px solid #e9e4dd; background:#fff; }
.service-item .icon { flex:0 0 48px; height:48px; border:1px solid var(--hhf-gold-soft); color:var(--hhf-gold); display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.service-item h3 { font-size:1.1rem; margin-bottom:7px; }
.service-item p { margin:0; font-size:.9rem; }

.partner-grid { max-width:1000px; margin:auto; }
.partner-pill { background:#fff; border:1px solid #e5dfd2; padding:20px 16px; text-align:center; font-family:var(--heading-font); font-weight:600; color:var(--hhf-navy); height:100%; }
.partner-pill i { color:var(--hhf-gold); margin-right:8px; }

.location-section { background:#fff; }
.location-graphic { background:var(--hhf-dark); padding:30px; min-height:430px; display:flex; align-items:center; justify-content:center; }
.location-graphic img { width:100%; max-height:410px; }
.location-copy h3 { font-size:2rem; }
.location-image-wrap { margin-top:28px; position:relative; overflow:hidden; }
.location-image-wrap img { width:100%; height:250px; object-fit:cover; }
.location-image-wrap span { position:absolute; bottom:0; left:0; right:0; padding:12px 16px; color:#fff; background:linear-gradient(transparent,rgba(11,31,51,.85)); padding-top:45px; }

.property-table { background:#fff; border:1px solid #e6e0d5; }
.property-table th { width:30%; color:var(--hhf-navy); font-family:var(--heading-font); font-weight:700; background:#fbfaf7; }
.property-table td, .property-table th { padding:20px 24px; border-color:#ece8df; }

.documentation-section { background:var(--hhf-dark); color:#fff; }
.documentation-section .section-title h2 { color:#fff; }
.documentation-section .section-title p { color:rgba(255,255,255,.72); }
.document-card { height:100%; padding:32px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); }
.document-card > i { color:var(--hhf-gold); font-size:2rem; }
.document-card h3 { color:#fff; font-size:1.25rem; margin:18px 0 8px; }
.document-card p { color:rgba(255,255,255,.7); margin:0; }
.documentation-cta { max-width:800px; margin:45px auto 0; }
.documentation-cta p { color:rgba(255,255,255,.72); margin-bottom:24px; }

.contact-card { background:var(--hhf-warm); padding:55px; border-top:4px solid var(--hhf-gold); }
.contact-card h3 { font-size:2.25rem; margin-bottom:12px; }
.contact-details { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:30px 0; }
.contact-details > div { display:flex; gap:13px; align-items:flex-start; }
.contact-details i { color:var(--hhf-gold); font-size:1.25rem; }
.contact-details small { display:block; color:#78818d; text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; }
.contact-details a, .contact-details span { color:var(--hhf-navy); font-weight:600; }

.footer { background:var(--hhf-dark) !important; }
.footer-logo { width:135px; max-height:56px; object-fit:contain; }
.footer p, .footer .footer-contact p { color:rgba(255,255,255,.72); }
.footer .footer-contact a { color:#fff !important; font-weight:600; }
.footer .footer-contact a:hover { color:var(--hhf-gold) !important; }
.footer h4 { color:#fff; }
.footer .footer-links a { color:rgba(255,255,255,.7); }
.footer .footer-links a:hover { color:var(--hhf-gold); }
.footer-cta { color:var(--hhf-gold) !important; font-family:var(--nav-font); font-weight:600; }
.footer .credits { color:rgba(255,255,255,.45); }
.footer .credits a { color:var(--hhf-gold); }

@media (max-width: 991px) {
  .hhf-hero { min-height:680px; }
  .contact-card { padding:35px 25px; }
}
@media (max-width: 767px) {
  .hhf-logo { width:115px; max-height:48px; }
  .hhf-hero { min-height:650px; }
  .hhf-hero h1 { font-size:2.45rem; }
  .hero-lead { font-size:1rem; line-height:1.65; }
  .hero-lead {
  text-align: center;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
  .fact-item:nth-child(2) { border-right:0; }
  .fact-item:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .contact-details { grid-template-columns:1fr; }
  .property-table th { width:40%; }
}
