*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:Arial, sans-serif;
  color:#232832;
  background:#f4f5f6;
}

.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 5%;
  background:#202630;
  color:white;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.header-inner{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo{
  font-weight:800;
  letter-spacing:1px;
}

.logo img{
  height:62px;
  width:auto;
  display:block;
}

.logo-link{
  display:block;
  line-height:0;
}

.site-logo{
  display:block;
  width:auto;
  height:62px;
}

nav a{
  color:white;
  text-decoration:none;
  margin:0 16px;
  font-weight:600;
}

.mobile-menu-toggle{
  display:none;
}

.phone{
  color:white;
  text-decoration:none;
  font-weight:700;
}

.hero-split{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:60px;
  align-items:center;
  min-height:560px;
  padding:55px 6% 70px;
  background:#232832;
  color:white;
}

.eyebrow{
  color:#E6321E;
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:800;
  margin-bottom:18px;
}

.hero-text h1{
  font-size:56px;
  line-height:1.05;
  text-transform:uppercase;
  margin-bottom:24px;
}

.hero-text p{
  font-size:20px;
  line-height:1.5;
  margin-bottom:32px;
  max-width:560px;
}

.btn{
  display:inline-block;
  padding:15px 30px;
  background:#E6321E;
  color:white;
  text-decoration:none;
  font-weight:bold;
}

.btn:hover,
.btn:focus-visible{
  background:#bd2818;
}

.text-link{
  color:#E6321E;
  font-weight:800;
  text-decoration:none;
}

.text-link:hover,
.text-link:focus-visible{
  text-decoration:underline;
}

.hero-video-card{
  background:#BEC3CD;
  padding:12px;
  border-top:6px solid #E6321E;
}

.hero-video-card video{
  width:100%;
  display:block;
}

@media(max-width:900px){
  .site-header{
    padding:12px 5%;
  }

  .header-inner{
    display:grid;
    grid-template-columns:1fr auto;
    gap:0 18px;
  }

  .logo img,
  .site-logo{
    height:48px;
  }

  .logo-link{
    justify-self:start;
  }

  .mobile-menu-toggle{
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.24);
    background:transparent;
    color:white;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
  }

  .mobile-menu-icon,
  .mobile-menu-icon::before,
  .mobile-menu-icon::after{
    display:block;
    width:20px;
    height:2px;
    background:white;
    transition:transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-icon{
    position:relative;
  }

  .mobile-menu-icon::before,
  .mobile-menu-icon::after{
    content:"";
    position:absolute;
    left:0;
  }

  .mobile-menu-icon::before{
    top:-6px;
  }

  .mobile-menu-icon::after{
    top:6px;
  }

  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon{
    background:transparent;
  }

  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::before{
    top:0;
    transform:rotate(45deg);
  }

  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::after{
    top:0;
    transform:rotate(-45deg);
  }

  .main-nav{
    grid-column:1 / -1;
    display:none;
    width:100%;
    padding:16px 0 5px;
    text-align:left;
  }

  .main-nav.is-open{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
  }

  .main-nav a{
    display:block;
    margin:0;
    padding:13px 10px;
    border-top:1px solid rgba(255,255,255,.12);
  }

  .hero-split{
    grid-template-columns:1fr;
    gap:42px;
    min-height:0;
    padding:60px 6% 65px;
  }

  .hero-text h1{
    font-size:40px;
  }

  .hero-text,
  .hero-video-card{
    min-width:0;
  }

  .hero-video-card{
    padding:8px;
  }
}
 
.home-categories{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  padding:80px 6%;
  background:#f4f5f6;
}

.category-card{
  display:block;
  background:white;
  padding:35px;
  border-top:5px solid #E6321E;
  box-shadow:0 5px 20px rgba(0,0,0,.08);
  text-decoration:none;
  color:#232832;
  transition:transform .2s ease, box-shadow .2s ease;
}

.category-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}

.category-card h2{
  margin-bottom:15px;
}

.category-card p{
  line-height:1.5;
}

.custom-homes-section{
  padding:75px 6%;
  background:white;
}

