/* CompassionCloud homepage — consolidated, scoped presentation layer. */

:root {
    --home-navy: #17263b;
    --home-blue: #347fca;
    --home-blue-dark: #2466a5;
    --home-blue-soft: #eaf4ff;
    --home-mint: #8fd8ba;
    --home-coral: #f27d68;
    --home-text: #5d6b7e;
    --home-line: #dfe8f2;
    --home-bg: #f5f8fc;
    --home-white: #fff;
    --home-shadow: 0 22px 55px rgba(27, 58, 94, 0.12);
}

html { scroll-behavior: smooth; }

.home-main {
    width: 100%;
    overflow: hidden;
    color: var(--home-navy);
    background: var(--home-bg);
}

.home-main *,
.home-main *::before,
.home-main *::after { box-sizing: border-box; }

.home-main .container {
    width: min(100% - 40px, 1200px);
    max-width: 1200px;
    margin-inline: auto;
    padding: 0;
}

.home-main .sec { padding: 92px 24px; }
.home-main .sec--alt { background: var(--home-white); }

.home-main .eyebrow {
    margin: 0 0 13px;
    color: var(--home-blue-dark);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.home-main .eyebrow--center { text-align: center; }

.home-main .sec-title {
    max-width: 760px;
    margin: 0 auto 15px;
    color: var(--home-navy);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.045em;
    text-align: center;
}

.home-main .sec-sub {
    max-width: 650px;
    margin: 0 auto 44px;
    color: var(--home-text);
    font-size: 1.02rem;
    line-height: 1.65;
    text-align: center;
}

.home-main .btn-cta {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border: 1px solid var(--home-blue);
    border-radius: 11px;
    color: #fff;
    background: var(--home-blue);
    box-shadow: 0 10px 24px rgba(52, 127, 202, 0.22);
    font-weight: 750;
    text-decoration: none;
}

.home-main .btn-cta:hover {
    color: #fff;
    background: var(--home-blue-dark);
    transform: translateY(-1px);
}

.home-main .btn-cta svg { width: 17px; height: 17px; }

/* Hero */
.home-main .hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: center;
    padding: 82px 24px;
    isolation: isolate;
    text-align: left;
    background:
        linear-gradient(90deg, rgba(12, 28, 46, 0.94) 0%, rgba(12, 28, 46, 0.82) 40%, rgba(12, 28, 46, 0.22) 75%, rgba(12, 28, 46, 0.08) 100%),
        url('../assets/church-care-team-hero-v2.png') center / cover no-repeat;
}

.home-main .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(7, 20, 34, 0.02), rgba(7, 20, 34, 0.3));
}

.home-main .hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 680px);
    align-items: center;
    justify-content: start;
}

.home-main .hero-copy { position: relative; z-index: 1; }

.home-main .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 22px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.11);
    box-shadow: none;
    backdrop-filter: blur(9px);
    font-size: .82rem;
    font-weight: 700;
}

.home-main .hero-badge svg { width: 17px; height: 17px; }

.home-main .hero h1 {
    max-width: 680px;
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(2.75rem, 5vw, 4.65rem);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.06em;
    text-shadow: none;
}

.home-main .hero-sub {
    max-width: 610px;
    margin: 0 0 29px;
    color: rgba(255,255,255,.84);
    font-size: 1.1rem;
    line-height: 1.68;
    text-shadow: none;
}

.home-main .hero-cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 11px;
    margin: 0 0 24px;
}

.home-main .hero-primary {
    border-color: var(--home-blue);
    background: linear-gradient(135deg, #418ed8, var(--home-blue-dark));
}

.home-main .hero .btn-cta.secondary {
    color: #fff;
    border-color: rgba(255,255,255,.42);
    background: rgba(255,255,255,.1);
    box-shadow: none;
    backdrop-filter: blur(8px);
}

.home-main .hero .btn-cta.secondary:hover {
    color: #fff;
    background: rgba(255,255,255,.18);
}

.home-main .hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    color: rgba(255,255,255,.78);
    font-size: .78rem;
    text-shadow: none;
}

