.senior-page{
    --green:#00C152;
    --green-dark:#007A49;
    --ink:#24352d;
    --text:#6f756e;
    --ivory:#fbf8f1;
    --sand:#f1ebe0;
    --soft:#f4f9f5;
    --line:#e3e5df;
    background:#fff;
    color:var(--ink)
}

.senior-page .home-container{max-width:1180px}

.senior-kicker{
    display:block;
    color:var(--green-dark);
    font-size:.75rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.12em
}

.senior-hero{
    padding:2rem 0 6rem;
    background:linear-gradient(180deg,#fbf8f1 0%,#fff 100%)
}

.senior-breadcrumb{
    display:flex;
    align-items:center;
    gap:.5rem;
    color:#8a8e88;
    font-size:.86rem
}

.senior-breadcrumb a{
    color:#53685c;
    text-decoration:none;
    font-weight:850
}

.senior-hero-grid{
    display:grid;
    grid-template-columns:.96fr 1.04fr;
    gap:4.7rem;
    align-items:center;
    min-height:600px;
    padding-top:3rem
}

.senior-hero-copy h1{
    max-width:710px;
    margin:.7rem 0 1rem;
    color:#213129;
    font-size:clamp(2.65rem,4.45vw,4.45rem);
    line-height:.99;
    font-weight:950;
    letter-spacing:-.048em
}

.senior-lead{
    max-width:660px;
    margin:0;
    color:#6d756f;
    font-size:1.08rem;
    line-height:1.75
}

.senior-hero-lines{
    margin:1.7rem 0;
    border-top:1px solid #dddcd5
}

.senior-hero-lines p{
    display:flex;
    gap:.55rem;
    margin:0;
    padding:.74rem 0;
    border-bottom:1px solid #dddcd5;
    color:#6c756f
}

.senior-hero-lines i{color:var(--green)}
.senior-hero-lines strong{color:#24352d}

.senior-hero-photo{
    height:540px;
    margin:0;
    overflow:hidden;
    border-radius:1.4rem;
    box-shadow:0 24px 60px rgba(54,48,36,.1)
}

.senior-hero-photo img,
.senior-large-photo img{
    width:100%;
    height:100%;
    object-fit:cover
}

.senior-intro{padding:7rem 0}
.senior-intro-copy{max-width:920px}

.senior-intro-copy h2,
.senior-copy h2,
.senior-access-copy h2,
.senior-aids-grid h2,
.senior-family-grid h2,
.senior-quote-copy h2,
.senior-final-inner h2,
.senior-faq-head h2{
    margin:.55rem 0 0;
    color:#213129;
    font-size:clamp(2rem,3.15vw,3.15rem);
    line-height:1.04;
    font-weight:950;
    letter-spacing:-.038em
}

.senior-intro-copy>p{
    max-width:830px;
    margin:1rem 0 0;
    color:#71786f;
    font-size:1.06rem;
    line-height:1.8
}

.senior-home,
.senior-destination{
    padding:7rem 0
}

.senior-home{background:#f8f4eb}
.senior-destination{background:#fff}

.senior-media-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:4.6rem;
    align-items:center
}

.senior-media-grid-reverse{
    grid-template-columns:.92fr 1.08fr
}

.senior-large-photo{
    height:560px;
    margin:0;
    overflow:hidden;
    border-radius:1.4rem
}

.senior-copy>p{
    margin:1rem 0 0;
    color:#70786f;
    font-size:1.02rem;
    line-height:1.8
}

.senior-text-lines{
    margin-top:1.5rem;
    border-top:1px solid #deddd6
}

.senior-text-lines p{
    margin:0;
    padding:.74rem 0;
    border-bottom:1px solid #deddd6;
    color:#6b756e
}

.senior-inline-link{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin-top:1.3rem;
    color:var(--green-dark);
    text-decoration:none;
    font-weight:950
}

.senior-access{padding:7rem 0}

.senior-access-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:5rem;
    align-items:center
}

.senior-access-copy>p{
    margin:1rem 0 0;
    color:#70786f;
    line-height:1.78
}

.senior-access-list{border-top:1px solid var(--line)}

.senior-access-list>div{
    display:grid;
    grid-template-columns:3rem 1fr 1.45fr;
    gap:1rem;
    align-items:center;
    padding:1.08rem 0;
    border-bottom:1px solid var(--line)
}

.senior-access-list span{
    color:#9aa19c;
    font-size:.74rem;
    font-weight:950
}

.senior-access-list strong{color:#24352d}

.senior-access-list p{
    margin:0;
    color:#788079;
    line-height:1.55
}

.senior-aids{
    padding:7rem 0;
    background:#edf6ef
}

.senior-aids-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem;
    align-items:start
}

.senior-aids-grid>div:first-child>p{
    margin:1rem 0 0;
    color:#637267;
    line-height:1.78
}

.senior-aids-links{border-top:1px solid #cfded3}

.senior-aids-links a{
    display:grid;
    grid-template-columns:1fr auto;
    gap:1rem;
    padding:1.2rem 0;
    border-bottom:1px solid #cfded3;
    color:#24352d;
    text-decoration:none
}

.senior-aids-links span,
.senior-aids-links strong,
.senior-aids-links small{
    display:block
}

.senior-aids-links span{
    color:var(--green-dark);
    font-size:.7rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.08em
}

.senior-aids-links strong{
    margin-top:.18rem;
    font-size:1.05rem
}

.senior-aids-links small{
    margin-top:.15rem;
    color:#768179
}

.senior-aids-links i{
    align-self:center;
    color:var(--green-dark)
}

.senior-family{
    padding:7rem 0;
    background:#fbf8f1
}

.senior-family-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem
}

.senior-family-grid>div>p{
    margin:1rem 0 0;
    color:#716f68;
    line-height:1.78
}

.senior-related{border-top:1px solid #dfddd5}

.senior-related a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.92rem 0;
    border-bottom:1px solid #dfddd5;
    color:#24352d;
    text-decoration:none;
    font-weight:900
}

.senior-related i{color:var(--green-dark)}

.senior-quote{
    padding:7rem 0;
    background:#f4f9f5
}

.senior-quote-grid{
    display:grid;
    grid-template-columns:.76fr 1.24fr;
    gap:5rem;
    align-items:start
}

.senior-quote-copy>p{
    margin:1rem 0 0;
    color:#6b786f;
    line-height:1.75
}

.senior-quote-note{
    padding-top:1.1rem;
    border-top:1px solid #d6e2d8
}

.senior-quote-note i{
    margin-right:.35rem;
    color:var(--green-dark)
}

.senior-quote-note a{
    color:var(--green-dark);
    font-weight:900
}

.senior-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem 1.1rem
}

.senior-field label{
    display:block;
    margin-bottom:.4rem;
    color:#5f7065;
    font-size:.78rem;
    font-weight:900
}

.senior-field .form-control,
.senior-field .form-select,
.senior-field .input-group-text{
    min-height:50px;
    border-color:#d4e0d6
}

.senior-field .form-control,
.senior-field .form-select{
    border-radius:.7rem
}

.senior-field .input-group .form-control{
    border-radius:.7rem 0 0 .7rem
}

.senior-field .input-group-text{
    border-radius:0 .7rem .7rem 0;
    background:#fff;
    color:#748078
}

.senior-submit{
    grid-column:1/-1;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    border:0;
    border-radius:.7rem;
    background:var(--green);
    color:#fff;
    font-weight:950
}

.senior-final{padding:6.5rem 0}

.senior-final-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:4rem
}