.rent-to-own-intro-section{
  padding:82px 6%;
  background:white;
}

.rent-to-own-intro-section h2{
  max-width:760px;
  margin-bottom:20px;
  font-size:44px;
  line-height:1.15;
}

.rent-to-own-intro-section p:not(.eyebrow){
  max-width:850px;
  margin-bottom:25px;
  color:#4f5966;
  font-size:19px;
  line-height:1.65;
}

.home-paths-section{
  padding:85px 6% 95px;
  background:#e9ebee;
}

.home-paths-heading{
  max-width:1200px;
  margin:0 auto 36px;
}

.home-paths-heading h2{
  font-size:42px;
}

.home-paths-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  max-width:1200px;
  margin:0 auto;
}

.home-path-card{
  display:block;
  min-height:260px;
  padding:36px 32px;
  background:white;
  border-top:6px solid #BEC3CD;
  color:#232832;
  text-decoration:none;
  box-shadow:0 8px 25px rgba(25,31,40,.08);
  transition:transform .2s ease,box-shadow .2s ease;
}

.home-path-card-primary{
  border-color:#E6321E;
}

.home-path-card:hover,
.home-path-card:focus-visible{
  transform:translateY(-5px);
  box-shadow:0 14px 30px rgba(25,31,40,.14);
}

.home-path-card span{
  display:block;
  margin-bottom:32px;
  color:#E6321E;
  font-size:13px;
  font-weight:900;
  letter-spacing:2px;
}

.home-path-card h3{
  margin-bottom:14px;
  font-size:28px;
}

.home-path-card p{
  color:#596371;
  line-height:1.6;
}

.section-content{
  max-width:850px;
}

.custom-homes-section h2{
  font-size:42px;
  margin-bottom:20px;
}

.custom-homes-section p{
  font-size:19px;
  line-height:1.6;
  margin-bottom:28px;
}

.homes-showcase-section{
  padding:80px 6% 95px;
  background:#f4f5f6;
}

.homes-showcase-section h2{
  font-size:42px;
  margin-bottom:35px;
}

.showcase-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}

.showcase-image{
  height:320px;
  position:relative;
  overflow:hidden;
  background:#BEC3CD;
  border-top:6px solid #E6321E;
}

.showcase-image:first-child{
  height:320px;
}

.showcase-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.placeholder{
  background:
    linear-gradient(135deg, rgba(35,40,50,.08) 25%, transparent 25%),
    linear-gradient(225deg, rgba(35,40,50,.08) 25%, transparent 25%),
    linear-gradient(315deg, rgba(35,40,50,.08) 25%, transparent 25%),
    linear-gradient(45deg, rgba(35,40,50,.08) 25%, transparent 25%),
    #BEC3CD;
  background-size:40px 40px;
  background-position:20px 0, 20px 0, 0 0, 0 0;
}

.contact-section{
  text-align:center;
  padding:85px 6% 95px;
  background:#232832;
  color:white;
}

.contact-section h2{
  margin-bottom:24px;
  font-size:34px;
}

.contact-section p{
  font-size:20px;
  margin-bottom:8px;
}

.contact-intro{
  max-width:760px;
  margin:0 auto 22px;
  line-height:1.5;
}

.contact-details{
  display:flex;
  justify-content:center;
  gap:36px;
  flex-wrap:wrap;
  margin-top:26px;
}

.contact-details a{
  color:white;
  text-decoration:none;
  font-weight:700;
  font-size:1.25rem;
  line-height:1.3;
}

.contact-details a:hover{
  color:#E6321E;
}

@media(max-width:900px){
  .home-categories{
    grid-template-columns:1fr;
  }

  .showcase-grid{
    grid-template-columns:1fr;
  }

  .showcase-image,
  .showcase-image:first-child{
    height:260px;
  }
}
/* MOVE-IN READY PAGE */

