/*
Theme Name: Evolve at Lake Zurich Landing Page
Theme URI: https://evolvesenior.com
Author: Evolve Senior Living
Author URI: https://evolvesenior.com
Description: Single-page assisted living landing page theme for Evolve at Lake Zurich.
Version: 1.0
Text Domain: evolve-lake-zurich
*/

  @font-face {
    font-family: "Adobe Caslon";
    font-weight: 400;
    font-style: normal;
    src: url(fonts/font-01.woff2) format('woff2');
  }
  @font-face {
    font-family: "Adobe Caslon";
    font-weight: 700;
    font-style: normal;
    src: url(fonts/font-02.woff2) format('woff2');
  }
  @font-face {
    font-family: "Adobe Caslon";
    font-weight: 400;
    font-style: italic;
    src: url(fonts/font-03.woff2) format('woff2');
  }
  @font-face {
    font-family: "Adobe Caslon";
    font-weight: 700;
    font-style: italic;
    src: url(fonts/font-04.woff2) format('woff2');
  }

  :root{
    --navy:#1c3049;
    --navy-dark:#12202f;
    --gold:#c9a24b;
    --gold-light:#e6d3a3;
    --cream:#faf6ee;
    --tan:#efe6d3;
    --text:#2c2c2c;
    --gray:#6b7178;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    color:var(--text);
    background:var(--cream);
    line-height:1.6;
    font-size:20px;
  }
  h1,h2,h3,h4{
    font-family:'Adobe Caslon','Georgia','Palatino Linotype',serif;
    font-weight:400;
    letter-spacing:.2px;
    line-height:1.08;
    text-align:center;
  }
  h2::before{
    content:"";
    display:block;
    width:84px;
    height:62px;
    margin:0 auto 16px;
    background-image:url("images/img-01.svg");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }
  .final-cta h2::before{content:none;}
  .footer-logo{
    display:block;
    height:128px;
    width:auto;
    margin:56px auto 0;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1140px;margin:0 auto;padding:0 24px;}
  .btn.btn-center{
    display:table;
    margin-left:auto;
    margin-right:auto;
  }
  .btn{
    display:inline-block;
    padding:14px 32px;
    border-radius:0;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-weight:400;
    font-size:18.75px;
    letter-spacing:.5px;
    text-transform:uppercase;
    cursor:pointer;
    transition:all .2s ease;
    border:2px solid transparent;
  }
  .btn-gold{background:var(--gold);color:#1c1c1c;}
  .btn-gold:hover{background:#b6903e;}
  .btn-outline{background:transparent;border-color:#fff;color:#fff;}
  .btn-outline:hover{background:rgba(255,255,255,.12);}
  .btn-navy{background:var(--navy);color:#fff;}
  .btn-navy:hover{background:var(--navy-dark);}
  .btn-163349{background:#163349;color:#fff;border-color:#163349;}
  .btn-163349:hover{background:#0e2338;border-color:#0e2338;}

  .stars{color:#f2c14e;letter-spacing:2px;}

  header.masthead{
    background:var(--navy);
    padding:18px 0;
    position:sticky;
    top:0;
    z-index:100;
  }
  header.masthead .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
  .masthead-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
  .masthead-actions .btn-163349{background:#fff;color:var(--navy);border-color:#fff;}
  .masthead-actions .btn-163349:hover{background:#e8e8e8;border-color:#e8e8e8;}
  .masthead-phone{
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-weight:400;
    font-size:21.25px;
    color:var(--gold-light);
  }
  .phone-callus{color:#fff;}
  .logo-wrap{
    width:520px;
    max-width:60vw;
    display:flex;
    justify-content:flex-start;
  }
  .logo{
    display:block;
    height:77px;
    width:auto;
    margin-left:62px;
  }

  /* Trust Bar */
  .trust-bar{background:var(--navy);color:#fff;padding:30px 0;}
  .trust-bar-grid{
    display:flex;
    justify-content:space-around;
    align-items:stretch;
    flex-wrap:wrap;
    gap:24px;
    text-align:center;
  }
  .trust-stat{
    flex:1;
    min-width:140px;
    padding:0 16px;
    border-right:1px solid rgba(255,255,255,.3);
  }
  .trust-stat:last-child{border-right:none;}
  .trust-stat .num{
    display:block;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-weight:400;
    font-size:40px;
    line-height:1.1;
    margin-bottom:6px;
  }
  .trust-stat .num .star-icon{font-size:26.25px;}
  .trust-stat .label{
    display:block;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-size:15.625px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:rgba(255,255,255,.9);
  }
  @media (max-width:700px){
    .trust-stat{border-right:none;min-width:45%;}
  }

  /* Hero */
  .hero{
    position:relative;
    background:url('images/img-02.jpg') center/cover no-repeat;
    color:#fff;
    padding:30px 0 50px;
  }
  .hero-copy{
    background:rgba(75,131,185,.85);
    padding:34px 40px;
    width:fit-content;
    max-width:100%;
    transform:translateX(-110px);
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:100px;
    align-items:center;
  }
  .hero-eyebrow{
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:17.5px;
    color:var(--gold-light);
    margin-bottom:14px;
    font-weight:400;
    text-align:center;
  }
  .hero h1{
    font-size:68.75px;
    line-height:1.02;
    max-width:520px;
    margin:0 0 18px;
    text-align:center;
  }
  .hero p.lead{
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-size:21.5px;
    color:#e9ebee;
    max-width:520px;
    margin:0 0 18px;
    text-align:left;
  }
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:0;}

  /* Lead form card */

.gform_button.button {
	display: inline-block;
    padding: 14px 32px;
    border-radius: 0;
    font-family: 'Barlow Semi Condensed', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 400;
    font-size: 18.75px;
    letter-spacing: .5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .2s ease;
    border: 2px solid transparent;
	background:#1c3049;
	color:#fff;
	margin: 0 auto
}
.gform_wrapper.gravity-theme .gfield_label {
    display: inline-block;
    font-size: 20px;
	font-family: 'Barlow Semi Condensed', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 400 !important;
    margin-bottom: 8px;
    padding: 0;
}
.lead-card{
    background:rgba(255,255,255,.9);
    color:var(--text);
    border-radius:0;
    padding:22px;
    box-shadow:0 20px 45px rgba(0,0,0,.25);
  }
  .lead-card h3{
    font-size:31.25px;
    color:var(--navy);
    margin-bottom:4px;
  }
  .lead-card p{
    font-size:17.5px;
    color:var(--gray);
    margin-bottom:12px;
  }
  .form-row{margin-bottom:9px;}
  .form-row label{
    display:block;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-size:15px;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:var(--navy);
    margin-bottom:3px;
  }
  .form-row input, .form-row select{
    width:100%;
    padding:8px 12px;
    border:1px solid #d7d2c6;
    border-radius:0;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-size:17.5px;
    background:#fbfaf7;
  }
  .form-row input:focus, .form-row select:focus{outline:2px solid var(--gold);border-color:var(--gold);}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .lead-card .btn{width:100%;text-align:center;margin-top:6px;}
  .fine-print{font-size:13.75px;color:#9a9a9a;margin-top:12px;}

  /* Section shell */
  section{padding:70px 0 130px;}
  .section-head{text-align:center;max-width:680px;margin:0 auto 44px;}
  .eyebrow{
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:16.25px;
    font-weight:400;
    color:var(--gold);
    margin-bottom:10px;
  }
  .section-head h2{font-size:50px;color:var(--navy);margin-bottom:14px;line-height:1.05;}
  .section-head p{color:var(--gray);font-size:20px;}

  /* Lifestyle */
  .lifestyle{background:#fff;}
  .lifestyle-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
  }
  .lifestyle-copy{padding-right:60px;}
  .lifestyle-grid img{
    border-radius:0;
    width:93.75%;
    max-width:93.75%;
    margin-left:6.25%;
  }
  .lifestyle-list{list-style:none;margin:22px 0;}
  .lifestyle-list li{
    padding:10px 0 10px 30px;
    position:relative;
    border-bottom:1px solid var(--tan);
    font-size:18.75px;
  }
  .lifestyle-list li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:10px;
    color:var(--gold);
    font-weight:400;
  }

  /* Experience the Evolve Difference */
  .difference{background:var(--cream);}
  .difference-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
  }
  .difference-gallery{
    position:relative;
    width:125%;
    max-width:125%;
    margin-left:-25%;
    aspect-ratio:4/3;
    overflow:hidden;
  }
  .difference-gallery img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0;
    opacity:0;
    transform:scale(.94);
    transition:opacity 1.4s ease, transform 1.8s ease;
  }
  .difference-gallery img.is-active{
    opacity:1;
    transform:scale(1);
    z-index:2;
  }
  .difference-copy{padding-left:60px;}
    .difference-copy h2{font-size:50px;line-height:1.05;margin-bottom:14px;color:var(--navy);}
  .difference-copy p{color:var(--gray);margin-bottom:16px;}
  .difference-copy p:last-child{margin-bottom:0;}

  /* Amenities cards */
  .amenities{background:var(--tan);}
  .amen-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
  }
  .amen-card{
    background:radial-gradient(140% 130% at 50% -5%, #fbf6ee 0%, #fbf6ee 55%, #f3f0ea 68%, #e3e6e8 78%, #c3d0dc 88%, #a0b8cf 95%, #7a9cc8 100%);
    padding:30px 26px;
    border-radius:0;
  }
  .amen-card .amen-icon{
    display:block;
    width:74px;
    height:74px;
    margin:0 auto 16px;
  }
  .amen-card h3{
    color:var(--navy);
    font-size:25.245px;
    margin-bottom:14px;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    text-transform:uppercase;
  }
  .amen-card ul{list-style:none;font-size:17.5px;color:var(--text);}
  .amen-card ul li{padding:6px 0 6px 18px;border-bottom:1px dashed #e5ddc8;position:relative;}
  .amen-card ul li:last-child{border-bottom:none;}
  .amen-card ul li::before{content:"\2022";color:#c9a24b;position:absolute;left:0;font-weight:400;}

  /* Dining */
  .dining{background:#89525a;color:#fff;}
  .dining-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
  }
  .dining-gallery{
    position:relative;
    width:125%;
    max-width:125%;
    margin-left:-25%;
    aspect-ratio:4/3;
    overflow:hidden;
  }
  .dining-gallery img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0;
    opacity:0;
    transform:scale(.94);
    transition:opacity 1.4s ease, transform 1.8s ease;
  }
  .dining-gallery img.is-active{
    opacity:1;
    transform:scale(1);
    z-index:2;
  }
  .dining-copy{padding-left:60px;}
    .dining-copy h2{font-size:50px;line-height:1.05;margin-bottom:14px;}
  .dining-copy h2::before{background-image:url("images/img-03.svg");}
  .dining-copy p{color:rgba(255,255,255,.85);text-align:left;}
  .dining-list{list-style:none;margin:22px 0;}
  .dining-list li{
    padding:10px 0 10px 30px;
    position:relative;
    border-bottom:1px solid rgba(255,255,255,.25);
    font-size:18.75px;
  }
  .dining-list li:before{
    content:"\2713";
    position:absolute;
    left:0;
    top:10px;
    color:var(--gold);
    font-weight:400;
  }
  .btn-white{background:#fff;color:var(--navy);border-color:#fff;}
  .btn-white:hover{background:#e8e8e8;border-color:#e8e8e8;}

  /* Testimonials */
  .testimonials{background:var(--navy);color:#fff;}
  .testimonials .section-head h2{color:#fff;}
  .testimonials .section-head p{color:#c9cfd7;}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .test-card{
    padding:26px;
    font-size:18.125px;
    text-align:center;
  }
  .test-card .stars{display:block;margin-bottom:12px;}
  .video-testimonials{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;
    margin-top:44px;
  }
  .video-test video{
    width:100%;
    display:block;
    background:#000;
    border:1px solid rgba(255,255,255,.2);
  }
  .video-test-label{
    margin-top:12px;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    color:#4b83b9;
    text-align:center;
    text-transform:uppercase;
  }
  .test-card .who{
    margin-top:16px;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-weight:400;
    color:var(--gold-light);
  }

  /* Gallery Carousel */
  .gallery{overflow:hidden;}
  .carousel-wrap{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    padding:10px 0 20px;
  }
  .carousel-track{
    display:flex;
    gap:28px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:50px calc(50vw - 190px) 70px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .carousel-track::-webkit-scrollbar{display:none;}
  .carousel-slide{
    flex:0 0 auto;
    width:380px;
    scroll-snap-align:center;
    transition:transform .12s linear, opacity .12s linear;
    transform-origin:center center;
    will-change:transform,opacity;
  }
  .carousel-slide img{
    width:100%;
    height:440px;
    object-fit:cover;
    border-radius:0;
    display:block;
  }
  .carousel-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:50px;
    height:50px;
    border-radius:50%;
    border:none;
    background:#fff;
    color:var(--navy);
    font-size:35px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(0,0,0,.2);
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .carousel-arrow:hover{background:var(--gold);color:#1c1c1c;}
  .carousel-arrow-left{left:24px;}
  .carousel-arrow-right{right:24px;}

  /* Location */
  .location{background:#fff;}
  .loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
  .loc-details{text-align:center;padding-right:60px;}
  .loc-details p{margin-bottom:10px;font-size:18.75px;}
  .loc-details strong{color:var(--navy);font-weight:400;}
  .loc-grid iframe{width:100%;height:340px;border:0;border-radius:0;}

  /* Final CTA */
  .final-cta{
    background:linear-gradient(180deg, rgba(18,32,47,.85), rgba(18,32,47,.9)), url('https://evolvesenior.com/wp-content/uploads/2024/10/Evolve_at_Lake_Zurich_Exterior_Courtyard.jpg') center/cover no-repeat;
    color:#fff;
    text-align:center;
    padding:125px 0 140px;
  }
  .final-cta h2{font-size:53.125px;margin-bottom:14px;line-height:1.05;}
  .final-cta p{color:#e4e7eb;font-size:20px;margin-bottom:28px;max-width:560px;margin-left:auto;margin-right:auto;}
  .final-cta .hero-ctas{justify-content:center;}
  .final-cta .btn-163349{background:#fff;color:var(--navy);border-color:#fff;}
  .final-cta .btn-163349:hover{background:#e8e8e8;border-color:#e8e8e8;}

  footer{
    background:var(--navy-dark);
    color:#b7bdc6;
    padding:34px 0;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-size:16.25px;
  }
  footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;}
  footer a.foot-phone{color:var(--gold-light);font-weight:400;}

  /* Sticky mobile CTA */
  .sticky-cta{
    position:fixed;
    bottom:0;left:0;right:0;
    background:var(--navy-dark);
    padding:12px 16px;
    display:none;
    justify-content:space-between;
    gap:10px;
    z-index:999;
    box-shadow:0 -6px 18px rgba(0,0,0,.25);
  }
  .sticky-cta a{
    flex:1;
    text-align:center;
    padding:12px 10px;
    border-radius:0;
    font-family:'Barlow Semi Condensed','Helvetica Neue',Arial,sans-serif;
    font-weight:400;
    font-size:16.25px;
    text-transform:uppercase;
  }

  @media (max-width:900px){
    section{padding:50px 0 80px;}
    .hero{padding:24px 0 30px;}
    .final-cta{padding:80px 0 90px;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-copy{transform:none;}
    .lifestyle-grid{grid-template-columns:1fr;}
    .lifestyle-grid img{width:100%;max-width:100%;margin-left:0;}
    .dining-grid{grid-template-columns:1fr;}
    .difference-grid{grid-template-columns:1fr;}
    .lifestyle-copy{padding-right:0;}
    .difference-copy{padding-left:0;}
    .dining-copy{padding-left:0;}
    .difference-gallery{width:100%;max-width:100%;margin-left:0;}
    .dining-gallery{width:100%;max-width:100%;margin-left:0;}
    .amen-grid{grid-template-columns:1fr;}
    .test-grid{grid-template-columns:1fr;}
    .video-testimonials{grid-template-columns:repeat(2,1fr);}
    .carousel-slide{width:230px;}
    .carousel-slide img{height:290px;}
    .carousel-track{padding:30px calc(50vw - 115px) 50px;}
    .carousel-arrow{display:none;}
    .loc-grid{grid-template-columns:1fr;}
    .loc-details{padding-right:0;}
    .hero h1{font-size:50px;}
    .sticky-cta{display:flex;}
    body{padding-bottom:64px;}
  }