.home-main .hero-trust span { display: inline-flex; align-items: center; gap: 6px; }
.home-main .hero-trust svg { width: 15px; height: 15px; color: var(--home-mint); }

/* Parallax image sections */
.home-main .parallax-section {
    position: relative;
    min-height: 590px;
    display: flex;
    align-items: center;
    padding: 86px 24px;
    isolation: isolate;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.home-main .parallax-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(15,31,50,.12), rgba(15,31,50,.68));
}

.home-main .parallax-care {
    background-image: url('../assets/church-community-care-v2.png');
    background-position: center 42%;
}

.home-main .parallax-impact {
    min-height: 540px;
    text-align: center;
    background-image: url('../assets/church-impact-review.png');
}

.home-main .parallax-impact::before { background: rgba(12,27,45,.71); }

.home-main .parallax-mobile {
    background-image: url('../assets/mobile-outreach-update.png');
    background-position: center 44%;
}

.home-main .parallax-mobile::before {
    background: linear-gradient(90deg, rgba(15,31,50,.08), rgba(15,31,50,.24) 46%, rgba(15,31,50,.78));
}

.home-main .parallax-content { display: flex; justify-content: flex-end; }
.home-main .parallax-content--right { justify-content: flex-end; }

.home-main .parallax-card {
    width: min(100%, 575px);
    padding: clamp(28px, 4.5vw, 46px);
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 21px;
    background: rgba(255,255,255,.93);
    box-shadow: 0 26px 65px rgba(8,22,38,.25);
    backdrop-filter: blur(14px);
}

.home-main .parallax-card h2,
.home-main .product-copy h2 {
    margin: 0 0 18px;
    color: var(--home-navy);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.048em;
}

.home-main .parallax-card > p:not(.eyebrow) {
    margin: 0;
    color: var(--home-text);
    font-size: 1rem;
    line-height: 1.72;
}

.home-main .check-list {
    display: grid;
    gap: 14px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.home-main .check-list li { display: flex; align-items: flex-start; gap: 10px; color: var(--home-text); line-height: 1.52; }
.home-main .check-list strong { color: var(--home-navy); }
.home-main .check-list li > svg { width: 21px; height: 21px; flex: 0 0 21px; padding: 4px; border-radius: 50%; color: #287858; background: #dff4ea; }

.home-main .text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--home-blue-dark);
    font-weight: 800;
    text-decoration: none;
}
.home-main .text-link svg { width: 17px; }

.home-main .parallax-center {
    max-width: 760px;
    margin-inline: auto;
    padding: 38px 42px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 23px;
    color: #fff;
    background: rgba(12,27,45,.64);
    box-shadow: 0 24px 65px rgba(4,14,27,.3);
    backdrop-filter: blur(12px);
}

.home-main .parallax-center .eyebrow { color: #91caff; }
.home-main .parallax-center h2 { margin: 0 0 17px; font-size: clamp(2.1rem,4vw,3.25rem); line-height: 1.08; letter-spacing: -.05em; }
.home-main .parallax-center > p:not(.eyebrow) { max-width: 650px; margin: 0 auto; color: rgba(255,255,255,.8); line-height: 1.68; }

.home-main .impact-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 25px; }
.home-main .impact-chips span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(255,255,255,.1); font-size: .74rem; font-weight: 750; }
.home-main .impact-chips svg { width: 15px; color: var(--home-mint); }

.home-main .parallax-kicker { display: inline-flex; align-items: center; gap: 8px; margin-top: 21px; color: var(--home-blue-dark); font-size: .84rem; font-weight: 800; }
.home-main .parallax-kicker svg { width: 18px; }