.move-in-ready-hero{
  position:relative;
  padding:105px 6% 95px;
  overflow:hidden;
  background:linear-gradient(135deg, #202630 0%, #2d3440 100%);
  color:white;
  text-align:center;
}

.move-in-ready-hero::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-180px;
  width:420px;
  height:420px;
  border:55px solid rgba(255,255,255,.035);
  border-radius:50%;
}

.move-in-ready-hero-content{
  position:relative;
  z-index:1;
  max-width:800px;
  margin:0 auto;
}

.section-eyebrow,
.property-status{
  color:#E6321E;
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:800;
}

.section-eyebrow{
  margin-bottom:16px;
}

.move-in-ready-hero h1{
  font-size:clamp(42px, 6vw, 68px);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:-1px;
  margin-bottom:22px;
}

.move-in-ready-hero-content > p:last-child{
  max-width:720px;
  margin:0 auto;
  font-size:20px;
  line-height:1.6;
  color:#e4e7eb;
}

.property-listings-section{
  padding:90px 6% 105px;
  background:#f4f5f6;
}

.property-listings-container{
  max-width:1200px;
  margin:0 auto;
}

.property-listing{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(360px, .85fr);
  min-height:440px;
  background:white;
  border-top:6px solid #E6321E;
  box-shadow:0 10px 32px rgba(25,31,40,.10);
  overflow:hidden;
}

.property-listing + .property-listing{
  margin-top:48px;
}

.property-listing-reverse .property-image-wrap{
  order:2;
}

.property-listing-reverse .property-info{
  order:1;
}

.property-image-wrap{
  min-height:440px;
  background:#BEC3CD;
}

.property-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.listing-image.has-image{
  padding:0;
  background:#BEC3CD;
}

.listing-image.has-image img{
  width:100%;
  height:100%;
  min-height:inherit;
  display:block;
  object-fit:cover;
}

.listings-empty{
  grid-column:1 / -1;
  padding:65px 30px;
  background:white;
  border-top:6px solid #E6321E;
  box-shadow:0 10px 32px rgba(25,31,40,.10);
  text-align:center;
}

.listings-empty h2{
  margin-bottom:12px;
  font-size:32px;
}

.listings-empty p{
  margin-bottom:25px;
  color:#555f6b;
  line-height:1.6;
}

.property-image-placeholder{
  width:100%;
  height:100%;
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(135deg, rgba(35,40,50,.07) 25%, transparent 25%) 0 0/42px 42px,
    linear-gradient(315deg, rgba(35,40,50,.07) 25%, transparent 25%) 0 0/42px 42px,
    linear-gradient(45deg, rgba(35,40,50,.07) 25%, transparent 25%) 21px 21px/42px 42px,
    linear-gradient(225deg, rgba(35,40,50,.07) 25%, transparent 25%) 21px 21px/42px 42px,
    #c9ced6;
  color:#5f6875;
  font-size:15px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}

.property-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px 48px;
}

.property-status{
  margin-bottom:13px;
  font-size:13px;
}

.property-info h2{
  font-size:36px;
  line-height:1.1;
  margin-bottom:10px;
}

.property-location{
  color:#68717e;
  font-size:17px;
  margin-bottom:24px;
}

.property-details{
  display:flex;
  gap:0;
  padding:17px 0;
  margin-bottom:23px;
  border-top:1px solid #dfe2e6;
  border-bottom:1px solid #dfe2e6;
}

.property-details span{
  padding:0 16px;
  color:#343b46;
  font-size:14px;
  font-weight:700;
}

.property-details span:first-child{
  padding-left:0;
}

.property-details span + span{
  border-left:1px solid #dfe2e6;
}

.property-description{
  color:#555f6b;
  font-size:16px;
  line-height:1.6;
  margin-bottom:28px;
}

.property-button{
  align-self:flex-start;
  display:inline-block;
  padding:15px 24px;
  background:#E6321E;
  color:white;
  text-decoration:none;
  font-weight:800;
  transition:background .2s ease, transform .2s ease;
}

.property-button:hover,
.property-button:focus-visible{
  background:#bd2818;
  transform:translateY(-2px);
}

.main-nav a[aria-current="page"]{
  color:#ff5a45;
}

