*{box-sizing:border-box}

:root{
  --navy:#172b6b;
  --red:#e51b2d;
  --ink:#111827;
  --line:#e3e5eb;
}


.elite-about{
  position:relative;
  overflow:hidden;
  min-height:930px;
  /* background:
    radial-gradient(circle, rgba(35,57,119,.10) 1.35px, transparent 1.55px) 0 0/18px 18px,
    linear-gradient(180deg,#f8f9fc 0%,#fff 100%);
  border-top:4px solid #ece4d7; */
}

.elite-container{
  position:relative;
  max-width:1536px;
  height:926px;
  margin:0 auto;
  padding:0 70px;
}

.elite-hero{
  position:relative;
  height:680px;
}

.elite-copy{
  position:absolute;
  z-index:5;
  top:70px;
  left:70px;
  width:545px;
}

.elite-eyebrow{
  display:flex;
  align-items:center;
  gap:16px;
  color:var(--red);
  font-size:14px;
  /* font-weight:800; */
  line-height:1;
  margin-bottom:27px;
}

.elite-eyebrow i{
  display:block;
  width:32px;
  height:2px;
  background:var(--red);
}

.elite-copy h1{
  margin:0;
  color:var(--navy);
  font-size:43px;
  line-height:1.19;
  letter-spacing:-1.3px;
 /* font-weight:800; */
}

.elite-copy h1 span{
  display:block;
  white-space:nowrap;
}

.elite-rule{
  width:56px;
  height:3px;
  margin:24px 0 25px;
  background:var(--red);
}

.elite-description{
  width:545px;
}

.elite-description p{
  margin:0 0 18px;
  font-size:14px;
  line-height:1.95;
  color:#171a22;
}

.elite-buttons{
  display:flex;
  gap:27px;
  margin-top:31px;
}

.elite-btn{
  width:262px;
  height:55px;
  padding:0 28px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  transition:.2s ease;
}

.elite-btn b{
  font-size:22px;
  font-weight:400;
}

.elite-btn-red{
  color:#fff;
  background:var(--red);
  box-shadow:0 8px 18px rgba(229,27,45,.18);
}

.elite-btn-red:hover{background:#c91427;transform:translateY(-1px)}

.elite-btn-white{
  color:var(--navy);
  background:rgba(255,255,255,.75);
  border:1px solid var(--navy);
}

.elite-btn-white:hover{
  color:#fff;
  background:var(--navy);
}

/* IMAGE: deliberately behind the content, matching the reference */
.elite-photo-wrap{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:54%;
  height:700px;
}

.elite-photo{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:50% 0 0 50%;
}

.elite-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.elite-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(18,35,83,0) 55%,rgba(18,35,83,.20));
}

.elite-location{
  position:absolute;
  z-index:4;
  right:17px;
  bottom:125px;
  width:570px;
  min-height:78px;
  padding:13px 24px 13px 20px;
  display:flex;
  align-items:center;
  gap:17px;
  border-radius:12px;
  color:#fff;
  background:rgba(24,43,104,.96);
  box-shadow:0 10px 25px rgba(20,31,73,.18);
}

.elite-pin{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:4px solid #fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  font-size:0;
  position:relative;
}

.elite-pin:after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  top:9px;
  left:9px;
}

.elite-location strong,
.elite-location span{
  display:block;
  font-size:13px;
  line-height:1.55;
}

.elite-location strong{font-weight:700}

/* FEATURES */
.elite-features{
  position:absolute;
  z-index:10;
  left:70px;
  right:70px;
  bottom:20px;
  min-height:248px;
  padding:44px 68px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:rgba(255,255,255,.98);
  border-radius:0px;
  box-shadow:0 14px 42px rgba(28,38,68,.12);
}

.elite-feature{
  min-width:0;
  display:grid;
  grid-template-columns:62px 1fr;
  gap:23px;
  padding:0 38px;
  border-right:1px solid var(--line);
}

.elite-feature:first-child{padding-left:34px}
.elite-feature:last-child{
  border-right:0;
  padding-right:10px;
}

.elite-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--navy);
  font-size:27px;
}

.elite-feature h3{
  margin:3px 0 20px;
  color:var(--navy);
  font-size:18px;
  line-height:1.25;
  font-weight:600;
}

.elite-feature h3 span,
.elite-feature h3 strong{display:block}

.elite-feature h3 strong{
  font-size:27px;
  line-height:1;
  margin-bottom:4px;
}

.elite-feature p{
  margin:0;
  color:#333947;
  font-size:13px;
  line-height:1.85;
}

/* 1200px */
@media(max-width:1200px){
  .elite-container{padding:0 45px}
  .elite-copy{left:45px;width:480px}
  .elite-description{width:480px}
  .elite-copy h1{font-size:39px}
  .elite-photo-wrap{width:60%}
  .elite-location{width:500px}
  .elite-features{left:45px;right:45px;padding:40px 30px}
  .elite-feature{padding:0 20px;gap:15px}
}

/* 900px: stack hero cleanly */
@media(max-width:900px){
  .elite-about{min-height:0}
  .elite-container{
    height:auto;
    padding:0 22px 45px;
  }
  .elite-hero{
    height:auto;
    display:flex;
    flex-direction:column;
  }
  .elite-copy{
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    padding-top:48px;
  }
  .elite-copy h1{font-size:40px}
  .elite-description{width:100%;max-width:620px}
  .elite-photo-wrap{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:430px;
    margin-top:42px;
  }
  .elite-photo{border-radius:120px 0 0 0}
  .elite-location{
    right:12px;
    bottom:18px;
    width:calc(100% - 24px);
  }
  .elite-features{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:25px;
    min-height:0;
    padding:20px;
    grid-template-columns:1fr 1fr;
  }
  .elite-feature{
    padding:25px 18px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .elite-feature:nth-child(2n){border-right:0}
  .elite-feature:nth-last-child(-n+2){border-bottom:1px solid var(--line);}
}

/* 600px */
@media(max-width:600px){
  .elite-container{padding:0 16px 35px}
  .elite-copy{padding-top:38px}
  .elite-eyebrow{font-size:12px}
  .elite-copy h1{
    font-size:34px;
    line-height:1.18;
  }
  .elite-copy h1 span{white-space:normal}
  .elite-description p{
    font-size:14px;
    line-height:1.75;
  }
  .elite-buttons{
    flex-direction:column;
    gap:12px;
    margin-top:25px;
  }
  .elite-btn{width:100%}
  .elite-photo-wrap{height:350px;margin-top:34px}
  .elite-photo{border-radius:75px 0 0 0}
  .elite-location{
    padding:11px 14px;
    gap:12px;
  }
  .elite-location strong,.elite-location span{font-size:11px}
  .elite-features{
    grid-template-columns:1fr;
    padding:5px;
  }
  .elite-feature,
  .elite-feature:first-child,
  .elite-feature:last-child{
    display:grid;
    grid-template-columns:54px 1fr;
    padding:23px 15px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .elite-feature:last-child{border-bottom:0}
  .elite-icon{
    width:54px;height:54px;
  }
}

/* Extra small */
@media(max-width:390px){
  .elite-copy h1{font-size:31px}
  .elite-location strong,.elite-location span{font-size:10px}
}
