:root {
    --ast-home-ink: #10162f;
    --ast-home-muted: #667085;
    --ast-home-violet: #7047eb;
    --ast-home-violet-2: #8d68ff;
    --ast-home-blue: #2678ff;
    --ast-home-green: #12ad65;
    --ast-home-border: #e7e8f0;
    --ast-home-shadow: 0 22px 60px rgba(28, 39, 77, .09);
}

.ast-business-home,
.ast-business-home #main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ast-business-home .ast-home-shell {
    width: 95%;
    max-width: 1820px;
    margin-inline: auto;
}

.ast-home-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(44px, 6vw, 96px) 0 clamp(48px, 5vw, 82px);
    background:
        radial-gradient(circle at 81% 12%, rgba(125, 83, 255, .16), transparent 25%),
        radial-gradient(circle at 55% 25%, rgba(38, 120, 255, .08), transparent 28%),
        linear-gradient(180deg, #fbfbff 0%, #f8faff 100%);
}

.ast-home-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(36px, 5vw, 92px);
    align-items: center;
}

.ast-home-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ast-home-violet);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ast-home-hero h1 {
    margin: 0;
    color: var(--ast-home-ink);
    font-size: clamp(46px, 5.4vw, 86px);
    line-height: .98;
    letter-spacing: -.055em;
}

.ast-home-hero h1 span {
    color: var(--ast-home-violet);
}

.ast-home-hero__content > p {
    max-width: 720px;
    margin: 28px 0 0;
    color: var(--ast-home-muted);
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.7;
}