@media(max-width:900px){
  .move-in-ready-hero{
    padding:80px 7% 72px;
  }

  .property-listings-section{
    padding:65px 5% 80px;
  }

  .property-listing{
    grid-template-columns:1fr;
    min-height:0;
  }

  .property-listing-reverse .property-image-wrap,
  .property-listing-reverse .property-info{
    order:initial;
  }

  .property-image-wrap,
  .property-image-placeholder{
    min-height:300px;
  }

  .property-info{
    padding:38px 32px 42px;
  }
}

@media(max-width:520px){
  .main-nav.is-open{
    grid-template-columns:1fr;
  }

  .hero-text h1{
    font-size:36px;
  }

  .hero-text p{
    font-size:18px;
  }

  .custom-homes-section,
  .homes-showcase-section,
  .contact-section{
    padding-left:6%;
    padding-right:6%;
  }

  .custom-homes-section h2,
  .homes-showcase-section h2{
    font-size:34px;
  }

  .contact-details{
    gap:20px;
  }

  .contact-details a{
    width:100%;
    overflow-wrap:anywhere;
  }

  .move-in-ready-hero-content > p:last-child{
    font-size:17px;
  }

  .property-image-wrap,
  .property-image-placeholder{
    min-height:235px;
  }

  .property-info{
    padding:32px 24px 36px;
  }

  .property-info h2{
    font-size:30px;
  }

  .property-details{
    flex-wrap:wrap;
    row-gap:10px;
  }

  .property-details span{
    padding:0 10px;
  }
}

/* COMING SOON PAGE */

.coming-soon-hero{
  position:relative;
  padding:105px 6% 95px;
  overflow:hidden;
  background:linear-gradient(135deg, #202630 0%, #343b47 100%);
  color:white;
  text-align:center;
}

.coming-soon-hero::before,
.coming-soon-hero::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.08);
  transform:rotate(45deg);
}

.coming-soon-hero::before{
  width:310px;
  height:310px;
  top:-210px;
  left:-80px;
}

.coming-soon-hero::after{
  width:450px;
  height:450px;
  right:-260px;
  bottom:-315px;
}

.coming-soon-hero-content{
  position:relative;
  z-index:1;
  max-width:800px;
  margin:0 auto;
}

.coming-soon-hero h1{
  margin-bottom:22px;
  font-size:clamp(42px, 6vw, 68px);
  line-height:1;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.coming-soon-hero-content > p:last-child{
  max-width:720px;
  margin:0 auto;
  color:#e4e7eb;
  font-size:20px;
  line-height:1.6;
}

.coming-soon-section{
  padding:90px 6% 105px;
  background:#f4f5f6;
}

.coming-soon-intro{
  max-width:780px;
  margin:0 auto 48px;
  text-align:center;
}

.coming-soon-intro h2{
  margin-bottom:18px;
  font-size:42px;
}

.coming-soon-intro > p:last-child{
  color:#555f6b;
  font-size:18px;
  line-height:1.65;
}

.upcoming-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:32px;
  max-width:1200px;
  margin:0 auto;
}

.upcoming-card{
  overflow:hidden;
  background:white;
  border-top:6px solid #E6321E;
  box-shadow:0 10px 32px rgba(25,31,40,.10);
}

.upcoming-image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:310px;
  background:
    linear-gradient(135deg, rgba(35,40,50,.07) 25%, transparent 25%) 0 0/42px 42px,
    linear-gradient(315deg, rgba(35,40,50,.07) 25%, transparent 25%) 0 0/42px 42px,
    linear-gradient(45deg, rgba(35,40,50,.07) 25%, transparent 25%) 21px 21px/42px 42px,
    linear-gradient(225deg, rgba(35,40,50,.07) 25%, transparent 25%) 21px 21px/42px 42px,
    #c9ced6;
  color:#5f6875;
  font-size:15px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}

.upcoming-card-content{
  padding:34px 34px 38px;
}

.upcoming-card-content h2{
  margin-bottom:9px;
  font-size:30px;
}

