/* Home page hero + partners — navy + gold, Cormorant Garamond + Inter.
   Requires site-nav.css to be loaded first (shares --brand-navy/--brand-gold
   tokens and nav styling). Home-page-only: not loaded on other pages. */

:root{
  --home-navy-card:rgba(23,38,53,0.86);
  --home-card-border:#e7e2d8;
}

/* HERO PHOTO — full viewport bleed, no side margins */
.hero-photo-wrap{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw);
  aspect-ratio:21/9; overflow:hidden;
}
.hero-photo-wrap img.bg{
  width:100%; height:100%; object-fit:cover; object-position:50% 42%;
}
.hero-card{
  position:absolute; top:28px; left:28px; bottom:28px;
  width:min(42%, 480px);
  background:var(--home-navy-card);
  color:#f2efe8;
  padding:44px 40px;
  display:flex; flex-direction:column; justify-content:center;
  z-index:2;
}
.hero-card h1{
  font-size:clamp(1.55rem, 2.3vw, 2.05rem);
  line-height:1.32;
  margin:0;
  text-wrap:balance;
}
.hero-rule{width:52px; height:1px; background:var(--brand-gold); margin:24px 0;}
.hero-card p{
  font-family:'Inter', sans-serif; font-weight:400;
  font-size:0.98rem; line-height:1.65; margin:0; color:#dfe3e6;
}
.hero-card .cta-link{
  font-weight:600; color:#f2efe8;
  border-bottom:1px solid var(--brand-gold);
  padding-bottom:1px;
  transition:color .15s ease, border-color .15s ease;
}
.hero-card .cta-link:hover{
  color:var(--brand-gold);
  border-bottom-color:var(--brand-gold);
}

/* PARTNERS */
.partners{
  max-width:1320px; margin:0 auto; padding:72px 44px 96px;
}
.partners-heading{
  display:flex; align-items:center; gap:24px;
  width:95%; margin:0 auto 48px;
}
.partners-heading .rule{flex:1; height:1px; background:var(--brand-gold);}
.partners-heading h2{
  font-size:clamp(1.8rem, 3vw, 2.4rem);
  color:var(--brand-navy); margin:0; white-space:nowrap;
}
.partner-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.partner-tile{
  display:flex; align-items:center; justify-content:center;
  background:#ffffff;
  border:1px solid var(--home-card-border);
  border-radius:8px;
  padding:16px 22px;
  height:128px;
}
.partner-tile img{max-height:60px; max-width:100%; width:auto; object-fit:contain;}
.partner-tile img.mark{max-height:92px;}

@media (max-width:900px){
  .hero-photo-wrap{aspect-ratio:3/4;}
  .hero-card{position:static; width:auto; margin:0; padding:28px 24px;}
  .partners{padding:48px 22px 64px;}
  .partner-grid{grid-template-columns:repeat(2,1fr);}
}
