:root{--green:#173f35;--green2:#285c4d;--cream:#f5f1e8;--ink:#18201d;--white:#fff;--line:#ddd8ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:-2px}h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,55px);line-height:1.05;margin-bottom:22px}h3{font-family:Georgia,serif;font-size:25px}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:white;border-bottom:1px solid #ffffff45}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:4px}.mark{border:1px solid currentColor;width:40px;height:40px;display:grid;place-items:center;font-size:25px}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:white;text-decoration:none;font-size:14px}.menu{display:none;background:none;border:0;color:#fff;font-size:28px}.hero{height:min(830px,92vh);min-height:650px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.hero-bg,.hero-shade{position:absolute;inset:0}.hero-bg{background-image:url('zyenhomes-hero-optimized.webp');background-size:cover;background-position:center}.season{display:none}.winter{}.summer{}.hero-shade{background:linear-gradient(180deg,#0008,#0001 35%,#0008)}.hero-copy{z-index:2;max-width:1100px;padding:80px 25px 0}.hero-copy>p:not(.eyebrow){font-size:20px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2.4px;margin-bottom:18px}.green{color:var(--green2)}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:17px 24px;background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:1.3px;font-weight:bold;font-size:12px;text-decoration:none;border:1px solid var(--green)}.btn.outline{background:#ffffff14;border-color:#fff}.btn.small{padding:13px 18px}.btn.dark{margin-top:25px}.search{max-width:1180px;margin:-38px auto 0;position:relative;z-index:5;background:#fff;box-shadow:0 14px 40px #0002;padding:20px;display:grid;grid-template-columns:1.6fr repeat(3,1fr) 1fr;gap:10px}.search label{display:block;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;margin:0 0 7px}.search input,.search select{width:100%;border:1px solid #ddd;padding:13px;background:#fff}.search button{border:0;background:var(--green);color:#fff;text-transform:uppercase;font-weight:bold;letter-spacing:1px}.integration{display:none}.section{padding:110px 6vw}.destinations{text-align:center}.lead{max-width:760px;margin:0 auto 48px;font-size:18px;line-height:1.7;color:#5d625f}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left;max-width:1300px;margin:auto}.cards article{background:var(--cream);padding-bottom:24px}.cards h3,.cards p{margin-left:24px;margin-right:24px}.cards h3{margin-top:22px}.cards p{color:#626965;line-height:1.5}.photo{height:300px;background-size:cover;background-position:center}.mountain{background-image:url('https://images.unsplash.com/photo-1486911278844-a81c5267e227?auto=format&fit=crop&w=900&q=80')}.muskoka{background-image:url('https://images.unsplash.com/photo-1470252649378-9c29740c9fa8?auto=format&fit=crop&w=900&q=80')}.harbour{background-image:url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=900&q=80')}.stay{background:var(--cream)}.split{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split p{font-size:17px;line-height:1.7}.checks{display:grid;gap:13px;margin:28px 0}.checks span{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:13px}.text-link{color:var(--green);text-transform:uppercase;font-weight:bold;letter-spacing:1px;font-size:12px}.collage{height:580px;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:8px}.collage div{background-size:cover;background-position:center}.c1{grid-row:1/3;background-image:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=900&q=80')}.c2{background-image:url('https://images.unsplash.com/photo-1616594039964-ae9021a400a0?auto=format&fit=crop&w=700&q=80')}.c3{background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=700&q=80')}.ski{min-height:600px;padding:100px 7vw;display:flex;align-items:center;color:white;background:linear-gradient(90deg,#0b1513dd,#0b151355),url('https://images.unsplash.com/photo-1486911278844-a81c5267e227?auto=format&fit=crop&w=1800&q=85') center/cover}.ski>div{max-width:650px}.ski h2{font-size:clamp(42px,5vw,68px)}.ski p{font-size:18px;line-height:1.7}.ski .price{font-size:18px;margin:28px 0}.ski .price strong{font-size:34px}.management-photo{height:610px;background:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1000&q=85') center/cover}.about{text-align:center;background:#fafafa}.cta{background:var(--green);color:#fff;text-align:center;padding:90px 25px}.cta h2{max-width:850px;margin:0 auto 18px}.cta p{font-size:17px}.light{background:#fff;color:var(--green);border-color:#fff}.outline-light{background:transparent;border-color:#fff}footer{background:#0d1c18;color:#fff;padding:55px 6vw;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{margin:0;font-size:12px;color:#bdc7c3}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:#102d26;padding:25px;flex-direction:column}.site-header nav.open{display:flex}.menu{display:block}.hero{min-height:700px}.hero-bg{display:block}.season{position:absolute;width:100%;height:50%}.winter{top:0}.summer{bottom:0}.search{margin:0;grid-template-columns:1fr 1fr}.search button{min-height:48px}.cards,.split{grid-template-columns:1fr}.section{padding:75px 25px}.collage{height:480px}.management-photo{height:420px}.ski{min-height:560px}footer{flex-direction:column;text-align:center}}@media(max-width:560px){h1{font-size:44px}.search{grid-template-columns:1fr}.cards{gap:16px}.photo{height:240px}.collage{height:420px;grid-template-columns:1fr 1fr}.hero-copy>p:not(.eyebrow){font-size:17px}}

/* Hero refinement v2 */
@media (min-width:901px){
  .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 38%,rgba(0,0,0,.48))}
  .hero-copy{padding-top:38px;transform:translateY(-18px)}
  .hero-copy h1{font-size:clamp(46px,5vw,68px);line-height:1.01;max-width:980px;margin-left:auto;margin-right:auto}
  .site-header{height:92px}
  .site-header .brand{transform:scale(1.06);transform-origin:left center}
}

/* Featured vacation rentals */
.featured-rentals{text-align:center;background:#fff}.property-grid{max-width:1320px;margin:48px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left}.property-card{background:#fff;border:1px solid #e8e4dc;box-shadow:0 12px 32px rgba(18,39,33,.08);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.property-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(18,39,33,.14)}.property-card img{width:100%;height:285px;object-fit:cover;display:block}.property-info{padding:24px 24px 26px}.property-location{font-size:10px!important;font-weight:700;letter-spacing:1.8px;color:var(--green2);margin-bottom:10px}.property-info h3{margin-bottom:12px}.property-info>p:not(.property-location):not(.property-feature){font-size:14px;color:#626965;line-height:1.5;margin-bottom:12px}.property-feature{font-size:13px;font-weight:700;color:var(--green);margin:0}@media(max-width:900px){.property-grid{grid-template-columns:repeat(2,1fr)}.property-card img{height:260px}}@media(max-width:560px){.property-grid{grid-template-columns:1fr}.property-card img{height:250px}}
/* Make rental photos compact */
.featured-rentals .property-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* Why Stay With Zyen Homes */
.why-stay {
  background: #f5f1e8;
}

.why-layout {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 70px;
  align-items: center;
}

.why-gallery {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-template-rows: 210px 210px;
  gap: 8px;
  height: 428px;
}

.why-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.why-gallery .why-main {
  grid-row: 1 / 3;
}

.why-content h2 {
  margin-bottom: 22px;
}

.why-content > p {
  font-size: 16px;
  line-height: 1.7;
}

.why-benefits {
  display: grid;
  gap: 0;
  margin: 26px 0;
}

.why-benefits span {
  padding: 11px 0;
  border-bottom: 1px solid #d8d2c6;
  font-size: 14px;
}

.why-tagline {
  margin-top: 25px;
  color: #173f35;
}

@media (max-width: 900px) {
  .why-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .why-gallery {
    height: 400px;
    grid-template-rows: 196px 196px;
  }
}

@media (max-width: 560px) {
  .why-gallery {
    height: 500px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 245px 120px 120px;
  }

  .why-gallery .why-main {
    grid-column: 1 / 3;
    grid-row: 1;
  }
}
/* Make Why Stay photo collage slightly larger */
@media (min-width: 901px) {
  .why-layout {
    grid-template-columns: 1.3fr .8fr;
    gap: 60px;
  }

  .why-gallery {
    height: 465px;
    grid-template-rows: 228px 228px;
  }
}
/* Stronger photo emphasis */
@media (min-width: 901px) {
  .why-layout {
    max-width: 1450px;
    grid-template-columns: 1.55fr .85fr;
    gap: 55px;
  }

  .why-gallery {
    height: 520px;
    grid-template-rows: 256px 256px;
  }

  .why-content h2 {
    font-size: 48px;
  }
}

/* Blue Mountain Ski House */
.ski-house {
  background: #173f35;
  color: #fff;
  padding: 95px 5%;
}

.ski-house-layout {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.85fr 1.35fr;
  gap: 70px;
  align-items: center;
}

.ski-house-content {
  max-width: 500px;
}

.ski-house .eyebrow {
  color: #d8c9a7;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.ski-house h2 {
  color: #fff;
  font-size: clamp(44px, 5vw, 68px);
  line-height: 1;
  margin: 0 0 28px;
}

.ski-intro {
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,.86);
  margin-bottom: 28px;
}

.ski-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 22px;
  margin-bottom: 30px;
}

.ski-features span {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  font-size: 13px;
  line-height: 1.4;
}

.ski-season {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.7px;
  color: #d8c9a7;
  margin: 28px 0 12px;
}

.ski-pricing {
  display: flex;
  gap: 28px;
  margin-bottom: 30px;
}

.ski-pricing div {
  border-right: 1px solid rgba(255,255,255,.25);
  padding-right: 28px;
}

.ski-pricing div:last-child {
  border-right: 0;
}

.ski-pricing strong {
  font-family: Georgia, serif;
  font-size: 30px;
  color: #fff;
}

.ski-pricing span {
  font-size: 12px;
  color: rgba(255,255,255,.75);
}

.ski-btn {
  background: #fff;
  color: #173f35;
  border-color: #fff;
}

.ski-gallery {
  height: 600px;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
}

.ski-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ski-gallery .ski-main {
  grid-row: 1 / 3;
}

@media (max-width: 1000px) {
  .ski-house-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .ski-house-content {
    max-width: 700px;
  }

  .ski-gallery {
    height: 520px;
  }
}

@media (max-width: 600px) {
  .ski-house {
    padding: 70px 22px;
  }

  .ski-features {
    grid-template-columns: 1fr;
  }

  .ski-pricing {
    flex-direction: column;
    gap: 10px;
  }

  .ski-pricing div {
    border-right: 0;
    padding-right: 0;
  }

  .ski-gallery {
    height: 520px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 260px 125px 125px;
  }

  .ski-gallery .ski-main {
    grid-column: 1 / 3;
    grid-row: 1;
  }
}

/* Ski House layout correction */
section.ski.ski-house {
  display: block !important;
  min-height: auto !important;
  height: auto !important;
  padding: 90px 5% !important;
  background: #173f35 !important;
}

section.ski.ski-house .ski-house-layout {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: 42% 58% !important;
  gap: 55px;
  align-items: center;
}

section.ski.ski-house .ski-house-content {
  width: 100%;
  max-width: none;
}

section.ski.ski-house .ski-gallery {
  width: 100%;
  height: 570px !important;
  display: grid !important;
  grid-template-columns: 1.25fr 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 8px;
  overflow: hidden;
}

section.ski.ski-house .ski-gallery img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  display: block !important;
}