.upcoming-card-content > p:not(.property-status):not(.property-location){
  min-height:52px;
  margin-bottom:26px;
  color:#555f6b;
  line-height:1.6;
}

.coming-soon-cta{
  padding:80px 6%;
  background:white;
  text-align:center;
}

.coming-soon-cta-content{
  max-width:760px;
  margin:0 auto;
}

.coming-soon-cta h2{
  margin-bottom:17px;
  font-size:38px;
}

.coming-soon-cta-content > p:not(.section-eyebrow){
  margin-bottom:28px;
  color:#555f6b;
  font-size:18px;
  line-height:1.6;
}

@media(max-width:900px){
  .coming-soon-hero{
    padding:80px 7% 72px;
  }

  .coming-soon-section{
    padding:65px 5% 80px;
  }

  .upcoming-grid{
    grid-template-columns:1fr;
    max-width:650px;
  }
}

@media(max-width:520px){
  .coming-soon-hero-content > p:last-child{
    font-size:17px;
  }

  .coming-soon-intro h2,
  .coming-soon-cta h2{
    font-size:32px;
  }

  .upcoming-image-placeholder{
    min-height:235px;
  }

  .upcoming-card-content{
    padding:30px 24px 34px;
  }
}

/* RENTALS PAGE */

.rentals-hero{
  position:relative;
  padding:105px 6% 95px;
  overflow:hidden;
  background:linear-gradient(135deg, #202630 0%, #303844 100%);
  color:white;
  text-align:center;
}

.rentals-hero::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-245px;
  width:620px;
  height:360px;
  border:48px solid rgba(255,255,255,.035);
  border-radius:50% 50% 0 0;
  transform:translateX(-50%);
}

.rentals-hero-content{
  position:relative;
  z-index:1;
  max-width:850px;
  margin:0 auto;
}

.rentals-hero h1{
  margin-bottom:22px;
  font-size:clamp(42px, 6vw, 68px);
  line-height:1;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.rentals-hero-content > p:last-child{
  max-width:780px;
  margin:0 auto;
  color:#e4e7eb;
  font-size:20px;
  line-height:1.6;
}

.rentals-section{
  padding:90px 6% 105px;
  background:#f4f5f6;
}

.rentals-intro{
  max-width:780px;
  margin:0 auto 48px;
  text-align:center;
}

.rentals-intro h2{
  margin-bottom:18px;
  font-size:42px;
}

.rentals-intro > p:last-child{
  color:#555f6b;
  font-size:18px;
  line-height:1.65;
}

.rental-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:32px;
  max-width:1200px;
  margin:0 auto;
}

.rental-card{
  overflow:hidden;
  background:white;
  border-top:6px solid #E6321E;
  box-shadow:0 10px 32px rgba(25,31,40,.10);
}

.rental-image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
  background:
    linear-gradient(135deg, rgba(35,40,50,.07) 25%, transparent 25%) 0 0/42px 42px,
    linear-gradient(315deg, rgba(35,40,50,.07) 25%, transparent 25%) 0 0/42px 42px,
    linear-gradient(45deg, rgba(35,40,50,.07) 25%, transparent 25%) 21px 21px/42px 42px,
    linear-gradient(225deg, rgba(35,40,50,.07) 25%, transparent 25%) 21px 21px/42px 42px,
    #c9ced6;
  color:#5f6875;
  font-size:15px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}

.rental-card-content{
  padding:34px 34px 40px;
}

.rental-card-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:9px;
}

.rental-card-heading h2{
  font-size:30px;
}

.rental-rate{
  flex-shrink:0;
  padding:7px 10px;
  background:#f0f1f3;
  color:#555f6b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}

.rental-description{
  min-height:52px;
  margin-bottom:26px;
  color:#555f6b;
  line-height:1.6;
}

.rental-help-section{
  padding:75px 6%;
  background:white;
}

.rental-help-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
  max-width:1100px;
  margin:0 auto;
}

.rental-help-content h2{
  font-size:40px;
  line-height:1.15;
}

