/* ==================================================
   MY CARE WIZARD - CAREGIVING PAGE
================================================== */

:root {
    --care-bg: #f4ead6;
    --care-bg-soft: #fbf5e9;
    --care-card: #fffaf0;
    --care-card-soft: #f8efdf;

    --care-green: #2d563b;
    --care-green-dark: #1f3f2c;
    --care-green-deep: #173524;
    --care-green-soft: #6f8f77;

    --care-tan: #d8c7a8;
    --care-tan-soft: #e8dcc6;

    --care-text: #21382a;
    --care-text-soft: #5d6d62;
    --care-muted: #7d897f;

    --care-border: rgba(45, 86, 59, 0.14);

    --care-shadow:
        0 18px 44px rgba(44, 68, 50, 0.10);

    --care-shadow-small:
        0 8px 24px rgba(44, 68, 50, 0.07);

    --care-radius: 20px;
    --care-radius-small: 14px;

    --care-max-width: 1240px;
}


/* ==================================================
   BASE
================================================== */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    background:
        linear-gradient(
            180deg,
            #fbf5e9 0%,
            #f4ead6 55%,
            #eee0c7 100%
        );

    color: var(--care-text);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    line-height: 1.6;
}

a {
    color: inherit;
}

button,
input {
    font: inherit;
}

.care-container {
    width: min(var(--care-max-width), 92%);
    margin: 0 auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* ==================================================
   HEADER
================================================== */

.care-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background:
        rgba(255, 250, 240, 0.94);

    backdrop-filter:
        blur(16px);

    border-bottom:
        1px solid var(--care-border);
}

.care-header-inner {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;
}

.care-logo {
    color: var(--care-green-dark);

    font-size: 24px;
    font-weight: 800;

    letter-spacing: -0.03em;

    text-decoration: none;
}

.care-nav {
    display: flex;
    align-items: center;
    gap: 8px;

    flex-wrap: wrap;
}

.care-nav a {
    padding: 10px 14px;

    border-radius: 999px;

    color: var(--care-text-soft);

    font-size: 15px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.care-nav a:hover {
    color: var(--care-green-dark);

    background:
        var(--care-bg-soft);

    transform:
        translateY(-1px);
}


/* ==================================================
   HERO
================================================== */

.care-hero {
    position: relative;

    padding:
        110px 20px 95px;

    overflow: hidden;
}

.care-hero::before {
    content: "";

    position: absolute;

    width: 450px;
    height: 450px;

    top: -170px;
    right: -120px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(111, 143, 119, 0.20),
            rgba(111, 143, 119, 0)
        );

    pointer-events: none;
}

.care-hero::after {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    bottom: -150px;
    left: -90px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(216, 199, 168, 0.38),
            rgba(216, 199, 168, 0)
        );

    pointer-events: none;
}

.care-hero-content {
    position: relative;
    z-index: 1;

    max-width: 940px;

    text-align: center;
}

.care-eyebrow,
.section-eyebrow {
    margin: 0 0 16px;

    color: var(--care-green);

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}

.care-hero h1 {
    max-width: 860px;

    margin:
        0 auto 24px;

    color:
        var(--care-green-dark);

    font-size:
        clamp(44px, 6vw, 76px);

    line-height:
        1.02;

    letter-spacing:
        -0.05em;
}

.care-hero h1 span {
    display: block;

    color:
        var(--care-green);
}

.care-hero-text {
    max-width: 760px;

    margin:
        0 auto 38px;

    color:
        var(--care-text-soft);

    font-size:
        20px;

    line-height:
        1.75;
}


/* ==================================================
   SEARCH
================================================== */

.care-search {
    max-width: 760px;

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        1fr auto;

    gap:
        10px;

    padding:
        10px;

    border:
        1px solid var(--care-border);

    border-radius:
        18px;

    background:
        rgba(255, 250, 240, 0.94);

    box-shadow:
        var(--care-shadow);
}