section.ski.ski-house .ski-gallery .ski-main {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

section.ski.ski-house .ski-house-content h2 {
  font-size: clamp(48px,4.5vw,68px) !important;
  line-height: 1 !important;
  margin: 12px 0 28px !important;
}

section.ski.ski-house .ski-intro {
  max-width: 520px;
}

@media (max-width: 1000px) {
  section.ski.ski-house .ski-house-layout {
    grid-template-columns: 1fr !important;
  }

  section.ski.ski-house .ski-gallery {
    height: 520px !important;
  }
}
/* Ski House final desktop proportions */
@media (min-width: 1001px) {

  section.ski.ski-house {
    padding: 85px 4% !important;
  }

  section.ski.ski-house .ski-house-layout {
    max-width: 1500px !important;
    grid-template-columns: 38% 62% !important;
    gap: 45px !important;
  }

  section.ski.ski-house .ski-gallery {
    width: 100% !important;
    height: 540px !important;
    grid-template-columns: 1.35fr 1fr 1fr !important;
  }

  section.ski.ski-house .ski-house-content h2 {
    font-size: clamp(52px, 4.2vw, 70px) !important;
  }
}

/* PROPERTY MANAGEMENT SECTION */

section.management {
  background: #f5f1e8;
  padding: 110px 6%;
}

.management-layout {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 56% 44%;
  gap: 70px;
  align-items: center;
}

/* Photo collage */

.management-gallery {
  height: 610px;
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
}

.management-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.management-gallery .management-main {
  grid-row: 1 / 3;
}

/* Content */

.management-content {
  max-width: 590px;
}

.management-content h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 4vw, 66px);
  line-height: 1.02;
  margin: 15px 0 25px;
  color: #18201d;
}

.management-intro {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 28px;
  color: #343b38;
}

.management-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 30px;
  margin-bottom: 28px;
}

.management-benefits span {
  padding: 11px 0;
  border-bottom: 1px solid #d8d2c6;
  font-size: 14px;
  line-height: 1.4;
}

.management-tagline {
  margin: 28px 0 30px;
  color: #173f35;
}

/* Tablet */

@media (max-width: 1000px) {
  .management-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .management-gallery {
    height: 520px;
  }

  .management-content {
    max-width: 750px;
  }
}

/* Mobile */

@media (max-width: 600px) {
  section.management {
    padding: 75px 24px;
  }

  .management-gallery {
    height: 470px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 280px 180px;
  }

  .management-gallery .management-main {
    grid-column: 1 / 3;
    grid-row: 1;
  }

  .management-content h2 {
    font-size: 44px;
  }

  .management-benefits {
    grid-template-columns: 1fr;
  }
}

/* PROPERTY MANAGEMENT FINAL LAYOUT FIX - DESKTOP */

@media (min-width: 1001px) {

  section.management {
    display: block !important;
    background: #f5f1e8 !important;
    padding: 110px 6% !important;
  }

  section.management .management-layout {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 56% 44% !important;
    gap: 70px !important;
    align-items: center !important;
  }

  section.management .management-gallery {
    width: 100% !important;
    height: 610px !important;
    display: grid !important;
    grid-template-columns: 1.35fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  section.management .management-gallery img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block !important;
  }

  section.management .management-gallery .management-main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  section.management .management-content {
    width: 100% !important;
    max-width: 590px !important;
    padding: 0 !important;
  }

  section.management .management-benefits {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 30px !important;
  }
}

/* ABOUT ZYEN HOMES - TRUST & EXPERIENCE */

.about-new {
  background: #ffffff;
  padding: 90px 60px;
}

.about-inner {
  max-width: 1380px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 110px;
  align-items: center;
}

.about-story h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 4.2vw, 68px);
  line-height: 0.98;
  margin: 18px 0 28px;
  color: #17201d;
}

.about-lead {
  max-width: 650px;
  font-size: 17px;
  line-height: 1.8;
  color: #3e4743;
  margin-bottom: 36px;
}

.about-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #d8d4ca;
  border-left: 1px solid #d8d4ca;
}

.about-stat {
  min-height: 190px;
  padding: 34px 32px;
  border-right: 1px solid #d8d4ca;
  border-bottom: 1px solid #d8d4ca;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-stat strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  line-height: 1;
  color: #164b3d;
  margin-bottom: 15px;
}

.about-stat span {
  font-size: 14px;
  line-height: 1.55;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #4c5651;
}

@media (max-width: 900px) {
  .about-new {
    padding: 80px 28px;
  }

  .about-inner {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .about-story h2 {
    font-size: 50px;
  }
}

@media (max-width: 560px) {
  .about-new {
    padding: 65px 22px;
  }

  .about-stats {
    grid-template-columns: 1fr;
  }

  .about-stat {
    min-height: 150px;
  }

  .about-story h2 {
    font-size: 42px;
  }
}

/* INVESTMENT OWNER CTA */

.investment-cta {
  background: #173f35;
  color: #ffffff;
  padding: 105px 60px;
  text-align: center;
}

.investment-cta-inner {
  max-width: 1050px;
  margin: 0 auto;
}

.investment-cta .eyebrow {
  color: #d7c7a3;
  letter-spacing: 2px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 22px;
}

.investment-cta h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 3.2vw, 54px);
  line-height: 1.08;
  color: #ffffff;
  max-width: 900px;
  margin: 0 auto 34px;
}

.investment-main {
  max-width: 850px;
  margin: 0 auto 18px;
  font-size: 18px;
  line-height: 1.75;
}

.investment-cta-inner > p:not(.eyebrow) {
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.75;
}

.investment-secondary {
  margin-top: 24px !important;
  margin-bottom: 38px !important;
  font-weight: 600;
  color: #f5f1e8;
}

.investment-cta .btn {
  display: inline-block;
  background: #ffffff;
  color: #173f35;
  padding: 17px 30px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-decoration: none;
}

.investment-cta .btn:hover {
  background: #f5f1e8;
}

@media (max-width: 700px) {
  .investment-cta {
    padding: 75px 24px;
  }

  .investment-cta h2 {
    font-size: 42px;
  }

  .investment-main {
    font-size: 17px;
  }
}

/* INVESTMENT STRATEGY - 3 PILLARS */

.investment-pillars {
  max-width: 1150px;
  margin: 48px auto 46px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,0.25);
  border-bottom: 1px solid rgba(255,255,255,0.25);
}

.investment-pillar {
  padding: 42px 30px 38px;
  text-align: center;
}

.investment-pillar + .investment-pillar {
  border-left: 1px solid rgba(255,255,255,0.25);
}

.pillar-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 22px;
  border: 1px solid rgba(255,255,255,0.55);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  color: #d7c7a3;
}

.investment-pillar h3 {
  font-family: Georgia, "Times New Roman", serif;
  color: #ffffff;
  font-size: 25px;
  line-height: 1.2;
  margin: 0 0 12px;
}

.investment-pillar p {
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.78);
}

@media (max-width: 750px) {
  .investment-pillars {
    grid-template-columns: 1fr;
  }

  .investment-pillar + .investment-pillar {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.25);
  }
}

/* PREMIUM SITE FOOTER */

.site-footer {
  background: #0c211b;
  color: #ffffff;
  padding: 70px 60px 0;
}

.footer-main {
  max-width: 1380px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr 1fr;
  gap: 70px;
  padding-bottom: 60px;
}

.footer-brand .brand {
  margin-bottom: 24px;
}

.footer-brand > p {
  color: rgba(255,255,255,0.7);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.5;
  margin: 0;
}

.footer-column h4 {
  color: #d7c7a3;
  font-size: 12px;
  letter-spacing: 1.8px;
  margin: 0 0 22px;
}

.footer-column a {
  display: block;
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 13px;
  line-height: 1.5;
}

.footer-column a:hover {
  color: #ffffff;
}

.footer-column p {
  color: rgba(255,255,255,0.72);
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 10px;
}

.footer-bottom {
  max-width: 1380px;
  margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding: 24px 0;
}

.footer-bottom p {
  margin: 0;
  color: rgba(255,255,255,0.55);
  font-size: 12px;
}

@media (max-width: 900px) {
  .site-footer {
    padding: 60px 28px 0;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 45px;
  }
}

@media (max-width: 600px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 38px;
  }
}

/* MOBILE FEATURED RENTALS - 2 COLUMN LAYOUT */

@media (max-width: 600px) {

  .featured-rentals {
    padding: 70px 18px !important;
  }

  .featured-rentals .lead {
    font-size: 17px !important;
    line-height: 1.6 !important;
    margin-bottom: 35px !important;
  }

  .property-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .property-card {
    min-width: 0 !important;
    margin: 0 !important;
  }

  .property-card img {
    width: 100% !important;
    height: 155px !important;
    object-fit: cover !important;
  }

  .property-info {
    padding: 18px 14px 20px !important;
  }

  .property-location {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 8px !important;
  }

  .property-info h3 {
    font-size: 22px !important;
    line-height: 1.05 !important;
    margin: 0 0 10px !important;
  }

  .property-info p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .property-feature {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-top: 10px !important;
  }
}

/* FORCE 2-COLUMN FEATURED RENTALS ON MOBILE */

@media screen and (max-width: 600px) {

  section.featured-rentals .property-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  section.featured-rentals .property-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  section.featured-rentals .property-card img {
    width: 100% !important;
    height: 145px !important;
    object-fit: cover !important;
  }

  section.featured-rentals .property-info {
    padding: 15px 12px 18px !important;
  }

  section.featured-rentals .property-location {
    font-size: 9px !important;
    line-height: 1.3 !important;
    letter-spacing: 1px !important;
  }

  section.featured-rentals .property-info h3 {
    font-size: 20px !important;
    line-height: 1.05 !important;
    margin: 7px 0 9px !important;
  }

  section.featured-rentals .property-info p {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  section.featured-rentals .property-feature {
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin-top: 8px !important;
  }
}

/* FORCE 2-COLUMN FEATURED RENTALS ON MOBILE */

@media screen and (max-width: 600px) {

  section.featured-rentals .property-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  section.featured-rentals .property-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  section.featured-rentals .property-card img {
    width: 100% !important;
    height: 145px !important;
    object-fit: cover !important;
  }

  section.featured-rentals .property-info {
    padding: 15px 11px 17px !important;
  }

  section.featured-rentals .property-location {
    font-size: 9px !important;
    line-height: 1.3 !important;
    letter-spacing: 1px !important;
  }

  section.featured-rentals .property-info h3 {
    font-size: 19px !important;
    line-height: 1.08 !important;
    margin: 7px 0 9px !important;
  }

  section.featured-rentals .property-info p {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }

  section.featured-rentals .property-feature {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    margin-top: 8px !important;
  }
}

/* MOBILE DESTINATIONS - COMPACT 2 COLUMN LAYOUT */

@media (max-width: 600px) {

  .destinations {
    padding: 70px 18px !important;
  }

  .destinations .section-head {
    margin-bottom: 35px !important;
  }

  .destinations .section-head h2 {
    font-size: 42px !important;
    line-height: 1.05 !important;
  }

  .destinations .section-head .lead {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .destination-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .destination-card {
    min-width: 0 !important;
    margin: 0 !important;
  }

  .destination-card img {
    width: 100% !important;
    height: 170px !important;
    object-fit: cover !important;
  }

  .destination-card .destination-copy {
    padding: 20px 16px 24px !important;
  }

  .destination-card h3 {
    font-size: 24px !important;
    line-height: 1.05 !important;
    margin-bottom: 12px !important;
  }

  .destination-card p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}
/* MOBILE DESTINATIONS - 2 COLUMN LAYOUT */

@media (max-width: 600px) {

  .destination-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .destination-card {
    min-width: 0 !important;
    margin: 0 !important;
  }

  .destination-card img {
    width: 100% !important;
    height: 170px !important;
    object-fit: cover !important;
  }

  .destination-card .destination-content {
    padding: 20px 16px 24px !important;
    min-height: 150px !important;
  }

  .destination-card h3 {
    font-size: 24px !important;
    line-height: 1.08 !important;
    margin: 0 0 14px !important;
  }

  .destination-card p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
}
/* EXPLORE ONTARIO - MOBILE LAYOUT */

@media (max-width: 600px) {
  .destinations .cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .destinations .cards article {
    min-width: 0 !important;
  }

  .destinations .photo {
    height: 180px !important;
  }

  .destinations .cards h3 {
    font-size: 25px !important;
    line-height: 1.05 !important;
  }

  .destinations .cards p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
}
/* MOBILE - DESTINATION CARDS 2 COLUMNS */
@media (max-width: 600px) {

  .destination-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .destination-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  .destination-card img {
    width: 100% !important;
    height: 170px !important;
    object-fit: cover !important;
    display: block !important;
  }

  .destination-card-content,
  .destination-info {
    padding: 18px 14px !important;
  }

  .destination-card h3 {
    font-size: 25px !important;
    line-height: 1.05 !important;
    margin: 0 0 12px !important;
  }

  .destination-card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }
}
/* MOBILE DESTINATION CARDS - HORIZONTAL LAYOUT */
@media (max-width: 600px) {

  .destination-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .destination-card {
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    min-height: 180px !important;
    overflow: hidden !important;
  }

  .destination-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 180px !important;
    object-fit: cover !important;
  }

  .destination-card .destination-content {
    padding: 22px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .destination-card h3 {
    font-size: 27px !important;
    line-height: 1.05 !important;
    margin: 0 0 12px !important;
  }

  .destination-card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }
}