.rental-help-content > div:last-child p{
  margin-bottom:25px;
  color:#555f6b;
  font-size:18px;
  line-height:1.6;
}

@media(max-width:900px){
  .rentals-hero{
    padding:80px 7% 72px;
  }

  .rentals-section{
    padding:65px 5% 80px;
  }

  .rental-grid{
    grid-template-columns:1fr;
    max-width:650px;
  }

  .rental-help-content{
    grid-template-columns:1fr;
    gap:24px;
    max-width:700px;
    text-align:center;
  }
}

@media(max-width:520px){
  .rentals-hero-content > p:last-child{
    font-size:17px;
  }

  .rentals-intro h2,
  .rental-help-content h2{
    font-size:32px;
  }

  .rental-image-placeholder{
    min-height:235px;
  }

  .rental-card-content{
    padding:30px 24px 34px;
  }

  .rental-card-heading{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* CUSTOM HOMES PAGE */

.custom-page-hero{
  position:relative;
  min-height:610px;
  display:flex;
  align-items:center;
  padding:100px 6%;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(27,33,42,.96) 0%, rgba(27,33,42,.84) 48%, rgba(27,33,42,.32) 100%),
    url("../images/osuna-exterior.webp") center/cover no-repeat;
  color:white;
}

.custom-page-hero-content{
  position:relative;
  z-index:1;
  max-width:760px;
}

.custom-page-hero h1{
  margin-bottom:24px;
  font-size:clamp(48px, 7vw, 76px);
  line-height:1;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.custom-page-hero-content > p:not(.section-eyebrow){
  max-width:680px;
  margin-bottom:32px;
  color:#eef0f3;
  font-size:21px;
  line-height:1.6;
}

.custom-intro-section{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:560px;
  background:white;
}

.custom-intro-image{
  min-height:520px;
  overflow:hidden;
}

.custom-intro-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.custom-intro-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:70px 10%;
}

.custom-intro-content h2{
  margin-bottom:24px;
  font-size:42px;
  line-height:1.15;
}

.custom-intro-content > p:not(.eyebrow){
  color:#555f6b;
  font-size:17px;
  line-height:1.7;
}

.custom-intro-content > p + p{
  margin-top:17px;
}

.custom-options-section{
  padding:90px 6% 100px;
  background:#f4f5f6;
}

.custom-options-heading,
.custom-process-heading,
.custom-gallery-heading{
  max-width:760px;
  margin:0 auto 45px;
  text-align:center;
}

.custom-options-heading h2,
.custom-process-heading h2,
.custom-gallery-heading h2{
  font-size:42px;
  line-height:1.15;
}

.custom-options-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:30px;
  max-width:1050px;
  margin:0 auto;
}

.custom-option-card{
  position:relative;
  padding:48px 42px;
  overflow:hidden;
  background:white;
  border-top:6px solid #E6321E;
  box-shadow:0 9px 28px rgba(25,31,40,.09);
}

.custom-option-number{
  position:absolute;
  right:20px;
  top:2px;
  color:rgba(35,40,50,.05);
  font-size:100px;
  font-weight:900;
  line-height:1;
}

.custom-option-card h3{
  position:relative;
  margin-bottom:16px;
  font-size:30px;
}

.custom-option-card p{
  position:relative;
  color:#555f6b;
  font-size:17px;
  line-height:1.65;
}

.custom-process-section{
  padding:90px 6% 105px;
  background:#232832;
  color:white;
}

.custom-process-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  max-width:1250px;
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.18);
}

.process-step{
  position:relative;
  padding:37px 28px 10px;
}

.process-step + .process-step{
  border-left:1px solid rgba(255,255,255,.14);
}

.process-step > span{
  display:block;
  margin-bottom:22px;
  color:#E6321E;
  font-size:14px;
  font-weight:900;
  letter-spacing:2px;
}

.process-step h3{
  margin-bottom:13px;
  font-size:22px;
}

.process-step p{
  color:#cfd3da;
  line-height:1.6;
}

.custom-gallery-section{
  padding:90px 6% 105px;
  background:white;
}