/* Value cards */
.home-main .value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home-main .value-card,
.home-main .usecase-card {
    padding: 25px;
    border: 1px solid var(--home-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(30,63,100,.055);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}

.home-main .value-card:hover,
.home-main .usecase-card:hover { transform: translateY(-4px); border-color: #bfd4e9; box-shadow: 0 18px 38px rgba(30,63,100,.1); }

.home-main .value-card__icon,
.home-main .usecase-card__icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 12px;
    color: var(--home-blue-dark);
    background: var(--home-blue-soft);
}

.home-main .value-card__icon svg,
.home-main .usecase-card__icon svg { width: 21px; height: 21px; }
.home-main .value-card__title,
.home-main .usecase-card__title { margin: 0 0 8px; color: var(--home-navy); font-size: 1.05rem; }
.home-main .value-card__desc,
.home-main .usecase-card__desc { margin: 0; color: var(--home-text); font-size: .92rem; line-height: 1.62; }

/* Steps */
.home-main .steps {
    max-width: 1040px;
    display: grid;
    grid-template-columns: 1fr 34px 1fr 34px 1fr;
    align-items: stretch;
    gap: 8px;
    margin-inline: auto;
}

.home-main .step { padding: 27px 22px; border: 1px solid var(--home-line); border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(30,63,100,.06); text-align: center; }
.home-main .step__num { width: 42px; height: 42px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 12px; color: #fff; background: linear-gradient(135deg,var(--home-blue),var(--home-blue-dark)); font-weight: 800; }
.home-main .step__title { margin: 0 0 7px; color: var(--home-navy); font-size: 1.08rem; }
.home-main .step__desc { margin: 0; color: var(--home-text); font-size: .91rem; line-height: 1.58; }
.home-main .step-arrow { display: grid; place-items: center; color: var(--home-blue); }
.home-main .step-arrow svg { width: 20px; }

/* Dark product preview */
.home-main .product-preview { overflow: hidden; background: var(--home-navy); }
.home-main .product-layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: center; gap: 58px; }
.home-main .product-copy .eyebrow { color: #8bc4ff; }
.home-main .product-copy h2 { color: #fff; }
.home-main .product-copy > p:not(.eyebrow) { margin: 0; color: #b9c5d4; line-height: 1.7; }
.home-main .product-points { display: grid; gap: 17px; margin-top: 27px; }
.home-main .product-points > div { display: flex; gap: 12px; align-items: flex-start; }
.home-main .product-points > div > span { width: 40px; height: 40px; display: grid; flex: 0 0 40px; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; color: #8bc4ff; background: rgba(255,255,255,.07); }
.home-main .product-points svg { width: 18px; }
.home-main .product-points p,
.home-main .product-points strong,
.home-main .product-points small { display: block; margin: 0; }
.home-main .product-points strong { color: #fff; font-size: .91rem; }
.home-main .product-points small { margin-top: 3px; color: #a8b7c8; font-size: .78rem; line-height: 1.5; }

.home-main .dashboard-window { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 19px; background: #f7f9fc; box-shadow: 0 30px 70px rgba(4,13,27,.38); }
.home-main .dashboard-window__bar,
.home-main .shot-browser-bar { display: flex; align-items: center; gap: 6px; padding: 11px 13px; border-bottom: 1px solid #dce4ee; background: #edf2f7; }
.home-main .dashboard-window__bar > span,
.home-main .shot-browser-bar > span { width: 8px; height: 8px; border-radius: 50%; background: #c1cddb; }
.home-main .dashboard-window__bar small,
.home-main .shot-browser-bar small { margin-left: 7px; color: #718097; font-size: .57rem; }
.home-main .dashboard-window__body { padding: 21px; }
.home-main .dashboard-window__header,
.home-main .shot-topline { display: flex; align-items: center; justify-content: space-between; gap: 11px; }
.home-main .dashboard-window__header { margin-bottom: 15px; }
.home-main .dashboard-window__header small,
.home-main .dashboard-window__header strong,
.home-main .shot-topline small,
.home-main .shot-topline h3 { display: block; margin: 0; }
.home-main .dashboard-window__header small,
.home-main .shot-topline small { color: #7c899b; font-size: .5rem; font-weight: 800; letter-spacing: .09em; }
.home-main .dashboard-window__header strong { margin-top: 3px; color: var(--home-navy); font-size: 1.2rem; }
.home-main .preview-button,
.home-main .shot-primary { display: inline-flex; align-items: center; gap: 5px; padding: 8px 10px; border-radius: 8px; color: #fff; background: var(--home-blue); font-size: .58rem; font-weight: 800; }
.home-main .preview-button svg,
.home-main .shot-primary svg { width: 12px; }
.home-main .preview-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.home-main .preview-stats > div { padding: 11px; border: 1px solid #e3eaf2; border-radius: 10px; background: #fff; }
.home-main .preview-stat-icon { width: 27px; height: 27px; display: grid; place-items: center; margin-bottom: 9px; border-radius: 8px; }
.home-main .preview-stat-icon svg { width: 13px; }
.home-main .preview-stat-icon.blue { color:#246cac;background:#e9f3ff; }
.home-main .preview-stat-icon.mint { color:#267456;background:#e2f5ed; }
.home-main .preview-stat-icon.coral { color:#aa4f3f;background:#feebe7; }
.home-main .preview-stats small,
.home-main .preview-stats strong { display:block; }
.home-main .preview-stats small { overflow:hidden;color:#8290a3;font-size:.42rem;font-weight:800;letter-spacing:.05em;white-space:nowrap; }
.home-main .preview-stats strong { margin-top:3px;color:var(--home-navy);font-size:1.05rem; }
.home-main .preview-list { margin-top:11px;overflow:hidden;border:1px solid #e3eaf2;border-radius:10px;background:#fff; }
.home-main .preview-list > div { display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 11px;border-bottom:1px solid #edf1f6; }
.home-main .preview-list > div:last-child { border-bottom:0; }
.home-main .preview-list__head { color:#78879a;background:#f7f9fc;font-size:.48rem;font-weight:800;text-transform:uppercase; }
.home-main .preview-list > div > span { display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-items:center; }
.home-main .preview-list b,
.home-main .preview-list small { grid-column:2;color:var(--home-navy);font-size:.55rem; }
.home-main .preview-list small { color:#8592a3;font-size:.46rem; }
.home-main .preview-avatar { grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#2365a2;background:#e8f3ff;font-size:.46rem;font-style:normal;font-weight:800; }
.home-main .preview-avatar.coral { color:#a75041;background:#ffebe7; }
.home-main .preview-avatar.mint { color:#267456;background:#e2f5ed; }
.home-main .status-pill { padding:5px 7px;border-radius:999px;font-size:.43rem;font-style:normal;font-weight:800;white-space:nowrap; }
.home-main .status-pill.complete { color:#277457;background:#e0f4eb; }
.home-main .status-pill.pending { color:#a34c3d;background:#ffebe7; }

/* Events feature showcase */
.home-main .events-showcase { overflow:hidden;background:#f5f8fc; }
.home-main .events-showcase--registration { background:radial-gradient(circle at 8% 10%,rgba(52,127,202,.12),transparent 28rem),#f5f8fc; }
.home-main .events-showcase__layout { display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:58px;align-items:center; }
.home-main .events-showcase__layout--reverse { grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr); }
.home-main .events-showcase__layout--reverse .events-showcase__visual { order:2; }
.home-main .events-showcase__visual { position:relative;min-width:0; }
.home-main .events-showcase__visual::before { content:'';position:absolute;inset:9% -4% -7% 8%;border-radius:28px;background:linear-gradient(135deg,rgba(52,127,202,.18),rgba(143,216,186,.18));filter:blur(2px); }
.home-main .events-showcase__visual img { position:relative;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid rgba(23,38,59,.1);border-radius:22px;box-shadow:0 28px 65px rgba(27,58,94,.2); }
.home-main .events-showcase__tag { position:absolute;right:-18px;bottom:24px;display:flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid rgba(52,127,202,.18);border-radius:999px;color:#205f9b;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(27,58,94,.18);font-size:.76rem;font-weight:800;white-space:nowrap; }
.home-main .events-showcase__tag svg { width:17px;height:17px; }
.home-main .events-showcase__tag--mint { color:#226e51;border-color:rgba(52,148,107,.2); }
.home-main .events-showcase__copy h2 { margin:0 0 18px;color:var(--home-navy);font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.045em; }
.home-main .events-showcase__copy > p:not(.eyebrow) { margin:0;color:var(--home-text);line-height:1.72; }
.home-main .events-showcase__copy .check-list { margin-top:25px; }
.home-main .events-feature-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px; }
.home-main .events-feature-grid article { display:flex;gap:11px;padding:16px;border:1px solid var(--home-line);border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(30,63,100,.055); }
.home-main .events-feature-grid article > span { width:34px;height:34px;display:grid;flex:0 0 34px;place-items:center;border-radius:9px;color:var(--home-blue-dark);background:var(--home-blue-soft); }
.home-main .events-feature-grid svg { width:16px;height:16px; }
.home-main .events-feature-grid strong,
.home-main .events-feature-grid small { display:block; }
.home-main .events-feature-grid strong { color:var(--home-navy);font-size:.83rem; }
.home-main .events-feature-grid small { margin-top:4px;color:var(--home-text);font-size:.72rem;line-height:1.45; }

/* Platform screen gallery */
.home-main .platform-gallery { background: radial-gradient(circle at 80% 10%,rgba(74,144,226,.11),transparent 24rem),#f5f8fc; }
.home-main .platform-shot-grid { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.72fr);gap:21px;align-items:stretch; }
.home-main .platform-shot,
.home-main .platform-phone { overflow:hidden;border:1px solid #dbe5ef;background:#fff;box-shadow:var(--home-shadow); }
.home-main .platform-shot { border-radius:17px; }
.home-main .platform-shot--family { grid-row:span 2; }
.home-main .family-shot,
.home-main .followup-shot { padding:clamp(18px,3vw,27px); }
.home-main .shot-topline h3 { margin-top:4px;color:var(--home-navy);font-size:clamp(1.12rem,2.5vw,1.5rem); }
.home-main .shot-tabs { display:flex;gap:6px;margin:21px 0 17px;padding:6px;overflow-x:auto;border-radius:10px;background:#f1f5f9; }
.home-main .shot-tabs > * { min-width:max-content;padding:8px 10px;color:#748297;border-radius:7px;font-size:.56rem; }
.home-main .shot-tabs b { color:var(--home-blue-dark);background:#fff;box-shadow:0 2px 6px rgba(30,63,100,.08); }
.home-main .shot-info-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:9px; }
.home-main .shot-info-grid > div { padding:13px;border:1px solid #e3eaf2;border-radius:10px;background:#fbfcfe; }
.home-main .shot-info-grid small,
.home-main .shot-info-grid strong { display:block; }
.home-main .shot-info-grid small { color:#8390a2;font-size:.46rem;font-weight:800;letter-spacing:.06em; }
.home-main .shot-info-grid strong { margin-top:5px;color:var(--home-navy);font-size:.67rem; }
.home-main .shot-success { color:#27805d!important; }
.home-main .shot-note { display:flex;gap:10px;align-items:center;margin-top:11px;padding:13px;border:1px solid #dce8f3;border-radius:10px;background:#f2f8ff; }
.home-main .shot-note > span { width:34px;height:34px;display:grid;flex:0 0 34px;place-items:center;border-radius:9px;color:var(--home-blue-dark);background:#dfefff; }
.home-main .shot-note svg { width:16px; }
.home-main .shot-note p,
.home-main .shot-note small,
.home-main .shot-note strong { display:block;margin:0; }
.home-main .shot-note small { color:#748397;font-size:.44rem;font-weight:800; }
.home-main .shot-note strong { margin-top:3px;color:var(--home-navy);font-size:.61rem;line-height:1.45; }
.home-main .shot-topline > em { padding:5px 8px;border-radius:999px;color:#a14c3e;background:#ffebe7;font-size:.51rem;font-style:normal;font-weight:800; }
.home-main .followup-row { display:flex;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid #ebf0f5; }
.home-main .followup-row:last-child { border-bottom:0; }
.home-main .followup-row > span { min-width:0;flex:1; }
.home-main .followup-row b,
.home-main .followup-row small { display:block; }
.home-main .followup-row b { overflow:hidden;color:var(--home-navy);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap; }
.home-main .followup-row small { margin-top:2px;color:#8491a3;font-size:.48rem; }

.home-main .platform-phone { width:min(100%,270px);align-self:center;justify-self:center;padding:9px;border:7px solid #19293e;border-radius:33px;background:#19293e; }
.home-main .phone-speaker { width:52px;height:5px;margin:2px auto 9px;border-radius:999px;background:#526278; }
.home-main .phone-ui { min-height:385px;padding:16px 13px;border-radius:21px;background:#f6f9fd; }
.home-main .phone-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--home-blue-dark); }
.home-main .phone-head > span { width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--home-blue); }
.home-main .phone-head svg { width:16px; }
.home-main .phone-ui > small { color:#8290a3;font-size:.43rem;font-weight:800;letter-spacing:.09em; }
.home-main .phone-ui > h3 { margin:3px 0 14px;color:var(--home-navy);font-size:1.16rem; }
.home-main .phone-stat { display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #dfe7f0;border-radius:10px;background:#fff; }
.home-main .phone-stat > span { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:var(--home-blue-dark);background:#e5f2ff; }
.home-main .phone-stat svg { width:15px; }
.home-main .phone-stat p,
.home-main .phone-stat small,
.home-main .phone-stat strong { display:block;margin:0; }
.home-main .phone-stat small { color:#7f8da0;font-size:.4rem;font-weight:800; }
.home-main .phone-stat strong { color:var(--home-navy);font-size:.96rem; }
.home-main .phone-family { display:grid;grid-template-columns:28px 1fr 15px;gap:8px;align-items:center;margin-top:9px;padding:10px;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(30,63,100,.06); }
.home-main .phone-family b,
.home-main .phone-family small { display:block; }
.home-main .phone-family b { color:var(--home-navy);font-size:.53rem; }
.home-main .phone-family small { color:#8290a3;font-size:.41rem; }
.home-main .phone-family > svg { width:14px;color:#8b98a9; }
.home-main .phone-add { display:flex;align-items:center;justify-content:center;gap:5px;margin-top:13px;padding:9px;border-radius:9px;color:#fff;background:var(--home-blue);font-size:.53rem;font-weight:800; }
.home-main .phone-add svg { width:13px; }

/* Feature and use-case grids */
.home-main .feat-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px; }
.home-main .feat-item { display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--home-line);border-radius:13px;background:#fff; }
.home-main .feat-item__icon { width:34px;height:34px;flex:0 0 34px;color:var(--home-blue); }
.home-main .feat-item__icon svg { width:100%;height:100%; }
.home-main .feat-item__text { color:var(--home-navy);font-size:.91rem;font-weight:650; }
.home-main .usecase-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }

.home-main .vizie-sec { padding:50px 24px;background:var(--home-navy);text-align:center; }
.home-main .vizie-sec .sec-title { color:#fff; }
.home-main .vizie-sec .sec-sub { margin-bottom:0;color:rgba(255,255,255,.72); }
.home-main .vizie-sec a { color:var(--home-mint);font-weight:750; }

.home-main .cta-sec { position:relative;overflow:hidden;padding:90px 24px;text-align:center;background:linear-gradient(135deg,#347fca,#205e9a); }
.home-main .cta-sec::before { content:'';position:absolute;width:26rem;height:26rem;top:-18rem;left:-8rem;border:1px solid rgba(255,255,255,.13);border-radius:50%; }
.home-main .cta-sec .container { position:relative;z-index:1; }
.home-main .cta-sec .sec-title { color:#fff; }
.home-main .cta-sec .sec-sub { color:rgba(255,255,255,.86); }
.home-main .cta-sec .hero-cta { justify-content:center;margin-bottom:0; }

.home-main .animate-in { opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease; }
.home-main .animate-in.visible { opacity:1;transform:none; }
.home-main .animate-in.delay-1 { transition-delay:.08s; }
.home-main .animate-in.delay-2 { transition-delay:.16s; }
.home-main .animate-in.delay-3 { transition-delay:.24s; }

@media (max-width: 960px) {
    .home-main .hero { min-height:650px;background-position:62% center; }
    .home-main .parallax-section { min-height:550px;background-attachment:scroll; }
    .home-main .parallax-care { background-position:42% center; }
    .home-main .parallax-mobile { background-position:38% center; }
    .home-main .product-layout { grid-template-columns:1fr;gap:40px; }
    .home-main .product-copy,
    .home-main .dashboard-window { width:min(100%,700px);margin-inline:auto; }
    .home-main .steps { max-width:640px;grid-template-columns:1fr;gap:13px; }
    .home-main .step-arrow { display:none; }
    .home-main .platform-shot-grid { grid-template-columns:1fr; }
    .home-main .platform-shot--family { grid-row:auto; }
    .home-main .events-showcase__layout,
    .home-main .events-showcase__layout--reverse { grid-template-columns:1fr;gap:42px; }
    .home-main .events-showcase__layout--reverse .events-showcase__visual { order:0; }
    .home-main .events-showcase__copy { width:min(100%,720px);margin-inline:auto; }
}

@media (max-width: 720px) {
    .home-main .container { width:min(100% - 28px,1200px); }
    .home-main .sec { padding:66px 14px; }
    .home-main .sec-title,
    .home-main .parallax-card h2,
    .home-main .product-copy h2 { font-size:clamp(1.85rem,9vw,2.45rem); }
    .home-main .sec-sub { margin-bottom:34px;font-size:.95rem; }
    .home-main .hero { min-height:640px;padding:58px 14px;background-position:66% center; }
    .home-main .hero::before { background:rgba(8,22,38,.59); }
    .home-main .hero-copy { text-align:center; }
    .home-main .hero h1 { font-size:clamp(2.15rem,11vw,3.15rem);line-height:1.02; }
    .home-main .hero-sub { font-size:1rem; }
    .home-main .hero-cta { flex-direction:column; }
    .home-main .hero-cta .btn-cta { width:100%; }
    .home-main .hero-trust { display:grid;width:fit-content;margin-inline:auto;text-align:left; }
    .home-main .parallax-section { min-height:520px;padding:62px 14px;background-position:center; }
    .home-main .parallax-section::before,
    .home-main .parallax-mobile::before { background:rgba(12,27,45,.58); }
    .home-main .parallax-content { justify-content:center; }
    .home-main .parallax-card,
    .home-main .parallax-center { padding:25px 21px;border-radius:17px; }
    .home-main .parallax-center h2 { font-size:clamp(1.85rem,9vw,2.4rem); }
    .home-main .impact-chips { flex-direction:column;align-items:stretch; }
    .home-main .impact-chips span { justify-content:center; }
    .home-main .value-grid,
    .home-main .feat-grid,
    .home-main .usecase-grid { grid-template-columns:1fr; }
    .home-main .value-card,
    .home-main .usecase-card,
    .home-main .step { padding:21px; }
    .home-main .dashboard-window { border-radius:14px; }
    .home-main .dashboard-window__body { padding:13px; }
    .home-main .preview-stats { grid-template-columns:1fr; }
    .home-main .preview-stats > div { display:grid;grid-template-columns:30px 1fr;column-gap:8px; }
    .home-main .preview-stat-icon { grid-row:1/3;margin:0; }
    .home-main .shot-info-grid { grid-template-columns:1fr; }
    .home-main .shot-primary { width:34px;height:34px;padding:0;justify-content:center;overflow:hidden;font-size:0; }
    .home-main .platform-phone { width:min(100%,260px); }
    .home-main .events-showcase__visual img { border-radius:16px; }
    .home-main .events-showcase__tag { right:12px;bottom:14px;max-width:calc(100% - 24px);white-space:normal; }
    .home-main .events-feature-grid { grid-template-columns:1fr; }
    .home-main .cta-sec { padding:68px 14px; }
}

@media (max-width: 420px) {
    .home-main .container { width:min(100% - 22px,1200px); }
    .home-main .hero { min-height:620px;padding-inline:11px; }
    .home-main .hero-badge { font-size:.74rem; }
    .home-main .dashboard-window__body { padding:10px; }
    .home-main .preview-button { width:34px;height:34px;padding:0;justify-content:center;overflow:hidden;font-size:0; }
    .home-main .preview-list__head { display:none!important; }
    .home-main .preview-list > div { padding:8px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    .home-main .parallax-section { background-attachment:scroll; }
    .home-main .animate-in { opacity:1;transform:none;transition:none; }
}