.ast-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.ast-home-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 25px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.ast-home-btn:hover { transform: translateY(-2px); }
.ast-home-btn--primary { color: #fff !important; background: linear-gradient(135deg, #6337e7, #8759f5); box-shadow: 0 12px 28px rgba(112, 71, 235, .25); }
.ast-home-btn--secondary { color: var(--ast-home-ink) !important; background: #fff; border-color: #dcddea; }
.ast-home-btn--light { color: #161f4e !important; background: #fff; }

.ast-home-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}
.ast-home-trust-pills span {
    padding: 11px 14px;
    color: #3b435d;
    background: rgba(255,255,255,.86);
    border: 1px solid #e7e8f0;
    border-radius: 11px;
    font-size: 13px;
}

.ast-home-dashboard {
    min-width: 0;
    padding: clamp(14px, 2vw, 30px);
    background: linear-gradient(135deg, rgba(255,255,255,.75), rgba(244,242,255,.88));
    border: 1px solid rgba(225, 224, 241, .9);
    border-radius: 28px;
    box-shadow: var(--ast-home-shadow);
}
.ast-home-dashboard__window { padding: clamp(22px, 2.2vw, 34px); background: #fff; border-radius: 21px; box-shadow: 0 18px 50px rgba(40, 45, 80, .08); }
.ast-home-dashboard__bar { display: flex; gap: 7px; margin-bottom: 22px; }
.ast-home-dashboard__bar i { width: 9px; height: 9px; background: #d9dbe6; border-radius: 50%; }
.ast-home-dashboard__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ast-home-dashboard__stats div { padding: 18px; background: #f8f9fd; border-radius: 15px; }
.ast-home-dashboard__stats small, .ast-home-dashboard__stats span { display: block; color: #7a8195; font-size: 11px; }
.ast-home-dashboard__stats strong { display: block; margin: 6px 0; color: var(--ast-home-ink); font-size: clamp(26px, 2vw, 38px); }
.ast-home-dashboard__chart { position: relative; height: 190px; margin-top: 16px; overflow: hidden; background: linear-gradient(180deg, rgba(112,71,235,.08), transparent), repeating-linear-gradient(to right, transparent 0 70px, rgba(70,70,110,.06) 70px 71px); border-radius: 16px; }
.ast-home-dashboard__chart span { position: absolute; left: 4%; right: 5%; top: 55%; height: 3px; background: linear-gradient(90deg, #7047eb, #2678ff); transform: skewY(-7deg); box-shadow: 0 -28px 0 -1px rgba(112,71,235,.30), 0 32px 0 -1px rgba(38,120,255,.18); }
.ast-home-dashboard__mini { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 14px; }
.ast-home-dashboard__mini div { padding: 12px; border: 1px solid #ececf4; border-radius: 12px; }
.ast-home-dashboard__mini b, .ast-home-dashboard__mini em { display: block; font-style: normal; }
.ast-home-dashboard__mini em { margin-top: 3px; color: #858b9c; font-size: 10px; }

.ast-home-gutenberg { padding: 24px 0; background: #fff; }
.ast-home-section { padding: clamp(52px, 6vw, 92px) 0; }
.ast-home-products-section { background: #fff; }
.ast-home-heading { max-width: 900px; margin: 0 auto clamp(30px, 4vw, 50px); text-align: center; }
.ast-home-heading h2 { margin: 0; color: var(--ast-home-ink); font-size: clamp(32px, 3.5vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.ast-home-heading p { margin: 15px auto 0; color: var(--ast-home-muted); font-size: clamp(16px, 1.1vw, 19px); line-height: 1.65; }

.ast-home-products-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(18px, 2vw, 30px); }
.ast-home-product { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--ast-home-border); border-radius: 23px; box-shadow: 0 12px 38px rgba(35, 47, 84, .06); transition: transform .25s ease, box-shadow .25s ease; }
.ast-home-product:hover { transform: translateY(-5px); box-shadow: 0 24px 60px rgba(35, 47, 84, .12); }
.ast-home-product--violet { border-color: #ded3ff; }
.ast-home-product--blue { border-color: #cee1ff; }
.ast-home-product--green { border-color: #ccefdc; }
.ast-home-product__media { display: block; aspect-ratio: 16/9; overflow: hidden; background: linear-gradient(135deg,#f5f2ff,#edf6ff); }
.ast-home-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ast-home-product:hover .ast-home-product__media img { transform: scale(1.03); }
.ast-home-product__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--ast-home-violet); font-size: 70px; font-weight: 900; }
.ast-home-product__body { display: flex; flex: 1; flex-direction: column; padding: clamp(22px,2vw,30px); }
.ast-home-product__eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; color: #5a6276; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.ast-home-product__eyebrow strong { padding: 3px 7px; color: #fff; background: var(--ast-home-violet); border-radius: 6px; font-size: 9px; }
.ast-home-product h3 { margin: 0; font-size: clamp(22px,1.8vw,30px); line-height: 1.18; }
.ast-home-product h3 a { color: var(--ast-home-ink); text-decoration: none; }
.ast-home-product p { flex: 1; margin: 13px 0 18px; color: var(--ast-home-muted); line-height: 1.65; }
.ast-home-product__price { margin-bottom: 18px; color: var(--ast-home-ink); font-size: 22px; font-weight: 850; }
.ast-home-product__actions { margin-top: auto; }

.ast-home-benefits { background: #f7f9fd; }
.ast-home-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ast-home-benefits article { display: flex; gap: 15px; padding: 24px; background: #fff; border: 1px solid #e8e9f0; border-radius: 18px; }
.ast-home-benefits article > span { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; color: var(--ast-home-violet); background: #f2eeff; border-radius: 13px; font-size: 20px; }
.ast-home-benefits h3 { margin: 0 0 7px; color: var(--ast-home-ink); font-size: 17px; }
.ast-home-benefits p { margin: 0; color: var(--ast-home-muted); font-size: 13px; line-height: 1.55; }

.ast-home-blog { background: #fff; }
.ast-home-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(18px,2vw,30px); }
.ast-home-blog-card { overflow: hidden; background: #fff; border: 1px solid #e7e8ef; border-radius: 20px; box-shadow: 0 10px 32px rgba(35,47,84,.06); }
.ast-home-blog-card__media { display: grid; aspect-ratio: 16/8.5; place-items: center; overflow: hidden; color: #7047eb; background: linear-gradient(135deg,#f1edff,#eef6ff); font-weight: 900; letter-spacing: .15em; }
.ast-home-blog-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ast-home-blog-card__body { padding: 24px; }
.ast-home-blog-card__meta { margin-bottom: 8px; color: #8a90a1; font-size: 12px; }
.ast-home-blog-card h3 { margin: 0 0 11px; font-size: 21px; line-height: 1.25; }
.ast-home-blog-card h3 a { color: var(--ast-home-ink); text-decoration: none; }
.ast-home-blog-card p { margin: 0 0 17px; color: var(--ast-home-muted); line-height: 1.6; }
.ast-home-text-link { color: var(--ast-home-violet) !important; font-weight: 800; text-decoration: none !important; }

.ast-home-cta-section { padding-top: 28px; background: #fff; }
.ast-home-cta { display: grid; grid-template-columns: 1.05fr .95fr; gap: 30px; align-items: center; padding: clamp(32px,4vw,58px); color: #fff; background: radial-gradient(circle at 85% 20%,rgba(128,65,255,.28),transparent 28%), linear-gradient(135deg,#091342,#17115f); border-radius: 27px; }
.ast-home-kicker--light { color: #b9a7ff; }
.ast-home-cta h2 { margin: 0; color: #fff; font-size: clamp(32px,3.2vw,50px); line-height: 1.08; }
.ast-home-cta p { max-width: 680px; margin: 16px 0 24px; color: #d7dcf7; font-size: 16px; line-height: 1.65; }
.ast-home-cta__stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; text-align: center; }
.ast-home-cta__stats div { padding: 18px 10px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: 15px; }
.ast-home-cta__stats strong, .ast-home-cta__stats span { display: block; }
.ast-home-cta__stats strong { font-size: clamp(28px,2.8vw,44px); }
.ast-home-cta__stats span { margin-top: 5px; color: #c8cdec; font-size: 12px; }

@media (max-width: 1180px) {
    .ast-home-hero__grid, .ast-home-cta { grid-template-columns: 1fr; }
    .ast-home-products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ast-home-benefits__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
    .ast-business-home .ast-home-shell { width: 96%; padding-inline: 18px; }
    .ast-home-dashboard__stats, .ast-home-dashboard__mini { grid-template-columns: 1fr; }
    .ast-home-dashboard__chart { height: 145px; }
    .ast-home-blog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .ast-business-home .ast-home-shell { width: 100%; padding-inline: 16px; }
    .ast-home-hero { padding-top: 34px; }
    .ast-home-hero h1 { font-size: clamp(40px,12vw,57px); }
    .ast-home-actions { flex-direction: column; }
    .ast-home-btn { width: 100%; }
    .ast-home-trust-pills { display: grid; grid-template-columns: 1fr 1fr; }
    .ast-home-products-grid, .ast-home-benefits__grid, .ast-home-cta__stats { grid-template-columns: 1fr; }
    .ast-home-product__media { aspect-ratio: 16/9; }
}

@media (max-width: 420px) {
    .ast-home-trust-pills { grid-template-columns: 1fr; }
    .ast-home-dashboard { padding: 10px; }
    .ast-home-dashboard__window { padding: 16px; }
}

/* Homepage layout must not inherit the classic theme's narrow grid container. */
body.page-template-template-home #page,
body.page-template-template-home #content,
body.page-template-template-home .site-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
}