.custom-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  max-width:1200px;
  margin:0 auto;
}

.custom-gallery-grid img{
  width:100%;
  height:430px;
  display:block;
  object-fit:cover;
  border-top:6px solid #E6321E;
}

.custom-contact-cta{
  padding:90px 6%;
  background:#f4f5f6;
  text-align:center;
}

.custom-contact-cta-content{
  max-width:800px;
  margin:0 auto;
}

.custom-contact-cta h2{
  margin-bottom:18px;
  font-size:42px;
}

.custom-contact-cta-content > p:not(.section-eyebrow){
  margin-bottom:30px;
  color:#555f6b;
  font-size:18px;
  line-height:1.65;
}

@media(max-width:900px){
  .custom-page-hero{
    min-height:540px;
    background:
      linear-gradient(rgba(27,33,42,.86), rgba(27,33,42,.86)),
      url("../images/osuna-exterior.webp") center/cover no-repeat;
    text-align:center;
  }

  .custom-page-hero-content{
    margin:0 auto;
  }

  .custom-intro-section{
    grid-template-columns:1fr;
  }

  .custom-intro-image{
    min-height:380px;
  }

  .custom-intro-content{
    padding:60px 7%;
  }

  .custom-process-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .process-step:nth-child(3){
    border-left:0;
  }

  .process-step:nth-child(n+3){
    border-top:1px solid rgba(255,255,255,.14);
  }
}

@media(max-width:650px){
  .custom-options-grid,
  .custom-process-grid,
  .custom-gallery-grid{
    grid-template-columns:1fr;
  }

  .process-step + .process-step{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }

  .custom-gallery-grid img{
    height:300px;
  }
}

@media(max-width:520px){
  .custom-page-hero{
    min-height:500px;
    padding:75px 7%;
  }

  .custom-page-hero-content > p:not(.section-eyebrow){
    font-size:18px;
  }

  .custom-intro-image{
    min-height:280px;
  }

  .custom-intro-content h2,
  .custom-options-heading h2,
  .custom-process-heading h2,
  .custom-gallery-heading h2,
  .custom-contact-cta h2{
    font-size:32px;
  }

  .custom-option-card{
    padding:38px 26px;
  }
}

/* RENT-TO-OWN PAGE */

.rto-hero{
  position:relative;
  min-height:590px;
  display:flex;
  align-items:center;
  padding:95px 6%;
  background:
    linear-gradient(90deg,rgba(28,34,43,.97) 0%,rgba(28,34,43,.86) 52%,rgba(28,34,43,.28) 100%),
    url("../images/listings/8526-102nd-ct-front-edited.jpg") center/cover no-repeat;
  color:white;
}

.rto-hero-content{
  max-width:760px;
}

.rto-hero h1{
  margin-bottom:24px;
  font-size:clamp(50px,7vw,78px);
  line-height:1;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.rto-hero-content > p:not(.section-eyebrow){
  max-width:670px;
  margin-bottom:32px;
  color:#edf0f3;
  font-size:22px;
  line-height:1.55;
}

.rto-explainer-section{
  padding:90px 6% 100px;
  background:white;
}

.rto-explainer-copy{
  max-width:820px;
  margin:0 auto 46px;
  text-align:center;
}

.rto-explainer-copy h2{
  margin-bottom:22px;
  font-size:42px;
  line-height:1.15;
}

.rto-explainer-copy > p:not(.eyebrow){
  color:#555f6b;
  font-size:18px;
  line-height:1.7;
}

.rto-explainer-copy .rto-how-it-works{
  margin-top:20px;
  color:#232832;
  font-size:16px;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.rto-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:1200px;
  margin:0 auto;
  border-top:5px solid #E6321E;
  box-shadow:0 10px 30px rgba(25,31,40,.09);
}

.rto-steps article{
  padding:38px 28px;
  background:#232832;
  color:white;
}

.rto-steps article + article{
  border-left:1px solid rgba(255,255,255,.14);
}

.rto-steps span{
  display:block;
  margin-bottom:28px;
  color:#E6321E;
  font-size:13px;
  font-weight:900;
  letter-spacing:2px;
}

.rto-steps h3{
  margin-bottom:12px;
  font-size:23px;
}

.rto-steps p{
  color:#cfd3da;
  line-height:1.6;
}

.rto-process-note{
  max-width:960px;
  margin:28px auto 0;
  color:#68717e;
  font-size:15px;
  line-height:1.6;
  text-align:center;
}

.rto-model-gallery-section{
  padding:90px 6% 105px;
  background:#f4f5f6;
}

.rto-model-gallery-heading{
  max-width:800px;
  margin:0 auto 48px;
  text-align:center;
}

.rto-model-gallery-heading h2{
  margin-bottom:17px;
  font-size:42px;
}

.rto-model-gallery-heading > p:last-child{
  color:#596371;
  font-size:18px;
  line-height:1.6;
}

.rto-model-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  max-width:1200px;
  margin:0 auto;
}