.care-search input {
    width: 100%;
    min-height: 56px;

    padding:
        0 18px;

    border:
        none;

    border-radius:
        12px;

    outline:
        none;

    background:
        var(--care-bg-soft);

    color:
        var(--care-text);

    font-size:
        16px;
}

.care-search input::placeholder {
    color:
        var(--care-muted);
}

.care-search input:focus {
    box-shadow:
        0 0 0 3px rgba(45, 86, 59, 0.13);
}

.care-search button {
    min-height: 56px;

    padding:
        0 22px;

    border:
        none;

    border-radius:
        12px;

    background:
        linear-gradient(
            135deg,
            var(--care-green),
            var(--care-green-dark)
        );

    color:
        #fffaf0;

    font-size:
        15px;

    font-weight:
        800;

    cursor:
        pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.care-search button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 10px 22px rgba(45, 86, 59, 0.20);
}


/* ==================================================
   QUICK NAVIGATION
================================================== */

.care-quick-nav {
    padding:
        24px 20px;

    background:
        var(--care-green-dark);
}

.care-quick-label {
    margin:
        0 0 14px;

    color:
        rgba(255, 250, 240, 0.66);

    font-size:
        13px;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        0.08em;
}

.care-quick-links {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;
}

.care-quick-links a {
    padding:
        10px 14px;

    border:
        1px solid rgba(255, 250, 240, 0.15);

    border-radius:
        999px;

    background:
        rgba(255, 250, 240, 0.07);

    color:
        #fffaf0;

    font-size:
        14px;

    font-weight:
        700;

    text-decoration:
        none;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.care-quick-links a:hover {
    background:
        rgba(255, 250, 240, 0.14);

    transform:
        translateY(-1px);
}


/* ==================================================
   GENERAL SECTIONS
================================================== */

.care-section {
    padding:
        95px 20px;
}

.care-section-heading {
    max-width:
        760px;

    margin:
        0 auto 50px;

    text-align:
        center;
}

.care-section-heading h2,
.care-intro h2 {
    margin:
        0 0 16px;

    color:
        var(--care-green-dark);

    font-size:
        clamp(34px, 4vw, 50px);

    line-height:
        1.12;

    letter-spacing:
        -0.035em;
}

.care-section-heading > p:not(.section-eyebrow) {
    margin:
        0;

    color:
        var(--care-text-soft);

    font-size:
        18px;

    line-height:
        1.75;
}


/* ==================================================
   INTRO
================================================== */

.care-intro {
    background:
        rgba(255, 250, 240, 0.48);
}

.care-intro-grid {
    display: grid;

    grid-template-columns:
        0.85fr 1.15fr;

    gap:
        70px;

    align-items:
        start;
}

.care-intro-grid p {
    margin:
        0 0 20px;

    color:
        var(--care-text-soft);

    font-size:
        18px;

    line-height:
        1.8;
}

.care-intro-grid p:last-child {
    margin-bottom:
        0;
}


/* ==================================================
   CATEGORY SECTION
================================================== */

.care-category-section {
    background:
        linear-gradient(
            180deg,
            var(--care-bg),
            var(--care-bg-soft)
        );
}

.care-category-grid {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        24px;
}

.care-category-card {
    position: relative;

    display:
        grid;

    grid-template-columns:
        auto 1fr;

    gap:
        22px;

    padding:
        30px;

    border:
        1px solid var(--care-border);

    border-radius:
        var(--care-radius);

    background:
        var(--care-card);

    box-shadow:
        var(--care-shadow-small);

    scroll-margin-top:
        110px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.care-category-card:hover {
    transform:
        translateY(-5px);

    border-color:
        rgba(45, 86, 59, 0.26);

    box-shadow:
        var(--care-shadow);
}

.care-card-number {
    width: 48px;
    height: 48px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        15px;

    background:
        linear-gradient(
            135deg,
            rgba(45, 86, 59, 0.12),
            rgba(111, 143, 119, 0.18)
        );

    color:
        var(--care-green-dark);

    font-size:
        14px;

    font-weight:
        800;
}

.care-card-label {
    display:
        inline-block;

    margin-bottom:
        9px;

    color:
        var(--care-green);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}

.care-card-content h3 {
    margin:
        0 0 14px;

    color:
        var(--care-green-dark);

    font-size:
        27px;

    line-height:
        1.2;
}

.care-card-content > p {
    margin:
        0 0 22px;

    color:
        var(--care-text-soft);

    font-size:
        16px;

    line-height:
        1.75;
}


/* ==================================================
   CATEGORY ARTICLE LINKS
================================================== */

.care-topic-list {
    display:
        grid;

    gap:
        9px;

    margin-bottom:
        24px;
}

.care-topic-list a {
    padding:
        11px 13px;

    border:
        1px solid rgba(45, 86, 59, 0.10);

    border-radius:
        10px;

    background:
        var(--care-bg-soft);

    color:
        var(--care-green-dark);

    font-size:
        14px;

    font-weight:
        700;

    text-decoration:
        none;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.care-topic-list a:hover {
    background:
        #fffaf0;

    transform:
        translateX(3px);
}

.care-view-all {
    display:
        inline-flex;

    width:
        fit-content;

    color:
        var(--care-green);

    font-size:
        14px;

    font-weight:
        800;

    text-decoration:
        none;

    border-bottom:
        2px solid rgba(45, 86, 59, 0.22);
}

.care-view-all:hover {
    color:
        var(--care-green-dark);

    border-color:
        var(--care-green-dark);
}


/* ==================================================
   CAREGIVER TOOLKIT
================================================== */

.care-toolkit {
    padding:
        95px 20px;

    background:
        var(--care-green-dark);
}

.care-toolkit-box {
    padding:
        54px;

    border-radius:
        26px;

    background:
        rgba(255, 250, 240, 0.07);

    border:
        1px solid rgba(255, 250, 240, 0.12);
}

.care-toolkit-heading {
    max-width:
        740px;

    margin-bottom:
        40px;
}

.care-toolkit .section-eyebrow {
    color:
        var(--care-tan);
}

.care-toolkit-heading h2 {
    margin:
        0 0 14px;

    color:
        #fffaf0;

    font-size:
        clamp(34px, 4vw, 48px);

    line-height:
        1.15;
}

.care-toolkit-heading p {
    margin:
        0;

    color:
        rgba(255, 250, 240, 0.67);

    font-size:
        17px;

    line-height:
        1.7;
}

.care-toolkit-grid {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        16px;
}

.toolkit-item {
    padding:
        24px;

    border:
        1px solid rgba(255, 250, 240, 0.12);

    border-radius:
        16px;

    background:
        rgba(255, 250, 240, 0.07);
}

.toolkit-item > span {
    display:
        inline-block;

    margin-bottom:
        14px;

    color:
        var(--care-tan);

    font-size:
        13px;

    font-weight:
        800;
}

.toolkit-item h3 {
    margin:
        0 0 10px;

    color:
        #fffaf0;

    font-size:
        20px;
}

.toolkit-item p {
    margin:
        0;

    color:
        rgba(255, 250, 240, 0.68);

    font-size:
        14px;

    line-height:
        1.7;
}


/* ==================================================
   FEATURED ARTICLES
================================================== */

.care-featured {
    background:
        var(--care-bg-soft);
}

.care-article-grid {
    display:
        grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        22px;
}

.care-article-card {
    display:
        flex;

    flex-direction:
        column;

    padding:
        28px;

    border:
        1px solid var(--care-border);

    border-radius:
        var(--care-radius);

    background:
        var(--care-card);

    box-shadow:
        var(--care-shadow-small);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.care-article-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        var(--care-shadow);
}

.article-topic {
    width:
        fit-content;

    margin-bottom:
        16px;

    padding:
        6px 10px;

    border-radius:
        999px;

    background:
        var(--care-tan-soft);

    color:
        var(--care-green-dark);

    font-size:
        12px;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.care-article-card h3 {
    margin:
        0 0 14px;

    color:
        var(--care-green-dark);

    font-size:
        22px;

    line-height:
        1.28;
}

.care-article-card p {
    margin:
        0 0 22px;

    color:
        var(--care-text-soft);

    font-size:
        15px;

    line-height:
        1.7;
}

.care-article-card a {
    margin-top:
        auto;

    color:
        var(--care-green);

    font-weight:
        800;

    text-decoration:
        none;
}

.care-article-card a:hover {
    color:
        var(--care-green-dark);
}


/* ==================================================
   CENTER BUTTON
================================================== */

.care-center-button {
    margin-top:
        40px;

    text-align:
        center;
}

.care-primary-button,
.care-secondary-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        52px;

    padding:
        0 22px;

    border-radius:
        12px;

    font-size:
        15px;

    font-weight:
        800;

    text-decoration:
        none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.care-primary-button {
    color:
        #fffaf0;

    background:
        linear-gradient(
            135deg,
            var(--care-green),
            var(--care-green-dark)
        );

    box-shadow:
        0 10px 24px rgba(45, 86, 59, 0.16);
}

.care-primary-button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 14px 28px rgba(45, 86, 59, 0.22);
}


/* ==================================================
   CAREGIVER REMINDER
================================================== */

.care-reminder {
    padding:
        80px 20px;

    background:
        linear-gradient(
            135deg,
            var(--care-tan-soft),
            var(--care-bg)
        );
}

.care-reminder-box {
    display:
        grid;

    grid-template-columns:
        1fr auto;

    align-items:
        center;

    gap:
        34px;

    padding:
        42px 46px;

    border:
        1px solid var(--care-border);

    border-radius:
        24px;

    background:
        rgba(255, 250, 240, 0.90);

    box-shadow:
        var(--care-shadow);
}

.care-reminder-box h2 {
    margin:
        0 0 12px;

    color:
        var(--care-green-dark);

    font-size:
        34px;

    line-height:
        1.2;
}

.care-reminder-box p {
    max-width:
        740px;

    margin:
        0;

    color:
        var(--care-text-soft);

    font-size:
        16px;

    line-height:
        1.75;
}

.care-secondary-button {
    border:
        1px solid var(--care-green);

    color:
        var(--care-green-dark);

    background:
        transparent;
}

.care-secondary-button:hover {
    color:
        #fffaf0;

    background:
        var(--care-green);

    transform:
        translateY(-2px);
}


/* ==================================================
   HEALTH NOTICE
================================================== */

.care-health-notice {
    padding:
        65px 20px 95px;

    background:
        var(--care-bg);
}

.care-health-notice-box {
    max-width:
        920px;

    margin:
        0 auto;

    padding:
        28px 30px;

    border:
        1px solid var(--care-tan);

    border-radius:
        16px;

    background:
        rgba(255, 250, 240, 0.78);
}

.care-health-notice-box h2 {
    margin:
        0 0 12px;

    color:
        var(--care-green-dark);

    font-size:
        20px;
}

.care-health-notice-box p {
    margin:
        0 0 10px;

    color:
        var(--care-text-soft);

    font-size:
        14px;

    line-height:
        1.7;
}

.care-health-notice-box p:last-child {
    margin-bottom:
        0;
}


/* ==================================================
   FOOTER
================================================== */

.care-footer {
    padding:
        70px 20px 28px;

    background:
        var(--care-green-deep);

    color:
        #fffaf0;
}

.care-footer-grid {
    display:
        grid;

    grid-template-columns:
        1.5fr repeat(3, 1fr);

    gap:
        40px;
}

.care-footer h2 {
    margin:
        0 0 14px;

    font-size:
        28px;
}

.care-footer h3 {
    margin:
        0 0 14px;

    color:
        var(--care-tan);

    font-size:
        15px;
}

.care-footer p {
    max-width:
        360px;

    color:
        rgba(255, 250, 240, 0.68);

    font-size:
        14px;

    line-height:
        1.7;
}

.care-footer a {
    display:
        block;

    margin-bottom:
        10px;

    color:
        rgba(255, 250, 240, 0.76);

    font-size:
        14px;

    text-decoration:
        none;
}

.care-footer a:hover {
    color:
        #fffaf0;
}

.care-footer-bottom {
    margin-top:
        46px;

    padding-top:
        22px;

    border-top:
        1px solid rgba(255, 250, 240, 0.10);
}

.care-footer-bottom p {
    margin:
        0;

    font-size:
        13px;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 1000px) {

    .care-intro-grid {
        grid-template-columns:
            1fr;

        gap:
            26px;
    }

    .care-category-grid {
        grid-template-columns:
            1fr;
    }

    .care-toolkit-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .care-article-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .care-footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .care-reminder-box {
        grid-template-columns:
            1fr;
    }

    .care-secondary-button {
        width:
            fit-content;
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 700px) {

    .care-header-inner {
        min-height:
            68px;

        padding:
            14px 0;

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;
    }

    .care-nav {
        width:
            100%;

        overflow-x:
            auto;

        flex-wrap:
            nowrap;

        padding-bottom:
            4px;
    }

    .care-nav a {
        flex:
            0 0 auto;
    }

    .care-hero {
        padding:
            78px 14px 70px;
    }

    .care-hero h1 {
        font-size:
            clamp(38px, 11vw, 54px);
    }

    .care-hero-text {
        font-size:
            18px;
    }

    .care-search {
        grid-template-columns:
            1fr;
    }

    .care-search button {
        width:
            100%;
    }

    .care-quick-nav {
        padding:
            20px 14px;
    }

    .care-quick-links {
        overflow-x:
            auto;

        flex-wrap:
            nowrap;

        padding-bottom:
            4px;
    }

    .care-quick-links a {
        flex:
            0 0 auto;
    }

    .care-section {
        padding:
            72px 14px;
    }

    .care-section-heading {
        margin-bottom:
            36px;
    }

    .care-section-heading h2,
    .care-intro h2 {
        font-size:
            34px;
    }

    .care-intro-grid p {
        font-size:
            17px;
    }

    .care-category-card {
        grid-template-columns:
            1fr;

        padding:
            24px;
    }

    .care-card-number {
        width:
            44px;

        height:
            44px;
    }

    .care-toolkit {
        padding:
            72px 14px;
    }

    .care-toolkit-box {
        padding:
            28px 22px;
    }

    .care-toolkit-grid {
        grid-template-columns:
            1fr;
    }

    .care-article-grid {
        grid-template-columns:
            1fr;
    }

    .care-reminder {
        padding:
            60px 14px;
    }

    .care-reminder-box {
        padding:
            28px 24px;
    }

    .care-reminder-box h2 {
        font-size:
            28px;
    }

    .care-secondary-button {
        width:
            100%;
    }

    .care-health-notice {
        padding:
            48px 14px 72px;
    }

    .care-health-notice-box {
        padding:
            22px;
    }

    .care-footer {
        padding:
            55px 14px 24px;
    }

    .care-footer-grid {
        grid-template-columns:
            1fr;
    }
}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 430px) {

    .care-container {
        width:
            94%;
    }

    .care-logo {
        font-size:
            21px;
    }

    .care-hero {
        padding-top:
            62px;
    }

    .care-hero-text {
        font-size:
            17px;
    }

    .care-card-content h3 {
        font-size:
            23px;
    }

    .care-search input,
    .care-search button {
        min-height:
            52px;
    }

    .toolkit-item {
        padding:
            20px;
    }
}