/* MOBILE DESTINATION CARDS - HORIZONTAL LAYOUT */
@media (max-width: 600px) {

  .destination-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .destination-card {
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    min-height: 175px !important;
    overflow: hidden !important;
  }

  .destination-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 175px !important;
    object-fit: cover !important;
  }

  .destination-card-content {
    padding: 22px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .destination-card h3 {
    font-size: 27px !important;
    line-height: 1.02 !important;
    margin: 0 0 12px !important;
  }

  .destination-card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }
}


/* MOBILE DESTINATION CARDS - DIRECT GITHUB FIX */
@media (max-width: 600px) {
  section.destinations {
    padding: 65px 18px !important;
  }

  section.destinations .cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
  }

  section.destinations .cards article {
    display: grid !important;
    grid-template-columns: 42% 58% !important;
    padding: 0 !important;
    min-height: 165px !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }

  section.destinations .cards article .photo {
    width: 100% !important;
    height: 100% !important;
    min-height: 165px !important;
    grid-row: 1 / 3 !important;
    background-size: cover !important;
    background-position: center !important;
  }

  section.destinations .cards article h3 {
    align-self: end !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    padding: 22px 18px 7px !important;
  }

  section.destinations .cards article p {
    align-self: start !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 0 18px 22px !important;
  }
}


/* MOBILE EXPLORE ONTARIO - FINAL */
@media screen and (max-width: 600px) {
  section.section.destinations .cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  section.section.destinations .cards > article {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    grid-template-rows: auto auto !important;
    min-height: 160px !important;
    padding: 0 !important;
  }
  section.section.destinations .cards > article > .photo {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    height: 100% !important;
    min-height: 160px !important;
    margin: 0 !important;
  }
  section.section.destinations .cards > article > h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 20px 16px 6px !important;
    font-size: 22px !important;
  }
  section.section.destinations .cards > article > p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 16px 20px !important;
    font-size: 13px !important;
  }
}


/* EXPLORE ONTARIO - USE REAL WATERFRONT COTTAGE PHOTO */
.destinations .muskoka {
  background-image: url('20230722_123147.webp') !important;
  background-position: center !important;
  background-size: cover !important;
}