.rto-model-gallery figure{
  overflow:hidden;
  margin:0;
  border-top:5px solid #E6321E;
  background:white;
  box-shadow:0 10px 28px rgba(25,31,40,.1);
}

.rto-model-gallery-featured{
  grid-column:1 / -1;
}

.rto-model-gallery img{
  display:block;
  width:100%;
  height:320px;
  object-fit:cover;
}

.rto-model-gallery-featured img{
  height:500px;
}

.rto-model-gallery figcaption{
  padding:16px 18px 18px;
  color:#232832;
  font-size:15px;
  font-weight:800;
  letter-spacing:.2px;
}

.rto-model-gallery-note{
  max-width:900px;
  margin:28px auto 0;
  color:#68717e;
  font-size:14px;
  line-height:1.6;
  text-align:center;
}

.rto-cta-section{
  padding:90px 6%;
  background:#232832;
  color:white;
  text-align:center;
}

.rto-cta-section > div{
  max-width:800px;
  margin:0 auto;
}

.rto-cta-section h2{
  margin-bottom:18px;
  font-size:42px;
}

.rto-cta-section p:not(.section-eyebrow){
  margin-bottom:30px;
  color:#d8dce2;
  font-size:18px;
  line-height:1.65;
}

@media(max-width:900px){
  .home-paths-grid{
    grid-template-columns:1fr;
  }

  .home-path-card{
    min-height:0;
  }

  .rto-hero{
    min-height:520px;
    justify-content:center;
    background:
      linear-gradient(rgba(28,34,43,.86),rgba(28,34,43,.86)),
      url("../images/listings/8526-102nd-ct-front-edited.jpg") center/cover no-repeat;
    text-align:center;
  }

  .rto-explainer-section{
    padding:70px 6% 80px;
  }

  .rto-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rto-steps article:nth-child(3){
    border-left:0;
  }

  .rto-steps article:nth-child(n+3){
    border-top:1px solid rgba(255,255,255,.14);
  }

}

@media(max-width:700px){
  .rto-steps{
    grid-template-columns:1fr;
  }

  .rto-steps article + article{
    border-top:1px solid rgba(255,255,255,.14);
    border-left:0;
  }

  .rto-model-gallery{
    grid-template-columns:1fr;
  }

  .rto-model-gallery-featured{
    grid-column:auto;
  }

  .rto-model-gallery img,
  .rto-model-gallery-featured img{
    height:270px;
  }
}

@media(max-width:520px){
  .rent-to-own-intro-section,
  .home-paths-section{
    padding-left:6%;
    padding-right:6%;
  }

  .rent-to-own-intro-section h2,
  .home-paths-heading h2,
  .rto-explainer-copy h2,
  .rto-model-gallery-heading h2,
  .rto-cta-section h2{
    font-size:32px;
  }

  .rto-hero{
    min-height:480px;
    padding:72px 6%;
  }

  .rto-hero-content > p:not(.section-eyebrow){
    font-size:18px;
  }

  .rto-steps article,
  .home-path-card{
    padding:32px 24px;
  }
}