.senior-final-inner>div:first-child{max-width:760px}

.senior-final-inner p{
    max-width:680px;
    margin:.9rem 0 0;
    color:#6c786f;
    line-height:1.7
}

.senior-final-actions{
    min-width:245px;
    display:flex;
    flex-direction:column;
    gap:.6rem
}

.senior-faq{
    padding:7rem 0;
    background:#f7f8f5
}

.senior-faq-head{
    max-width:760px;
    margin:0 auto 2.5rem
}

.senior-faq-list{max-width:900px}

.senior-faq-list .accordion-button{
    color:#24352d;
    font-weight:850
}

.senior-faq-list .accordion-button:not(.collapsed){
    color:var(--green-dark);
    background:#eff7f1;
    box-shadow:none
}

.senior-faq-list .accordion-button:focus{box-shadow:none}

[data-reveal]{
    opacity:0;
    transform:translateY(20px);
    transition:opacity .6s ease,transform .6s ease
}

[data-reveal].is-visible{
    opacity:1;
    transform:none
}

@media(prefers-reduced-motion:reduce){
    [data-reveal]{
        opacity:1;
        transform:none;
        transition:none
    }
}

@media(max-width:991.98px){
    .senior-hero-grid,
    .senior-media-grid,
    .senior-media-grid-reverse,
    .senior-access-grid,
    .senior-aids-grid,
    .senior-family-grid,
    .senior-quote-grid{
        grid-template-columns:1fr;
        gap:3rem
    }

    .senior-hero-photo{height:460px}
    .senior-large-photo{height:470px}

    .senior-final-inner{
        align-items:flex-start;
        flex-direction:column
    }

    .senior-final-actions{
        min-width:0;
        flex-direction:row
    }
}

@media(max-width:767.98px){
    .senior-hero{padding-bottom:4.5rem}
    .senior-hero-grid{min-height:0;padding-top:3.5rem}
    .senior-hero-copy h1{font-size:2.65rem}

    .senior-intro,
    .senior-home,
    .senior-access,
    .senior-aids,
    .senior-destination,
    .senior-family,
    .senior-quote,
    .senior-final,
    .senior-faq{
        padding-top:5rem;
        padding-bottom:5rem
    }

    .senior-hero-photo,
    .senior-large-photo{
        height:390px
    }

    .senior-form{grid-template-columns:1fr}
    .senior-submit{grid-column:auto}
}

@media(max-width:575.98px){
    .senior-hero-copy h1{font-size:2.35rem}

    .senior-intro-copy h2,
    .senior-copy h2,
    .senior-access-copy h2,
    .senior-aids-grid h2,
    .senior-family-grid h2,
    .senior-quote-copy h2,
    .senior-final-inner h2,
    .senior-faq-head h2{
        font-size:2rem
    }

    .senior-hero-photo,
    .senior-large-photo{
        height:330px
    }

    .senior-access-list>div{
        grid-template-columns:2.5rem 1fr
    }

    .senior-access-list p{grid-column:2}

    .senior-final-actions{
        flex-direction:column;
        width:100%
    }
}