/* EXPLORE ONTARIO - ENHANCED WATERFRONT IMAGE */
.destinations .muskoka {
  background-image: url('Serene Lakeside Retreat with Red Chairs.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
}


/* EXPLORE ONTARIO - FINAL DESTINATION IMAGES */
.destinations .mountain {
  background-image: url('Year-Round Mountain Resort Escape.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
}
.destinations .muskoka {
  background-image: url('Serene Lakeside Retreat with Red Chairs.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
}
/* Other Ontario Cottages keeps the existing sunset image */


/* EXPLORE ONTARIO - OTHER ONTARIO COTTAGES IMAGE */
.destinations .harbour {
  background-image: url('Vibrant Woodland House Pool Retreat.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
}


/* MOBILE WHY STAY - TIGHTEN COLLAGE TO HEADING SPACING */
@media screen and (max-width: 600px) {
  section.why-stay {
    padding-top: 45px !important;
  }

  section.why-stay .why-grid,
  section.why-stay .why-inner {
    row-gap: 28px !important;
    gap: 28px !important;
  }
}


/* MOBILE SKI HOUSE - COMPACT PHOTO GALLERY */
@media screen and (max-width: 600px) {
  section.ski.ski-house .ski-gallery {
    width: 100% !important;
    height: 430px !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1.25fr 1fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 8px !important;
  }

  section.ski.ski-house .ski-gallery img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  section.ski.ski-house .ski-gallery .ski-main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }
}


/* MOBILE SKI HOUSE - FINAL COMPACT OVERRIDE */
@media screen and (max-width: 600px) {
  html body section.ski.ski-house .ski-house-inner .ski-gallery {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
    grid-template-columns: 1.25fr 1fr 1fr !important;
    grid-template-rows: 191px 191px !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  html body section.ski.ski-house .ski-house-inner .ski-gallery > img {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 390px !important;
    object-fit: cover !important;
  }

  html body section.ski.ski-house .ski-house-inner .ski-gallery > .ski-main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    height: 390px !important;
    min-height: 0 !important;
    max-height: 390px !important;
  }
}


/* MOBILE SKI HOUSE - SWIPEABLE PHOTO GALLERY */
@media screen and (max-width: 600px) {
  html body section.ski.ski-house .ski-house-inner .ski-gallery {
    display: flex !important;
    width: calc(100vw - 42px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-left: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 22% 12px 0 !important;
    margin: 0 !important;
  }

  html body section.ski.ski-house .ski-house-inner .ski-gallery::-webkit-scrollbar {
    display: none !important;
  }

  html body section.ski.ski-house .ski-house-inner .ski-gallery > img,
  html body section.ski.ski-house .ski-house-inner .ski-gallery > .ski-main {
    display: block !important;
    flex: 0 0 84% !important;
    width: 84% !important;
    height: 330px !important;
    min-height: 330px !important;
    max-height: 330px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    object-fit: cover !important;
    scroll-snap-align: start !important;
    border-radius: 3px !important;
  }

  html body section.ski.ski-house .ski-house-inner .ski-gallery::after {
    content: "" !important;
    flex: 0 0 1px !important;
  }
}


/* MOBILE SKI HOUSE - SWIPE GALLERY SELECTOR FIX */
@media screen and (max-width: 600px) {
  html body section.ski.ski-house .ski-house-layout .ski-gallery {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 18% 10px 0 !important;
    margin: 0 !important;
  }

  html body section.ski.ski-house .ski-house-layout .ski-gallery::-webkit-scrollbar {
    display: none !important;
  }

  html body section.ski.ski-house .ski-house-layout .ski-gallery > img,
  html body section.ski.ski-house .ski-house-layout .ski-gallery > img.ski-main {
    display: block !important;
    flex: 0 0 84% !important;
    width: 84% !important;
    height: 330px !important;
    min-height: 330px !important;
    max-height: 330px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    object-fit: cover !important;
    scroll-snap-align: start !important;
    border-radius: 3px !important;
  }
}


/* SKI HOUSE MOBILE GALLERY COUNTER */
.ski-gallery-counter { display: none; }
@media screen and (max-width: 600px) {
  .ski-gallery-counter {
    display: block;
    text-align: center;
    margin-top: 6px;
    font-size: 13px;
    letter-spacing: 1.5px;
    color: rgba(255,255,255,.78);
  }
}


/* PROPERTY MANAGEMENT - MOBILE POLISH ONLY */
@media screen and (max-width: 600px) {
  section.management {
    padding: 58px 22px 64px !important;
  }

  section.management .management-layout {
    gap: 34px !important;
  }

  section.management .management-gallery {
    height: 350px !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 215px 125px !important;
    gap: 10px !important;
  }

  section.management .management-gallery .management-main {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
  }

  section.management .management-gallery img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  section.management .management-content .eyebrow {
    margin-bottom: 12px !important;
  }

  section.management .management-content h2 {
    font-size: 38px !important;
    line-height: 1.03 !important;
    margin: 0 0 20px !important;
  }

  section.management .management-intro {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 26px !important;
  }

  section.management .management-benefits {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 28px !important;
  }

  section.management .management-benefits span {
    line-height: 1.45 !important;
  }

  section.management .management-tagline {
    margin: 0 0 26px !important;
  }
}


/* ABOUT ZYEN HOMES - MOBILE POLISH ONLY */
@media screen and (max-width: 560px) {
  section.about-new {
    padding: 58px 22px 64px !important;
  }

  section.about-new .about-inner {
    gap: 42px !important;
  }

  section.about-new .about-story h2 {
    font-size: 38px !important;
    line-height: 1.03 !important;
    margin: 14px 0 22px !important;
  }

  section.about-new .about-lead {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
  }

  section.about-new .about-stats {
    grid-template-columns: 1fr 1fr !important;
  }

  section.about-new .about-stat {
    min-height: 138px !important;
    padding: 24px 18px !important;
  }

  section.about-new .about-stat strong {
    font-size: 36px !important;
    margin-bottom: 11px !important;
  }

  section.about-new .about-stat span {
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: .7px !important;
  }
}


/* INVESTMENT CTA - MOBILE POLISH ONLY */
@media screen and (max-width: 600px) {
  section.investment-cta {
    padding: 62px 22px 68px !important;
  }

  section.investment-cta .investment-cta-inner {
    width: 100% !important;
  }

  section.investment-cta .eyebrow {
    margin-bottom: 14px !important;
  }

  section.investment-cta h2 {
    font-size: 38px !important;
    line-height: 1.04 !important;
    margin: 0 auto 34px !important;
  }

  section.investment-cta .investment-pillars {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 0 0 32px !important;
  }

  section.investment-cta .investment-pillar {
    display: grid !important;
    grid-template-columns: 46px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 15px !important;
    text-align: left !important;
    padding: 18px 0 !important;
    min-height: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
  }

  section.investment-cta .investment-pillar:first-child {
    border-top: 1px solid rgba(255,255,255,.22) !important;
  }

  section.investment-cta .pillar-icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    margin: 0 !important;
    font-size: 28px !important;
  }

  section.investment-cta .investment-pillar h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 0 5px !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  section.investment-cta .investment-pillar p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  section.investment-cta .investment-main,
  section.investment-cta .investment-secondary {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  section.investment-cta .investment-main {
    margin-bottom: 14px !important;
  }

  section.investment-cta .investment-secondary {
    margin-bottom: 28px !important;
  }

  section.investment-cta .btn {
    width: 100% !important;
    max-width: 360px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* FOOTER - MOBILE POLISH ONLY */
@media screen and (max-width: 600px) {
  footer.site-footer .footer-main {
    padding: 48px 22px 38px !important;
    gap: 0 !important;
  }

  footer.site-footer .footer-brand {
    margin-bottom: 34px !important;
  }

  footer.site-footer .footer-brand p {
    margin-top: 16px !important;
    line-height: 1.55 !important;
  }

  footer.site-footer .footer-column {
    padding: 22px 0 !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
  }

  footer.site-footer .footer-column h4 {
    margin: 0 0 14px !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
  }

  footer.site-footer .footer-column a,
  footer.site-footer .footer-column p {
    margin: 0 0 9px !important;
    line-height: 1.45 !important;
  }

  footer.site-footer .footer-column a:last-child,
  footer.site-footer .footer-column p:last-child {
    margin-bottom: 0 !important;
  }

  footer.site-footer .footer-bottom {
    padding: 20px 22px 24px !important;
  }

  footer.site-footer .footer-bottom p {
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
}


/* FINAL MOBILE HOMEPAGE POLISH */
@media screen and (max-width: 600px) {
  section.hero .hero-copy h1 {
    font-size: 50px !important;
    line-height: .98 !important;
  }

  section.hero .hero-copy .eyebrow {
    font-size: 13px !important;
    line-height: 1.35 !important;
    letter-spacing: 2px !important;
  }

  section.featured-rentals {
    padding-bottom: 54px !important;
  }

  section.destinations {
    padding-top: 54px !important;
  }
}

@media screen and (max-width: 560px) {
  section.about-new .about-stat {
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 22px 14px !important;
  }

  section.about-new .about-stat strong {
    font-size: 31px !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere !important;
  }

  section.about-new .about-stat span {
    font-size: 10px !important;
    line-height: 1.4 !important;
    letter-spacing: .45px !important;
    overflow-wrap: anywhere !important;
  }
}


/* MOBILE OVERFLOW FIX - HERO + ABOUT */
@media screen and (max-width: 600px) {
  section.hero .hero-copy {
    width: calc(100% - 36px) !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  section.hero .hero-copy h1 {
    font-size: 42px !important;
    line-height: 1.00 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media screen and (max-width: 560px) {
  section.about-new,
  section.about-new .about-inner,
  section.about-new .about-story,
  section.about-new .about-stats {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  section.about-new .about-story h2 {
    font-size: 34px !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere !important;
  }

  section.about-new .about-lead {
    overflow-wrap: anywhere !important;
  }

  section.about-new .about-stats {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  }

  section.about-new .about-stat {
    min-width: 0 !important;
    width: auto !important;
    overflow: hidden !important;
    padding: 20px 12px !important;
  }

  section.about-new .about-stat strong {
    font-size: 27px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  section.about-new .about-stat span {
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: .25px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}


/* GUESTY BOOKING SEARCH */
.guesty-search-section {
  position: relative;
  z-index: 5;
  background: #fff;
  padding: 34px 28px;
  box-shadow: 0 16px 45px rgba(20,32,28,.08);
}
.guesty-search-inner {
  max-width: 1380px;
  margin: 0 auto;
}
#search-widget_IO312PWQ {
  width: 100%;
}

@media screen and (max-width: 600px) {
  .guesty-search-section {
    padding: 28px 22px 32px;
  }
}


/* Guesty embedded search - compact placement under hero */
.guesty-search-section {
  padding: 0 !important;
  min-height: 0 !important;
  box-shadow: 0 12px 32px rgba(20,32,28,.10);
}
.guesty-search-inner {
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
}
#search-widget_IO312PWQ {
  min-height: 0 !important;
}
.guesty-search-section + .featured-rentals {
  padding-top: 72px !important;
}
@media screen and (max-width: 600px) {
  .guesty-search-section {
    padding: 0 !important;
  }
  .guesty-search-section + .featured-rentals {
    padding-top: 58px !important;
  }
}


/* CUSTOM BOOKING SEARCH -> GUESTY RESULTS */
#stays.search {
  display: block;
  max-width: 1180px;
  margin: -38px auto 0;
  padding: 20px;
}
.booking-search {
  display: grid;
  grid-template-columns: 1fr 1fr .7fr .8fr;
  gap: 10px;
  align-items: end;
}
.booking-search label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 7px;
}
.booking-search input {
  width: 100%;
  height: 46px;
  border: 1px solid #ddd;
  padding: 0 13px;
  background: #fff;
  font: inherit;
}
.booking-search button {
  height: 46px;
  border: 0;
  background: var(--green);
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  #stays.search { margin: 0; max-width: none; }
  .booking-search { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 560px) {
  .booking-search { grid-template-columns: 1fr; }
  #stays.search { padding: 18px 20px; }
}


/* Clickable featured rental cards */
.property-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.property-card-link:hover img {
  transform: scale(1.02);
}
.property-card-link img {
  transition: transform .25s ease;
}


/* MOBILE BOOKING SEARCH COMPACT LAYOUT */
@media screen and (max-width: 560px) {
  #stays.search {
    padding: 20px;
  }

  .booking-search {
    grid-template-columns: 1fr 1fr;
    gap: 14px 10px;
    align-items: end;
  }

  .booking-search > div:nth-child(3),
  .booking-search button {
    grid-column: 1 / -1;
  }

  .booking-search label {
    font-size: 10px;
    margin-bottom: 6px;
  }

  .booking-search input {
    height: 48px;
    padding: 0 10px;
    font-size: 16px;
    min-width: 0;
  }

  .booking-search button {
    height: 50px;
    margin-top: 2px;
  }
}


/* MOBILE HERO + TWO-ROW BOOKING BAR POLISH */
@media screen and (max-width: 560px) {
  .booking-search > div:nth-child(3),
  .booking-search button {
    grid-column: auto;
  }

  .booking-search {
    grid-template-columns: 1fr 1fr;
    gap: 12px 10px;
  }

  .booking-search button {
    margin-top: 0;
    align-self: end;
  }

  /* Show more of the hero artwork on phones while preserving the luxury full-bleed look */
  .hero {
    min-height: 82vh;
    background-size: auto 92%;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #173f35;
  }
}


/* MOBILE FIRST-SCREEN BOOKING + BRANDED HEADER */
@media screen and (max-width: 560px) {
  .site-header {
    position: absolute;
    height: 70px;
    padding: 0 20px;
    background: #fff;
    color: var(--green);
    border-bottom: 1px solid #e8e5de;
  }

  .site-header .brand,
  .site-header .menu {
    color: var(--green);
  }

  .site-header .mark {
    border-color: var(--green);
  }

  .hero {
    height: 600px;
    min-height: 600px;
    padding-top: 70px;
  }

  .hero-copy {
    padding: 45px 20px 135px;
  }

  .hero-copy h1 {
    font-size: 36px;
    line-height: 1.03;
  }

  .hero-copy > p:not(.eyebrow) {
    font-size: 16px;
    line-height: 1.45;
  }

  .hero-copy .actions {
    margin-top: 20px;
    gap: 8px;
  }

  .hero-copy .btn {
    padding: 13px 18px;
  }

  #stays.search {
    margin: -116px 14px 0;
    padding: 14px;
    box-shadow: 0 12px 32px #0003;
  }

  .booking-search {
    gap: 9px 8px;
  }

  .booking-search label {
    margin-bottom: 4px;
  }

  .booking-search input,
  .booking-search button {
    height: 43px;
  }

  .booking-search button {
    font-size: 11px;
    padding: 0 8px;
  }
}


/* SIMPLIFIED MOBILE HERO */
.mobile-copy { display: none; }
@media screen and (max-width: 560px) {
  .hero-managed { display: none; }
  .hero-copy h1 {
    font-size: 38px;
    line-height: 1.02;
    margin-bottom: 18px;
  }
  .hero-copy .desktop-copy { display: none; }
  .hero-copy .mobile-copy { display: inline; }
  .hero-copy .hero-support {
    font-size: 17px;
    line-height: 1.45;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-copy .owner-hero-btn { display: none; }
  .hero-copy .actions {
    margin-top: 22px;
  }
  .hero-copy .actions .btn {
    min-height: 54px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}


/* OFFICIAL ZYEN HOMES HEADER LOGO */
.site-header .brand-logo {
  display: flex;
  align-items: center;
  padding: 0;
}
.site-header .brand-logo img {
  display: block;
  width: auto;
  height: 82px;
  max-width: 360px;
  object-fit: contain;
}
@media screen and (max-width: 900px) {
  .site-header .brand-logo img {
    height: 70px;
    max-width: 300px;
  }
}
@media screen and (max-width: 560px) {
  .site-header .brand-logo img {
    height: 58px;
    max-width: 250px;
  }
}


/* MOBILE HEADER POLISH */
@media screen and (max-width: 560px) {
  .site-header {
    background: var(--cream);
    min-height: 92px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .site-header .brand img {
    transform: scale(1.18);
    transform-origin: left center;
  }
}


/* MOBILE HERO - SHOW MORE OF THE SEASON IMAGE */
@media screen and (max-width: 560px) {
  .hero .season {
    background-size: auto 100%;
  }
  .hero .season.winter {
    background-position: center center;
  }
  .hero .season.summer {
    background-position: center center;
  }
}


/* MOBILE RHYTHM + FEATURED CARD POLISH */
@media screen and (max-width: 560px) {
  /* Reduce excess whitespace between the booking search and featured homes */
  #stays.search {
    margin-bottom: 0;
  }
  .featured-rentals {
    padding-top: 52px;
    padding-bottom: 58px;
  }
  .featured-rentals .lead {
    margin-bottom: 38px;
  }

  /* More compact, consistent two-column property cards */
  .featured-rentals .property-grid {
    gap: 14px;
  }
  .featured-rentals .property-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .featured-rentals .property-card img {
    aspect-ratio: 1 / .88;
    height: auto;
    object-fit: cover;
  }
  .featured-rentals .property-info {
    padding: 18px 14px 20px;
    flex: 1;
  }
  .featured-rentals .property-info h3 {
    margin-top: 8px;
    margin-bottom: 12px;
    line-height: 1.03;
  }
  .featured-rentals .property-info p {
    margin-top: 0;
  }
  .featured-rentals .property-feature {
    margin-top: 14px;
  }

  /* Tighten major section transitions without making content feel crowded */
  .destinations {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .destinations .lead {
    margin-bottom: 38px;
  }
  .why-stay {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .why-gallery {
    margin-bottom: 42px;
  }
  .ski-house {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  #management {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  #about {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}


/* MOBILE HERO -> SEARCH SPACING: reveal more of the hero image */
@media screen and (max-width: 560px) {
  .hero {
    padding-bottom: 105px;
  }
  #stays.search {
    margin-top: -38px;
  }
}


/* PROPERTY MANAGEMENT SERVICE ICONS */
.management-icon-benefits > span {
  display: flex;
  align-items: center;
  gap: 14px;
}
.management-icon-benefits > span > span:last-child {
  border: 0;
  padding: 0;
}
.management-service-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--green);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
  font-size: 18px;
  line-height: 1;
  padding: 0 !important;
}
@media screen and (max-width: 600px) {
  section.management .management-icon-benefits > span {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 0 !important;
  }
  section.management .management-service-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid var(--green) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
  }
  section.management .management-icon-benefits > span > span:last-child {
    padding: 0 !important;
    border: 0 !important;
  }
}


/* MOBILE HERO FINAL BALANCE */
@media screen and (max-width: 600px) {
  .hero h1 {
    font-size: 39px !important;
  }

  #stays.search {
    margin-top: -24px !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: auto !important;
    max-width: none !important;
  }
}


/* MOBILE HERO + BOOKING SEARCH FINAL BALANCE */
@media screen and (max-width: 600px) {
  .hero h1 {
    font-size: 39px !important;
    line-height: .98 !important;
  }

  #stays.search {
    width: calc(100% - 36px) !important;
    margin: -24px auto 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* COMPACT SKI HOUSE HOMEPAGE SUMMARY */
.ski-features-compact span::before {
  content: "•";
  margin-right: 10px;
  color: #d8c69c;
}
.ski-pricing-compact {
  margin-bottom: 24px;
}
@media screen and (max-width: 600px) {
  .ski-house .ski-intro {
    max-width: 34rem;
    margin-bottom: 24px !important;
  }
  .ski-house .ski-features-compact {
    margin-bottom: 26px !important;
  }
  .ski-house .ski-features-compact span {
    padding: 12px 0 !important;
  }
  .ski-house .ski-pricing-compact {
    margin-bottom: 22px !important;
  }
}


/* FINAL SKI HOUSE + COMPACT WHY STAY */
@media screen and (max-width: 600px) {
  .ski-house {
    padding-bottom: 54px !important;
  }
  .ski-house-layout,
  .ski-gallery {
    margin-bottom: 0 !important;
  }

  .why-stay .why-content > p:not(.eyebrow) {
    max-width: 34rem;
  }
  .why-benefits-compact {
    margin: 28px 0 32px !important;
  }
  .why-benefits-compact span {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 0 !important;
  }
  .why-benefits-compact span strong {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--green);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--green);
    font-size: 12px;
    letter-spacing: 1px;
  }
}


/* MOBILE BOOKING SEARCH: keep the full Guests + Search Stays row visible */
@media screen and (max-width: 600px) {
  #stays.search {
    padding-bottom: 22px !important;
    margin-bottom: 28px !important;
    overflow: visible !important;
  }
  .booking-search {
    padding-bottom: 0 !important;
  }
}


/* Featured rental card booking link */
.property-view{display:inline-block;margin-top:12px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
@media screen and (max-width:560px){.property-view{margin-top:9px;font-size:10px;letter-spacing:.7px;}}


/* Explore Ontario destination links */
.destination-card{display:block;color:inherit;text-decoration:none;cursor:pointer;}
.destination-card .photo{transition:transform .3s ease;}
.destination-card:hover .photo{transform:scale(1.015);}
.destination-link{display:inline-block;margin-top:10px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
@media screen and (max-width:560px){
 .destination-card{display:grid;grid-template-columns:42% 58%;align-items:stretch;}
 .destination-card .photo{height:100%;min-height:145px;}
 .destination-copy{padding:18px 16px;}
 .destination-copy h3{margin-top:0;}
 .destination-link{font-size:9px;letter-spacing:.65px;margin-top:7px;}
}


/* Email signup popup */
.email-popup-backdrop{position:fixed;inset:0;background:rgba(13,28,24,.58);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;}
.email-popup-backdrop.is-open{opacity:1;visibility:visible;}
.email-popup{position:relative;width:min(520px,100%);background:var(--cream);padding:42px 40px 34px;box-shadow:0 24px 70px rgba(0,0,0,.25);}
.email-popup-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:transparent;color:var(--green);font-size:32px;line-height:1;cursor:pointer;}
.email-popup h2{font-size:46px;line-height:1;margin:8px 0 14px;}
.email-popup-copy{font-size:17px;line-height:1.55;margin:0 0 24px;}
.email-popup-form label{display:block;margin:13px 0 6px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.email-popup-form input{width:100%;height:48px;border:1px solid #d7d2c8;background:#fff;padding:0 14px;font:inherit;box-sizing:border-box;}
.email-popup-form .btn{width:100%;margin-top:18px;border:0;height:50px;cursor:pointer;}
.email-popup-note{font-size:10px;line-height:1.45;color:#666;margin:12px 0 0;}
.email-popup-status{font-size:12px;margin:10px 0 0;color:var(--green);font-weight:700;}
@media screen and (max-width:560px){
 .email-popup-backdrop{align-items:flex-end;padding:0;}
 .email-popup{width:100%;padding:28px 24px 22px;max-height:72vh;overflow:auto;border-radius:14px 14px 0 0;}
 .email-popup h2{font-size:34px;}
 .email-popup-copy{font-size:15px;margin-bottom:16px;}
 .email-popup-form input{height:45px;}
 .email-popup-form .btn{height:47px;}
}


/* Refined section transition below booking search */
#stays.search{margin-bottom:0;}
#rentals{position:relative;}
#rentals::before{content:"";display:block;width:min(88%,1180px);height:1px;background:rgba(23,63,53,.18);margin:0 auto 54px;}
@media screen and (max-width:560px){
 #stays.search{padding-bottom:22px;}
 #rentals{padding-top:34px;}
 #rentals::before{width:88%;margin:0 auto 34px;}
}


/* Consistent subtle dividers between major light homepage sections */
@media screen and (max-width:560px){
 .destinations,.why-stay,.about-new{position:relative;}
 .destinations::before,.why-stay::before,.about-new::before{content:"";display:block;width:88%;height:1px;background:rgba(23,63,53,.18);margin:0 auto 34px;}
 .destinations{padding-top:34px;}
 .why-stay{padding-top:34px;}
 .about-new{padding-top:34px;}
}


/* Footer final polish */
.footer-logo{display:inline-block;line-height:0;}
.footer-logo img{display:block;width:250px;max-width:100%;height:auto;object-fit:contain;}
@media screen and (max-width:560px){
 .footer-main{padding-top:46px;padding-bottom:36px;}
 .footer-brand{margin-bottom:28px;}
 .footer-logo img{width:285px;margin:0 auto;}
 .footer-brand p{margin-top:22px;}
 .footer-column{padding-top:28px;padding-bottom:28px;}
 .footer-column h4{margin-bottom:20px;}
 .footer-column a,.footer-column p{margin-top:12px;margin-bottom:12px;}
 .footer-bottom{padding:18px 24px 22px;text-align:center;}
 .footer-bottom p{margin:0;font-size:10px;line-height:1.5;opacity:.72;}
}


/* Mobile navigation final polish */
@media screen and (max-width:900px){
 .site-header nav{top:100%;padding:28px 24px 30px;gap:0;background:#0d2f27;box-shadow:0 16px 30px rgba(0,0,0,.16);}
 .site-header nav a{width:min(360px,100%);padding:15px 12px;color:#fff;text-align:center;font-size:17px;line-height:1.25;border-bottom:1px solid rgba(255,255,255,.12);}
 .site-header nav a:last-child{width:auto;margin-top:18px;padding:15px 30px;border:1px solid rgba(255,255,255,.22);background:#174c40;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;}
}
@media screen and (max-width:560px){
 .site-header nav{padding-top:20px;padding-bottom:24px;}
 .site-header nav a{padding:13px 10px;font-size:16px;}
 .site-header nav a:last-child{margin-top:14px;padding:14px 28px;font-size:12px;}
}


/* Correct footer logo scale and CTA-to-footer transition on mobile */
@media screen and (max-width:600px){
 section.investment-cta{padding-bottom:42px !important;}
 footer.site-footer{padding-top:0 !important;}
 footer.site-footer .footer-main{padding-top:34px !important;}
 footer.site-footer .footer-logo img{width:230px !important;max-width:70vw !important;margin:0 auto !important;}
 footer.site-footer .footer-brand{margin-bottom:28px !important;}
 footer.site-footer .footer-brand p{margin-top:18px !important;}
}


/* DESKTOP SKI HOUSE - SLIDING PHOTO STRIPS */
@media (min-width:1001px){
 section.ski.ski-house .ski-gallery{
   height:500px !important;
   display:flex !important;
   gap:10px !important;
   overflow:hidden !important;
   align-items:stretch !important;
 }
 section.ski.ski-house .ski-gallery img,
 section.ski.ski-house .ski-gallery .ski-main{
   grid-column:auto !important;
   grid-row:auto !important;
   flex:0 0 34% !important;
   width:34% !important;
   height:100% !important;
   object-fit:cover !important;
   animation:skiDesktopSlide 32s linear infinite;
 }
 section.ski.ski-house .ski-gallery:hover img{
   animation-play-state:paused;
 }
 @keyframes skiDesktopSlide{
   from{transform:translateX(0);}
   to{transform:translateX(calc(-300% - 30px));}
 }
}


/* Desktop divider between Featured Rentals and Explore Ontario */
@media (min-width:561px){
 .destinations{position:relative;}
 .destinations::before{
   content:"";
   display:block;
   width:min(88%,1180px);
   height:1px;
   background:rgba(23,63,53,.18);
   margin:0 auto 54px;
 }
}


/* Balance desktop footer logo with footer text columns */
@media (min-width:761px){
  .footer .footer-brand img,
  .site-footer .footer-brand img{
    width:180px !important;
    height:180px !important;
    object-fit:cover;
  }
  .footer .footer-brand,
  .site-footer .footer-brand{
    align-self:start;
  }
}


/* Ski House slider navigation arrows */
.ski-gallery-wrap{position:relative;min-width:0;}
.ski-gallery-wrap .ski-gallery{width:100%;}
.ski-arrow{
 position:absolute;top:50%;z-index:8;transform:translateY(-50%);
 width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.7);
 background:rgba(13,47,39,.72);color:#fff;font-size:34px;line-height:42px;
 display:flex;align-items:center;justify-content:center;cursor:pointer;
 box-shadow:0 4px 18px rgba(0,0,0,.18);transition:background .2s ease,transform .2s ease;
}
.ski-arrow:hover{background:rgba(13,47,39,.95);transform:translateY(-50%) scale(1.05);}
.ski-arrow-left{left:14px;}
.ski-arrow-right{right:14px;}
@media(max-width:600px){
 .ski-arrow{width:40px;height:40px;font-size:29px;line-height:36px;}
 .ski-arrow-left{left:8px}.ski-arrow-right{right:8px}
}


/* Property owner inquiry popup */
.owner-popup-backdrop{position:fixed;inset:0;background:rgba(13,28,24,.64);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;}
.owner-popup-backdrop.is-open{opacity:1;visibility:visible;}
.owner-popup{position:relative;width:min(680px,100%);background:var(--cream);padding:40px;box-shadow:0 24px 70px rgba(0,0,0,.28);}
.owner-popup-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:transparent;color:var(--green);font-size:32px;cursor:pointer;}
.owner-popup h2{font-size:42px;line-height:1.05;margin:8px 0 12px;}
.owner-popup-copy{margin:0 0 22px;font-size:16px;line-height:1.5;}
.owner-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
.owner-popup-form label{display:block;margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.owner-popup-form input{width:100%;height:48px;box-sizing:border-box;border:1px solid #d7d2c8;background:#fff;padding:0 13px;font:inherit;}
.owner-popup-form>.btn{width:100%;height:52px;border:0;margin-top:20px;cursor:pointer;}
.owner-popup-status{margin:10px 0 0;font-size:12px;font-weight:700;color:var(--green);}
.owner-inquiry-trigger{border:0;cursor:pointer;}
@media(max-width:560px){
 .owner-popup-backdrop{align-items:flex-end;padding:0;}
 .owner-popup{padding:28px 24px 22px;max-height:82vh;overflow:auto;border-radius:14px 14px 0 0;}
 .owner-popup h2{font-size:34px;}
 .owner-popup-copy{font-size:14px;margin-bottom:17px;}
 .owner-form-grid{grid-template-columns:1fr;gap:11px;}
 .owner-popup-form input{height:44px;}
 .owner-popup-form>.btn{height:auto;min-height:50px;padding:13px 10px;font-size:10px;letter-spacing:1px;}
}


/* Ski House slider arrows — premium desktop overlay */
@media (min-width: 769px){
  .ski-gallery{position:relative;}
  .ski-gallery-prev,.ski-gallery-next,.ski-prev,.ski-next{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:48px !important;
    height:48px !important;
    border-radius:50% !important;
    border:1px solid rgba(255,255,255,.8) !important;
    background:rgba(23,63,53,.72) !important;
    color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:28px !important;
    line-height:1 !important;
    z-index:8 !important;
    cursor:pointer !important;
    box-shadow:0 4px 16px rgba(0,0,0,.18) !important;
    transition:background .2s ease,transform .2s ease !important;
  }
  .ski-gallery-prev:hover,.ski-gallery-next:hover,.ski-prev:hover,.ski-next:hover{
    background:rgba(23,63,53,.95) !important;
  }
  .ski-gallery-prev,.ski-prev{left:14px !important;}
  .ski-gallery-next,.ski-next{right:14px !important;}
}


/* Ski House headline: keep Ski Community on one line */
@media (min-width: 901px){
  .ski-house-content{max-width:600px;}
  .ski-house h2{font-size:clamp(44px,4.15vw,62px);line-height:1.02;}
  .ski-house h2 br{display:block;}
}


/* Property inquiry dropdowns */
.owner-popup-form select{width:100%;height:48px;box-sizing:border-box;border:1px solid #d7d2c8;background:#fff;padding:0 13px;font:inherit;color:var(--ink);}
@media(max-width:560px){.owner-popup-form select{height:44px;}}


/* Mobile footer logo refinement */
@media screen and (max-width:600px){
 footer.site-footer .footer-logo img{width:210px !important;max-width:58vw !important;height:auto !important;}
 footer.site-footer .footer-brand p{margin-top:14px !important;}
}


/* Slightly smaller desktop footer logo */
@media (min-width:761px){
 .footer .footer-brand img,
 .site-footer .footer-brand img{width:160px !important;height:160px !important;}
}


/* Tighten desktop gap between Featured Rentals and Explore Ontario */
@media (min-width:561px){
 .featured-rentals{padding-bottom:54px !important;}
 .destinations{padding-top:0 !important;}
 .destinations::before{margin-top:0 !important;}
}


/* Mobile booking search: ensure the full form and Search Stays button are visible */
@media (max-width:560px){
  #stays.search{
    margin-top:-54px !important;
    padding:0 18px 28px !important;
    position:relative;
    z-index:6;
    overflow:visible !important;
  }
  #stays .booking-search{
    grid-template-columns:1fr 1fr !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:18px !important;
    gap:12px !important;
  }
  #stays .booking-search > div:nth-of-type(3){grid-column:1 / 2;}
  #stays .booking-search button{
    grid-column:2 / 3;
    width:100%;
    min-height:54px;
    align-self:end;
  }
}


/* Mobile booking search: lift the complete card slightly higher */
@media (max-width:560px){
  #stays.search{
    margin-top:-105px !important;
    padding-bottom:36px !important;
  }
}


/* Mobile booking search: align both columns and keep all fields inside card */
@media (max-width:560px){
  #stays .booking-search{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    box-sizing:border-box !important;
  }
  #stays .booking-search > div{
    min-width:0 !important;
    width:100% !important;
  }
  #stays .booking-search input,
  #stays .booking-search button{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  #stays .booking-search button{
    margin:0 !important;
  }
}


/* Mobile booking card: balanced vertical spacing */
@media (max-width:560px){
  #stays.search{
    padding-bottom:0 !important;
  }
  #stays .booking-search{
    padding:22px 20px !important;
    row-gap:14px !important;
    min-height:0 !important;
    height:auto !important;
  }
}


/* Section transition: place divider directly on the white/cream boundary */
.destinations{
  position:relative;
  border-bottom:1px solid rgba(23,63,53,.18);
}
.destinations + section::before{
  display:none !important;
}
@media (max-width:560px){
  .destinations{
    padding-bottom:48px !important;
  }
  .destinations + section{
    padding-top:48px !important;
  }
}


/* Mobile Why Stay spacing refinement */
@media (max-width:560px){
  .why-stay{
    padding-top:34px !important;
    padding-bottom:40px !important;
  }
  .why-stay .why-gallery{
    margin-bottom:34px !important;
  }
  .why-stay .why-content .btn{
    margin-bottom:0 !important;
  }
}


/* Mobile Ski House final refinements */
@media (max-width:600px){
  section.ski.ski-house .ski-house-content h2{
    font-size:46px !important;
    line-height:1.02 !important;
    white-space:nowrap !important;
  }
  section.ski.ski-house .ski-arrow{
    width:34px !important;
    height:34px !important;
    font-size:24px !important;
    line-height:1 !important;
    background:rgba(13,47,39,.52) !important;
    border-color:rgba(255,255,255,.55) !important;
    box-shadow:0 3px 12px rgba(0,0,0,.14) !important;
  }
  section.ski.ski-house .ski-arrow-left{left:7px !important;}
  section.ski.ski-house .ski-arrow-right{right:7px !important;}
  section.ski.ski-house{
    padding-bottom:34px !important;
  }
}


/* Mobile Ski House headline: Come Solo. / Ski Community. */
@media (max-width:600px){
  section.ski.ski-house .ski-house-content h2{
    font-size:clamp(38px,10.4vw,44px) !important;
    line-height:1.02 !important;
    white-space:normal !important;
    letter-spacing:-.5px !important;
  }
  section.ski.ski-house .ski-house-content h2 br{
    display:block !important;
  }
}


/* Mobile Ski House headline: add breathing room at right edge */
@media (max-width:600px){
  section.ski.ski-house .ski-house-content h2{
    font-size:clamp(37px,10vw,42px) !important;
  }
}


/* Mobile Ski House headline: comfortable right-side margin */
@media (max-width:600px){
  section.ski.ski-house .ski-house-content h2{
    font-size:clamp(35px,9.4vw,40px) !important;
    letter-spacing:-.6px !important;
  }
}


/* Mobile footer logo: smaller, cleaner scale */
@media screen and (max-width:600px){
  footer.site-footer .footer-logo img{
    width:170px !important;
    max-width:48vw !important;
    height:auto !important;
  }
}


/* Mobile footer final spacing polish */
@media screen and (max-width:600px){
  footer.site-footer .footer-brand{margin-bottom:24px !important;}
  footer.site-footer .footer-col{padding-top:24px !important;padding-bottom:24px !important;}
  footer.site-footer .footer-bottom{margin-top:30px !important;padding-top:26px !important;padding-bottom:28px !important;}
}


/* Mobile featured rental cards: balanced row heights and tighter copy */
@media screen and (max-width:560px){
  .featured-rentals .property-grid{
    align-items:stretch;
  }
  .featured-rentals .property-card{
    height:100%;
    display:flex;
    flex-direction:column;
  }
  .featured-rentals .property-card > img{
    flex:0 0 auto;
  }
  .featured-rentals .property-info{
    flex:1;
    display:flex;
    flex-direction:column;
    padding-bottom:16px !important;
  }
  .featured-rentals .property-info h3{
    line-height:1.02 !important;
    margin-bottom:10px !important;
  }
  .featured-rentals .property-info > p:not(.property-location):not(.property-feature){
    line-height:1.35 !important;
    margin-bottom:10px !important;
  }
  .featured-rentals .property-feature{
    line-height:1.3 !important;
    margin-top:2px !important;
    margin-bottom:0 !important;
  }
  .featured-rentals .property-view{
    margin-top:auto !important;
    padding-top:10px;
  }
}


/* Mobile property-management intro: tighter, more elegant heading */
@media screen and (max-width:560px){
  .management h2{
    font-size:clamp(43px,10.8vw,50px) !important;
    line-height:.98 !important;
    letter-spacing:-1.2px;
    margin-bottom:22px !important;
  }
  .management .management-copy > p{
    margin-top:0 !important;
  }
}


/* Mobile homepage: raise booking card so the full search starts immediately after hero */
@media screen and (max-width:560px){
  #stays.search{
    margin-top:-150px !important;
  }
}


/* Compact mobile header */
@media screen and (max-width:600px){
  .site-header{
    height:118px !important;
    min-height:118px !important;
    padding:10px 24px !important;
  }
  .site-header .brand img{
    width:96px !important;
    height:96px !important;
    max-width:96px !important;
    object-fit:contain !important;
  }
  .site-header .menu{
    font-size:32px !important;
    line-height:1 !important;
  }
  .site-header nav{
    top:118px !important;
  }
}


/* Mobile booking card refinement: smaller and slightly lower */
@media screen and (max-width:560px){
  #stays.search{
    margin-top:-118px !important;
    padding-left:38px !important;
    padding-right:38px !important;
  }
  #stays .booking-search{
    padding:16px !important;
    row-gap:10px !important;
    column-gap:10px !important;
  }
  #stays .booking-search label{
    margin-bottom:6px !important;
  }
  #stays .booking-search input,
  #stays .booking-search button{
    min-height:50px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
}


/* Mobile header: smaller logo box */
@media screen and (max-width:600px){
  .site-header{
    height:100px !important;
    min-height:100px !important;
    padding:8px 24px !important;
  }
  .site-header .brand img{
    width:78px !important;
    height:78px !important;
    max-width:78px !important;
  }
  .site-header nav{
    top:100px !important;
  }
}


/* Final compact mobile header */
@media screen and (max-width:600px){
  .site-header{
    height:80px !important;
    min-height:80px !important;
    padding:6px 22px !important;
  }
  .site-header .brand img{
    width:66px !important;
    height:66px !important;
    max-width:66px !important;
  }
  .site-header .menu{
    min-width:48px !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .site-header nav{
    top:80px !important;
  }
}


/* Mobile date fields: preserve two-column layout while showing full date */
@media screen and (max-width:560px){
  #stays.search{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  #stays .booking-search input[type="date"]{
    font-size:16px !important;
    padding-left:10px !important;
    padding-right:6px !important;
    min-width:0 !important;
    -webkit-min-logical-width:0 !important;
  }
  #stays .booking-search input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:2px !important;
    padding:2px !important;
  }
}


/* Large-group custom stay */
.large-group-search-link{
  margin:12px 0 0;
  text-align:center;
  font-size:12px;
  font-weight:700;
}
.large-group-search-link a{color:var(--green);text-decoration:none;}
.custom-stay{
  padding:58px 6vw 64px;
  background:var(--cream);
  text-align:center;
}
.custom-stay-inner{max-width:780px;margin:0 auto;}
.custom-stay h2{margin-bottom:18px;}
.custom-stay-inner > p:not(.eyebrow){
  max-width:690px;
  margin:0 auto;
  color:#5d625f;
  font-size:17px;
  line-height:1.65;
}
.custom-stay .btn{margin-top:26px;}
@media screen and (max-width:560px){
  .large-group-search-link{
    font-size:11px;
    padding:0 12px 14px;
  }
  .custom-stay{padding:44px 24px 48px;}
  .custom-stay h2{
    font-size:36px !important;
    line-height:1.02 !important;
  }
  .custom-stay-inner > p:not(.eyebrow){
    font-size:15px;
    line-height:1.55;
  }
  .custom-stay .btn{width:100%;max-width:330px;}
}


/* Custom group stay request form */
.custom-stay-form{
  margin:34px auto 0;
  max-width:760px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  text-align:left;
}
.custom-field{min-width:0;}
.custom-field label{
  display:block;
  margin:0 0 7px;
  color:var(--green);
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.custom-field input,.custom-field select,.custom-field textarea{
  width:100%;
  min-width:0;
  border:1px solid #d7d2c8;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:16px;
  padding:14px 13px;
  border-radius:0;
}
.custom-field textarea{resize:vertical;}
.custom-full{grid-column:1 / -1;}
.custom-submit{grid-column:1 / -1;margin:4px auto 0 !important;border:0;cursor:pointer;}
.custom-form-note{
  grid-column:1 / -1;
  margin:0 !important;
  text-align:center;
  font-size:11px !important;
  line-height:1.45 !important;
  color:#737873 !important;
}
@media screen and (max-width:560px){
  .custom-stay-form{grid-template-columns:1fr;gap:13px;margin-top:28px;}
  .custom-full,.custom-submit,.custom-form-note{grid-column:1;}
  .custom-submit{width:100%;max-width:none !important;}
}


/* Keep the detailed custom-stay form off the homepage until opened */
#custom-stay[hidden]{display:none !important;}


/* Dedicated custom group stay page */
.custom-stay-page{background:var(--cream);}
.custom-stay-page .custom-page-header{
  position:relative;
  height:110px;
  min-height:110px;
  background:var(--cream);
  color:var(--green);
  border-bottom:1px solid rgba(23,63,53,.12);
}
.custom-page-header .brand img{width:88px;height:88px;object-fit:contain;}
.custom-back{
  color:var(--green);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
}
.custom-stay-standalone{padding-top:70px;min-height:calc(100vh - 110px);}
.custom-stay-standalone h1{
  font-family:Georgia,serif;
  font-size:clamp(44px,6vw,68px);
  line-height:1.02;
  letter-spacing:-1.5px;
  max-width:850px;
  margin:0 auto 22px;
}
@media screen and (max-width:600px){
  .custom-stay-page .custom-page-header{
    height:80px !important;
    min-height:80px !important;
    padding:6px 18px !important;
    display:flex !important;
  }
  .custom-page-header .brand img{
    width:66px !important;
    height:66px !important;
  }
  .custom-back{font-size:11px;}
  .custom-stay-standalone{padding-top:42px;}
  .custom-stay-standalone h1{
    font-size:38px;
    letter-spacing:-.7px;
  }
}


/* Contact inquiry choice page */
.contact-choice-page{background:#fff;}
.contact-choice-page .custom-page-header{
  position:relative;
  height:110px;
  min-height:110px;
  background:var(--cream);
  color:var(--green);
  border-bottom:1px solid rgba(23,63,53,.12);
}
.contact-choice{padding:78px 6vw 90px;}
.contact-choice-inner{max-width:1080px;margin:0 auto;text-align:center;}
.contact-choice h1{
  font-family:Georgia,serif;
  font-size:clamp(48px,6vw,72px);
  line-height:1;
  letter-spacing:-1.8px;
  margin-bottom:20px;
}
.contact-choice-lead{
  max-width:660px;
  margin:0 auto 48px;
  color:#626965;
  font-size:17px;
  line-height:1.65;
}
.contact-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  text-align:left;
}
.contact-choice-card{
  position:relative;
  background:var(--cream);
  padding:42px 38px 36px;
  border:1px solid rgba(23,63,53,.10);
}
.contact-choice-number{
  display:block;
  color:var(--green);
  font-family:Georgia,serif;
  font-size:42px;
  line-height:1;
  margin-bottom:28px;
}
.contact-choice-kicker{
  color:var(--green);
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  margin-bottom:12px;
}
.contact-choice-card h2{
  font-size:36px;
  margin-bottom:18px;
}
.contact-choice-card > p:not(.contact-choice-kicker){
  color:#626965;
  font-size:15px;
  line-height:1.65;
  min-height:75px;
}
.contact-choice-card .btn{
  margin-top:12px;
  text-align:center;
}
.contact-secondary{
  display:block;
  margin-top:20px;
  color:var(--green);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.contact-direct{
  margin:36px 0 0;
  color:#626965;
  font-size:13px;
}
.contact-direct a{color:var(--green);font-weight:700;}
@media screen and (max-width:600px){
  .contact-choice-page .custom-page-header{
    height:80px !important;
    min-height:80px !important;
    padding:6px 18px !important;
    display:flex !important;
  }
  .contact-choice{padding:44px 22px 60px;}
  .contact-choice h1{font-size:43px;letter-spacing:-1px;}
  .contact-choice-lead{font-size:15px;margin-bottom:30px;}
  .contact-choice-grid{grid-template-columns:1fr;gap:16px;}
  .contact-choice-card{padding:30px 24px;}
  .contact-choice-number{font-size:34px;margin-bottom:20px;}
  .contact-choice-card h2{font-size:31px;}
  .contact-choice-card > p:not(.contact-choice-kicker){min-height:0;}
  .contact-choice-card .btn{width:100%;}
}


/* Contact inquiry forms */
.contact-choice-card .contact-form-toggle{border:0;cursor:pointer;}
.contact-inline-form{
  position:relative;
  max-width:900px;
  margin:28px auto 0;
  padding:42px;
  background:var(--cream);
  border:1px solid rgba(23,63,53,.12);
  text-align:left;
}
.contact-inline-form[hidden]{display:none !important;}
.contact-inline-form h2{font-size:40px;margin-bottom:28px;}
.contact-form-close{
  position:absolute;right:18px;top:14px;
  border:0;background:transparent;color:var(--green);
  font-size:30px;line-height:1;cursor:pointer;
}
.contact-request-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-request-form > div{min-width:0;}
.contact-request-form label{
  display:block;margin:0 0 7px;color:var(--green);
  font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
}
.contact-request-form input,.contact-request-form select,.contact-request-form textarea{
  width:100%;min-width:0;border:1px solid #d7d2c8;background:#fff;color:var(--ink);
  font:inherit;font-size:16px;padding:14px 13px;border-radius:0;
}
.contact-request-form textarea{resize:vertical;}
.contact-form-full,.contact-form-submit{grid-column:1 / -1;}
.contact-form-submit{border:0;cursor:pointer;justify-self:start;margin-top:4px !important;}
@media screen and (max-width:600px){
  .contact-inline-form{padding:30px 20px;margin-top:18px;}
  .contact-inline-form h2{font-size:32px;padding-right:20px;}
  .contact-request-form{grid-template-columns:1fr;gap:13px;}
  .contact-form-full,.contact-form-submit{grid-column:1;}
  .contact-form-submit{width:100%;justify-self:stretch;}
}


/* Contact cards: align primary inquiry buttons */
.contact-choice-card{
  display:flex;
  flex-direction:column;
}
.contact-choice-card .contact-form-toggle{
  margin-top:auto !important;
  align-self:flex-start;
}
.contact-choice-card .contact-secondary{
  flex:0 0 auto;
}
@media screen and (min-width:601px){
  .contact-choice-card{
    min-height:420px;
  }
}


/* Contact page reliability + exact button alignment */
.contact-choice-grid{align-items:stretch !important;}
.contact-choice-card{
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto 1fr auto auto !important;
}
.contact-choice-card .contact-form-toggle{
  align-self:end !important;
  justify-self:start !important;
  margin-top:28px !important;
}
.contact-choice-card .contact-secondary{
  min-height:18px;
  margin-top:18px !important;
}
.contact-choice-card:nth-child(2)::after{
  content:"";
  display:block;
  min-height:18px;
  margin-top:18px;
}
.contact-inline-form{
  scroll-margin-top:24px;
}
.contact-inline-form[hidden]{display:block !important;}
@media screen and (max-width:600px){
  .contact-choice-card{display:flex !important;min-height:0 !important;}
  .contact-choice-card:nth-child(2)::after{display:none;}
  .contact-choice-card .contact-form-toggle{align-self:stretch !important;}
}


/* Contact navigation dropdown */
.nav-contact{position:relative;display:flex;align-items:center;}
.nav-contact-toggle{
  appearance:none;border:0;background:transparent;color:inherit;font:inherit;
  cursor:pointer;padding:10px 0;display:flex;align-items:center;gap:5px;
}
.nav-contact-toggle span{font-size:14px;transition:transform .2s ease;}
.nav-contact-menu{
  position:absolute;top:100%;right:0;z-index:1200;
  min-width:250px;padding:9px;background:#fff;
  border:1px solid rgba(23,63,53,.12);
  box-shadow:0 12px 30px rgba(20,40,34,.12);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.18s ease;
}
.nav-contact-menu a{
  display:block !important;padding:13px 14px !important;
  color:var(--green) !important;text-decoration:none;font-size:13px;
  white-space:nowrap;
}
.nav-contact-menu a:hover{background:var(--cream);}
.nav-contact:hover .nav-contact-menu,
.nav-contact:focus-within .nav-contact-menu,
.nav-contact.is-open .nav-contact-menu{
  opacity:1;visibility:visible;transform:translateY(0);
}
.nav-contact.is-open .nav-contact-toggle span{transform:rotate(180deg);}
@media screen and (max-width:600px){
  .nav-contact{display:block;width:100%;}
  .nav-contact-toggle{
    width:100%;justify-content:space-between;padding:12px 0;
  }
  .nav-contact-menu{
    position:static;min-width:0;width:100%;padding:0 0 4px 14px;
    border:0;box-shadow:none;background:transparent;
    opacity:1;visibility:visible;transform:none;display:none;
  }
  .nav-contact.is-open .nav-contact-menu{display:block;}
  .nav-contact-menu a{
    padding:10px 0 !important;font-size:12px !important;
  }
}


/* Standalone inquiry pages: branded Zyen green header */
.custom-stay-page .custom-page-header{
  background:#173f35 !important;
  border-bottom-color:#173f35 !important;
}
.custom-stay-page .custom-page-header .custom-back{
  color:#fff !important;
}
.custom-stay-page .custom-page-header .brand-logo img{
  display:block;
}

/* Property management information page */
.owner-info-page{background:#fff;}
.owner-hero{background:#173f35;color:#fff;padding:105px 6vw 100px;}
.owner-wrap{max-width:1180px;margin:0 auto;}
.owner-hero h1{max-width:980px;font-size:clamp(46px,6vw,76px);margin-bottom:25px;}
.owner-lead{max-width:780px;font-size:19px;line-height:1.7;color:rgba(255,255,255,.86);}
.owner-primary{margin-top:18px;background:#fff;color:#173f35;border-color:#fff;}
.owner-section{padding:95px 6vw;}
.owner-intro>p:not(.eyebrow){max-width:850px;font-size:18px;line-height:1.75;color:#59615d;}
.owner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd8ce;margin-top:55px;border:1px solid #ddd8ce;}
.owner-grid article{background:#f5f1e8;padding:38px 32px;min-height:245px;}
.owner-grid article span{font-size:11px;letter-spacing:2px;font-weight:700;color:#285c4d;}
.owner-grid h3{font-size:24px;margin:20px 0 12px;}
.owner-grid p,.owner-two p{line-height:1.7;color:#5d625f;}
.owner-invest{background:#173f35;color:#fff;}
.owner-invest p{color:rgba(255,255,255,.82);}
.owner-two{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start;}
.owner-two h2{max-width:500px;}
.owner-points p{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #ddd8ce;}
.owner-cta{padding:95px 6vw;text-align:center;background:#f5f1e8;}
.owner-cta p:not(.eyebrow){max-width:650px;margin:0 auto 22px;line-height:1.7;color:#5d625f;}
@media screen and (max-width:760px){
 .owner-hero{padding:65px 24px 62px;}
 .owner-hero h1{font-size:42px;letter-spacing:-1px;}
 .owner-lead{font-size:17px;}
 .owner-section,.owner-cta{padding:62px 24px;}
 .owner-grid{grid-template-columns:1fr;margin-top:38px;}
 .owner-grid article{min-height:0;padding:30px 26px;}
 .owner-two{grid-template-columns:1fr;gap:20px;}
}

/* Mobile menu: keep Contact dropdown trigger fully visible */
@media screen and (max-width:600px){
  .site-header nav .nav-contact-toggle{
    color:#fff !important;
    opacity:1 !important;
    -webkit-text-fill-color:#fff !important;
  }
  .site-header nav .nav-contact-toggle span{
    color:#fff !important;
    opacity:1 !important;
  }
}

/* Mobile Contact dropdown alignment + visibility */
@media screen and (max-width:600px){
  .site-header nav .nav-contact{
    width:100% !important;
    text-align:center !important;
  }
  .site-header nav .nav-contact-toggle{
    width:auto !important;
    margin:0 auto !important;
    padding:12px 0 !important;
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:7px !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
  }
  .site-header nav .nav-contact-toggle span{
    position:static !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
  }
  .site-header nav .nav-contact-menu{
    width:100% !important;
    padding:0 !important;
    text-align:center !important;
  }
  .site-header nav .nav-contact-menu a{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    padding:12px 0 !important;
    font-size:13px !important;
  }
}

/* Property management page: separate header and tighten hero */
.owner-info-page .custom-page-header{
  background:#f5f1e8 !important;
  color:#173f35 !important;
  border-bottom:1px solid rgba(23,63,53,.14) !important;
}
.owner-info-page .custom-page-header .custom-back{
  color:#173f35 !important;
}
.owner-info-page .owner-hero{
  padding:68px 6vw 72px !important;
}
.owner-info-page .owner-hero h1{
  font-size:clamp(44px,5.2vw,68px) !important;
  max-width:900px !important;
  margin-bottom:20px !important;
}
.owner-info-page .owner-lead{
  font-size:18px !important;
  line-height:1.65 !important;
}
@media screen and (max-width:760px){
  .owner-info-page .owner-hero{
    padding:48px 24px 52px !important;
  }
  .owner-info-page .owner-hero h1{
    font-size:38px !important;
  }
}

/* About Zyen Homes page */
.about-info-page{background:#fff;}
.about-info-page .custom-page-header{
  background:#f5f1e8 !important;color:#173f35 !important;
  border-bottom:1px solid rgba(23,63,53,.14) !important;
}
.about-info-page .custom-page-header .custom-back{color:#173f35 !important;}
.about-page-wrap{max-width:1120px;margin:0 auto;}
.about-page-hero{background:#173f35;color:#fff;padding:76px 6vw 82px;}
.about-page-hero h1{font-size:clamp(48px,6vw,76px);max-width:900px;margin-bottom:24px;}
.about-page-lead{max-width:760px;font-size:19px;line-height:1.7;color:rgba(255,255,255,.85);}
.about-page-section{padding:90px 6vw;}
.about-page-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start;}
.about-page-split p:not(.eyebrow){font-size:17px;line-height:1.75;color:#5d625f;}
.about-page-values{background:#f5f1e8;padding:90px 6vw;}
.about-page-values>div>h2{max-width:650px;}
.about-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px;}
.about-value-grid article{background:#fff;padding:34px 30px;}
.about-value-grid span{font-size:11px;font-weight:700;letter-spacing:2px;color:#285c4d;}
.about-value-grid h3{margin:20px 0 12px;}
.about-value-grid p{line-height:1.65;color:#626965;}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd8ce;border:1px solid #ddd8ce;}
.about-stats div{background:#fff;text-align:center;padding:38px 18px;}
.about-stats strong{display:block;font-family:Georgia,serif;color:#173f35;font-size:34px;margin-bottom:8px;}
.about-stats span{font-size:12px;color:#626965;}
.about-page-cta{background:#173f35;color:#fff;text-align:center;padding:85px 6vw;}
.about-page-cta p:not(.eyebrow){max-width:650px;margin:0 auto 24px;color:rgba(255,255,255,.82);line-height:1.7;}
.about-page-cta .btn{background:#fff;color:#173f35;border-color:#fff;}
@media screen and (max-width:760px){
 .about-page-hero{padding:52px 24px 58px;}
 .about-page-hero h1{font-size:40px;letter-spacing:-1px;}
 .about-page-lead{font-size:17px;}
 .about-page-section,.about-page-values,.about-page-cta{padding:60px 24px;}
 .about-page-split{grid-template-columns:1fr;gap:22px;}
 .about-value-grid{grid-template-columns:1fr;gap:12px;margin-top:32px;}
 .about-stats{grid-template-columns:1fr 1fr;}
 .about-stats div{padding:28px 12px;}
}

/* About hero headline line control */
.about-nowrap{white-space:nowrap;}
@media screen and (max-width:760px){
  .about-nowrap{white-space:normal;}
}

/* About page: fix Our Approach alignment */
.about-info-page .about-page-section .about-page-wrap.about-page-split{
  grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr) !important;
  gap:80px !important;
}
.about-info-page .about-page-section .about-page-wrap.about-page-split > div:last-child{
  max-width:650px !important;
  width:100% !important;
}
.about-info-page .about-page-section .about-page-wrap.about-page-split > div:last-child p{
  max-width:650px !important;
}
@media screen and (max-width:760px){
  .about-info-page .about-page-section .about-page-wrap.about-page-split{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
}

/* About page: tighten stats + approach vertical spacing */
.about-info-page .about-page-section:has(.about-stats){
  padding-top:58px !important;
  padding-bottom:48px !important;
}
.about-info-page .about-page-section:has(.about-stats) + .about-page-section{
  padding-top:52px !important;
  padding-bottom:58px !important;
}
@media screen and (max-width:760px){
  .about-info-page .about-page-section:has(.about-stats){
    padding-top:42px !important;
    padding-bottom:36px !important;
  }
  .about-info-page .about-page-section:has(.about-stats) + .about-page-section{
    padding-top:40px !important;
    padding-bottom:48px !important;
  }
}

/* Featured rentals: view all properties CTA */
.all-properties-link{
  text-align:center;
  margin-top:42px;
}
.all-properties-link .btn{
  margin-top:0;
}
@media screen and (max-width:600px){
  .all-properties-link{margin-top:28px;}
  .all-properties-link .btn{width:100%;max-width:320px;}
}

/* Ski Community headline + navigation target */
.ski-community-line{white-space:nowrap;}
#ski-community{scroll-margin-top:20px;}
@media screen and (max-width:600px){
  .ski-community-line{white-space:normal;}
  #ski-community{scroll-margin-top:0;}
}

/* Direct website form submission feedback */
.form-submit-status{
  grid-column:1 / -1;
  margin:10px 0 0 !important;
  padding:14px 16px;
  text-align:center;
  font-size:13px !important;
  line-height:1.5 !important;
}
.form-submit-status.success{background:#e8f1ed;color:#173f35 !important;}
.form-submit-status.error{background:#f8e8e6;color:#7b2f27 !important;}
.contact-request-form button[disabled]{opacity:.65;cursor:wait;}

/* Ensure direct form submission confirmation is always visible */
.custom-stay-form .form-submit-status{
  display:block !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  margin:14px 0 0 !important;
  padding:16px !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  text-align:center !important;
}
.custom-stay-form .form-submit-status.success{
  background:#e4efe9 !important;
  color:#173f35 !important;
  border:1px solid rgba(23,63,53,.22) !important;
}
.custom-stay-form .form-submit-status.error{
  background:#f8e8e6 !important;
  color:#7b2f27 !important;
}

/* Full confirmation panel after successful inquiry submission */
.form-success-panel{
  max-width:760px;
  margin:42px auto 0;
  padding:54px 38px;
  background:#e8f1ed;
  border:1px solid rgba(23,63,53,.2);
  text-align:center;
  color:#173f35;
}
.form-success-check{
  width:58px;height:58px;margin:0 auto 20px;
  border:2px solid #173f35;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:700;
}
.form-success-panel h2{margin-bottom:18px;font-size:42px;color:#173f35;}
.form-success-panel p{max-width:580px;margin:0 auto 10px !important;font-size:16px !important;line-height:1.6 !important;color:#334b44 !important;}
.form-success-panel .btn{margin-top:22px;}
@media screen and (max-width:600px){
  .form-success-panel{margin-top:28px;padding:38px 22px;}
  .form-success-panel h2{font-size:34px;}
  .form-success-panel .btn{width:100%;}
}

/* Ensure all property links remain above decorative layers and accept clicks */
.featured-rentals .property-grid,.featured-rentals .all-properties-link{position:relative;z-index:3}
.featured-rentals a.property-card-link{position:relative;display:block;pointer-events:auto!important;cursor:pointer}
.featured-rentals .all-properties-link a{position:relative;display:inline-block;pointer-events:auto!important;cursor:pointer}
.featured-rentals a.property-card-link::before,.featured-rentals a.property-card-link::after{pointer-events:none}

/* Keep the full date (including year) visible in the compact mobile booking search. */
@media screen and (max-width: 650px) {
  #booking-search > div:nth-child(1),
  #booking-search > div:nth-child(2) { min-width: 0; }
  #booking-search input[type="date"] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0 5px;
    font-size: 13px;
    letter-spacing: -0.3px;
    font-variant-numeric: tabular-nums;
  }
  #booking-search input[type="date"]::-webkit-calendar-picker-indicator {
    margin: 0;
    padding: 0;
    width: 16px;
    flex: 0 0 16px;
  }
  #booking-search input[type="date"]::-webkit-datetime-edit { padding: 0; }
}

/* Homepage mobile date fields: prevent Android Chrome from clipping the year. */
@media(max-width:700px){
  #booking-search{grid-template-columns:minmax(0,1fr)!important;}
  #booking-search>div{min-width:0!important;grid-column:1/-1!important;}
  #booking-search input[type="date"]{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:48px!important;font-size:16px!important;padding:0 12px!important;letter-spacing:normal!important;}
  #booking-search button{grid-column:1/-1!important;width:100%;}
}

/* Homepage: side-by-side dates with complete year on mobile */
@media (max-width:700px){
 #booking-search{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 10px!important;}
 #booking-search>div:nth-child(1),#booking-search>div:nth-child(2){grid-column:auto!important;min-width:0!important;}
 #booking-search>div:nth-child(3){grid-column:1/-1!important;}
 #booking-search button{grid-column:1/-1!important;}
 #booking-search input[type=date]{width:100%!important;min-width:0!important;box-sizing:border-box!important;height:48px!important;padding:0 4px!important;font-size:12px!important;letter-spacing:-.3px!important;}
 #booking-search input[type=date]::-webkit-calendar-picker-indicator{width:14px!important;margin:0!important;padding:0!important;}
 #booking-search input[type=date]::-webkit-datetime-edit{padding:0!important;}
}

/* Unified Zyen Homes search appearance: match compact All Properties search on homepage hero */
@media(max-width:700px){
 #stays.search{padding:12px!important;border-radius:16px!important;background:#f4f6f3!important;}
 #booking-search{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px 10px!important;align-items:end!important;}
 #booking-search>div:nth-child(1),#booking-search>div:nth-child(2),#booking-search>div:nth-child(3){grid-column:auto!important;min-width:0!important;}
 #booking-search>div:nth-child(3){grid-column:1!important;}
 #booking-search button{grid-column:2!important;width:100%!important;height:43px!important;min-width:0!important;padding:4px!important;font-size:14px!important;border-radius:10px!important;letter-spacing:0!important;white-space:normal!important;}
 #booking-search label{font-size:13px!important;color:#173f35!important;letter-spacing:0!important;text-transform:none!important;font-weight:700!important;margin:0 0 5px!important;}
 #booking-search input{height:43px!important;border:1px solid #c5d2ca!important;border-radius:10px!important;background:white!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:0 8px!important;font-size:15px!important;}
 #booking-search input[type=date]{height:43px!important;padding:0 4px!important;font-size:12px!important;letter-spacing:-.3px!important;}
 #booking-search input[type=date]::-webkit-calendar-picker-indicator{width:14px!important;margin:0!important;padding:0!important;}
 #stays.search .large-group-search-link{margin:12px 0 0!important;font-size:12px!important;}
}
