/* Shared Astley Digital site design system. */

/* Invisible reCAPTCHA remains active while its required disclosure stays readable. */
.astley-invisible-recaptcha,
.grecaptcha-badge {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.astley-recaptcha-notice {
    margin: -5px 0 0 !important;
    color: #7b8495 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: center;
}

.astley-recaptcha-notice a {
    color: #6425ae !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

/* Purpose-built global header. */
body > #page {
    /* Clip decorative page artwork without creating a scroll container that defeats sticky positioning. */
    overflow: clip;
}

.ad-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    border-bottom: 1px solid #e9e5f0;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 8px 30px rgba(31, 20, 52, .055);
    font-family: 'Astley Body', sans-serif;
    backdrop-filter: blur(18px);
    transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ad-site-header.is-scrolled {
    border-bottom-color: rgba(99, 53, 145, .14);
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 12px 34px rgba(31, 20, 52, .1);
}

body.admin-bar .ad-site-header {
    top: 32px;
}

.ad-site-header *,
.ad-site-header *::before,
.ad-site-header *::after {
    box-sizing: border-box;
}

.ad-site-header__inner {
    display: flex;
    align-items: center;
    width: min(1440px, calc(100% - 56px));
    height: 88px;
    margin: 0 auto;
}

.ad-site-header__brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    width: 200px;
    margin-right: clamp(28px, 3.4vw, 58px);
}

.ad-site-header__brand img {
    display: block;
    width: 190px;
    height: auto;
    filter: brightness(0) saturate(100%);
}

.ad-site-header__desktop {
    display: flex;
    align-self: stretch;
    align-items: center;
    gap: 6px;
}

.ad-nav-item {
    display: flex;
    align-self: stretch;
    align-items: center;
}

.ad-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 46px;
    padding: 0 15px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #20273a !important;
    font: 680 15px/1 'Astley Body', sans-serif;
    letter-spacing: -.015em;
    text-decoration: none !important;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

.ad-nav-link:hover,
.ad-nav-link:focus-visible,
.ad-nav-item.is-open .ad-nav-link--toggle {
    background: #f5f1fb;
    color: #6425ae !important;
}

.ad-nav-link svg,
.ad-mobile-services-toggle svg {
    width: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    transition: transform .2s ease;
}

.ad-nav-item.is-open .ad-nav-link svg,
.ad-mobile-services-toggle[aria-expanded='true'] svg {
    transform: rotate(180deg);
}

.ad-services-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: max(28px, calc((100% - 1384px) / 2 + 210px));
    display: grid;
    grid-template-columns: 265px 520px;
    visibility: hidden;
    overflow: hidden;
    width: 785px;
    border: 1px solid rgba(89, 44, 137, .13);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(37, 24, 58, .17);
    opacity: 0;
    transform: translateY(-7px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.ad-nav-item.is-open .ad-services-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.ad-services-menu__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
    background: linear-gradient(145deg, #f4effc, #ebe3f8);
}

.ad-services-menu__eyebrow {
    margin-bottom: 14px;
    color: #6d28d9;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ad-services-menu__intro strong {
    margin-bottom: 22px;
    color: #171d2c;
    font-family: 'Astley Display', sans-serif;
    font-size: 23px;
    line-height: 1.25;
    letter-spacing: -.035em;
}

.ad-services-menu__intro a {
    color: #6323ae !important;
    font-size: 14px;
    font-weight: 750;
    text-decoration: none !important;
}

.ad-services-menu__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    padding: 18px;
}

.ad-services-menu__links > a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px;
    border-radius: 11px;
    color: #20273a !important;
    text-decoration: none !important;
    transition: background-color .18s ease;
}

.ad-services-menu__links > a:hover,
.ad-services-menu__links > a:focus-visible {
    background: #f6f2fb;
}

.ad-service-icon {
    display: inline-flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #eee6fa;
    color: #6d28d9;
    font-size: 16px;
    font-weight: 800;
}

.ad-service-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ad-services-menu__links > a:nth-child(2) .ad-service-icon {
    background: #e9f3ff;
    color: #347fd1;
}

.ad-services-menu__links > a:nth-child(3) .ad-service-icon {
    background: #e9f8f2;
    color: #168a63;
}

.ad-services-menu__links > a:nth-child(4) .ad-service-icon {
    background: #fff0e8;
    color: #d26826;
}

.ad-services-menu__links > a:nth-child(5) .ad-service-icon {
    background: #eeeaff;
    color: #5146d9;
}

.ad-services-menu__links strong,
.ad-services-menu__links small {
    display: block;
}

.ad-services-menu__links strong {
    margin: 1px 0 3px;
    font-size: 14px;
    line-height: 1.3;
}

.ad-services-menu__links small {
    color: #697287;
    font-size: 11px;
    line-height: 1.4;
}

.ad-site-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.ad-header-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 17px;
    border-radius: 12px;
    font: 750 14px/1 'Astley Body', sans-serif;
    text-decoration: none !important;
    white-space: nowrap;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ad-header-action:hover {
    transform: translateY(-1px);
}

.ad-header-action--support {
    border: 1px solid #ddd4e9;
    background: #fff;
    color: #372b48 !important;
}

.ad-header-action--support:hover {
    border-color: #b99cdd;
    background: #f8f5fc;
    color: #5d219f !important;
}

.ad-header-action--support svg {
    width: 19px;
    fill: none;
    stroke: #6d28d9;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.ad-header-action--expert {
    border: 1px solid #6d28d9;
    background: #6d28d9;
    box-shadow: 0 8px 20px rgba(109, 40, 217, .2);
    color: #fff !important;
}

.ad-header-action--expert svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.ad-header-action--expert:hover {
    border-color: #5520a1;
    background: #5520a1;
    box-shadow: 0 11px 24px rgba(85, 32, 161, .25);
    color: #fff !important;
}

.ad-menu-button,
.ad-mobile-menu {
    display: none;
}

@media (max-width: 1220px) {
    .ad-site-header__inner {
        width: min(100% - 40px, 1180px);
    }

    .ad-site-header__brand {
        width: 170px;
        margin-right: 22px;
    }

    .ad-site-header__brand img {
        width: 166px;
    }

    .ad-nav-link {
        padding-right: 11px;
        padding-left: 11px;
    }

    .ad-header-action {
        padding-right: 13px;
        padding-left: 13px;
    }
}

@media (max-width: 1080px) {
    body.ad-menu-open {
        overflow: hidden;
    }

    .ad-site-header__inner {
        width: min(100% - 36px, 980px);
        height: 76px;
    }

    .ad-site-header__brand {
        width: auto;
        margin-right: auto;
    }

    .ad-site-header__brand img {
        width: 176px;
    }

    .ad-site-header__desktop,
    .ad-site-header__actions {
        display: none;
    }

    .ad-menu-button {
        position: relative;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        width: 46px;
        height: 46px;
        padding: 0;
        border: 1px solid #ded5e9;
        border-radius: 12px;
        background: #f7f3fb;
        cursor: pointer;
    }

    .ad-menu-button span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 2px;
        background: #442366;
        transition: transform .2s ease, opacity .2s ease;
    }

    .ad-site-header.is-menu-open .ad-menu-button span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .ad-site-header.is-menu-open .ad-menu-button span:nth-child(2) { opacity: 0; }
    .ad-site-header.is-menu-open .ad-menu-button span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .ad-mobile-menu {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        visibility: hidden;
        overflow-y: auto;
        height: calc(100vh - 76px);
        padding: 18px 18px 34px;
        border-top: 1px solid #eee9f4;
        background: rgba(255, 255, 255, .99);
        opacity: 0;
        transform: translateY(-8px);
        transition: visibility .22s, opacity .22s ease, transform .22s ease;
    }

    .ad-site-header.is-menu-open .ad-mobile-menu {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .ad-mobile-menu__inner {
        width: min(100%, 680px);
        margin: 0 auto;
    }

    .ad-mobile-services-toggle,
    .ad-mobile-menu__link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 58px;
        padding: 0 6px;
        border: 0;
        border-bottom: 1px solid #eee9f4;
        background: transparent;
        color: #1d2435 !important;
        font: 720 18px/1.2 'Astley Display', sans-serif;
        text-decoration: none !important;
        cursor: pointer;
    }

    .ad-mobile-services {
        overflow: hidden;
        max-height: 0;
        background: #f8f5fc;
        transition: max-height .25s ease, padding .22s ease;
    }

    .ad-mobile-services-toggle[aria-expanded='true'] + .ad-mobile-services {
        max-height: 360px;
        padding: 8px 14px;
    }

    .ad-mobile-services a {
        display: block;
        padding: 11px 8px;
        color: #4f586c !important;
        font-size: 14px;
        font-weight: 650;
        text-decoration: none !important;
    }

    .ad-mobile-menu__actions {
        display: grid;
        gap: 10px;
        margin-top: 24px;
    }

    .ad-mobile-menu__actions .ad-header-action {
        min-height: 52px;
    }
}

@media (max-width: 782px) {
    body.admin-bar .ad-site-header {
        top: 46px;
    }
}

@media (max-width: 480px) {
    .ad-site-header__inner {
        width: calc(100% - 28px);
        height: 70px;
    }

    .ad-site-header__brand img {
        width: 158px;
    }

    .ad-mobile-menu {
        height: calc(100vh - 70px);
        padding-right: 14px;
        padding-left: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ad-site-header *,
    .ad-site-header *::before,
    .ad-site-header *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Permanent light header and navigation. */
.elementor-location-header {
    position: relative;
    z-index: 1000;
}

.elementor-location-header > :is(.elementor-section, .e-con) {
    min-height: 82px !important;
    border-bottom: 1px solid rgba(97, 62, 145, .12) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 35px rgba(42, 28, 72, .07) !important;
    backdrop-filter: blur(18px);
}

.elementor-location-header > .elementor-section > .elementor-container,
.elementor-location-header > .e-con > .e-con-inner {
    width: min(1380px, calc(100% - 48px)) !important;
    min-height: 82px;
}

.elementor-location-header img[src*="astley-logo-white"] {
    width: auto;
    max-width: 205px;
    filter: brightness(0) saturate(100%) !important;
}

.elementor-location-header .main-nav > li > a,
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > a {
    position: relative;
    min-height: 82px;
    padding-right: 17px !important;
    padding-left: 17px !important;
    color: #20273a !important;
    font-family: 'Astley Body', sans-serif !important;
    font-size: 15px !important;
    font-weight: 680 !important;
    letter-spacing: -.01em;
}

/* Make the two customer actions unmistakable without crowding the navigation. */
.elementor-location-header a[href*="support.astley.digital"] {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-height: 44px !important;
    margin: 19px 5px !important;
    padding: 9px 15px !important;
    border: 1px solid rgba(103, 41, 184, .22) !important;
    border-radius: 999px !important;
    background: #f5f0fc !important;
    color: #58219e !important;
}

.elementor-location-header a[href*="support.astley.digital"]::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #6d28d9;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    content: '?';
}

.elementor-location-header a[href*="support.astley.digital"]:hover {
    border-color: #6d28d9 !important;
    background: #eee5fa !important;
    color: #42147c !important;
    transform: translateY(-1px);
}

.elementor-location-header .main-nav > li > a::after,
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > a::after {
    right: 17px !important;
    bottom: 18px !important;
    left: 17px !important;
    height: 2px !important;
    border: 0 !important;
    border-radius: 2px;
    background: #6d28d9 !important;
}

.elementor-location-header .main-nav > li:is(:hover, .act, .current-menu-item) > a,
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li:is(:hover, .current-menu-item, .current-menu-ancestor) > a {
    color: #6d28d9 !important;
}

.elementor-location-header :is(.sub-nav, .elementor-nav-menu--dropdown) {
    padding: 10px !important;
    border: 1px solid rgba(103, 41, 184, .12) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 22px 55px rgba(34, 24, 58, .14) !important;
}

.elementor-location-header .main-nav .sub-nav,
.elementor-location-header .main-nav .sub-nav > li,
.elementor-location-header .main-nav .sub-nav > li > a {
    background: #fff !important;
}

.elementor-location-header .main-nav .sub-nav {
    width: 286px !important;
    min-width: 286px !important;
    padding: 10px !important;
    border: 1px solid rgba(103, 41, 184, .13) !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 60px rgba(31, 22, 49, .16) !important;
}

.elementor-location-header .main-nav .sub-nav > li {
    border: 0 !important;
}

.elementor-location-header .main-nav .sub-nav > li > a {
    min-height: 46px !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 9px !important;
    color: #252c3d !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

.elementor-location-header .main-nav .sub-nav > li:is(:hover, .act, .current-menu-item) > a {
    background: #f3edfb !important;
    color: #6d28d9 !important;
}

.elementor-location-header :is(.sub-nav, .elementor-nav-menu--dropdown) a {
    min-height: 44px;
    padding: 11px 14px !important;
    border-radius: 9px !important;
    color: #30384a !important;
    font-size: 14px !important;
    font-weight: 620 !important;
}

.elementor-location-header :is(.sub-nav, .elementor-nav-menu--dropdown) a:hover {
    background: #f4effb !important;
    color: #6d28d9 !important;
}

.elementor-location-header .elementor-button {
    min-height: 48px;
    padding: 12px 22px !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}

.elementor-location-header :is(.dt-mobile-menu-icon, .elementor-menu-toggle) {
    align-items: center;
    justify-content: center;
    width: 46px;
    min-width: 46px;
    height: 46px;
    padding: 0 !important;
    border: 1px solid rgba(103, 41, 184, .15) !important;
    border-radius: 12px !important;
    background: #f4effb !important;
    color: #5d23a6 !important;
}

/* Permanent light footer. */
#footer,
.elementor-location-footer,
.elementor-location-footer .adFooter,
.elementor-location-footer > :is(.elementor-section, .e-con) {
    border-top-color: rgba(103, 41, 184, .12) !important;
    background:
        radial-gradient(circle at 8% 10%, rgba(109, 40, 217, .08), transparent 28%),
        linear-gradient(145deg, #f8f6fc, #f1edf8) !important;
    color: #566176 !important;
}

.elementor-location-footer .adFooter {
    position: relative;
    border-top: 1px solid rgba(103, 41, 184, .12) !important;
}

.elementor-location-footer .adFooter::before {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #4c1d95, #7c3aed 52%, #3b82f6);
    content: '';
}

.elementor-location-footer .adFooter > .e-con-inner,
.elementor-location-footer .adFooter > .elementor-container,
.elementor-location-footer > .e-con > .e-con-inner {
    width: min(1200px, calc(100% - 56px)) !important;
}

.elementor-location-footer img[src*="astley-logo-white"] {
    width: auto;
    max-width: 220px;
    filter: brightness(0) saturate(100%) !important;
}

.elementor-location-footer :is(h2, h3, h4, h5) {
    color: #54209a !important;
    font-family: 'Astley Display', sans-serif !important;
    font-size: 14px !important;
    font-weight: 780 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
}

.elementor-location-footer :is(p, li) {
    color: #626c80 !important;
    line-height: 1.7 !important;
}

.elementor-location-footer a {
    color: #2b3345 !important;
    text-decoration: none !important;
    transition: color .2s ease;
}

.elementor-location-footer a:hover {
    color: #6d28d9 !important;
}

.elementor-location-footer .elementor-nav-menu a {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.elementor-location-footer .elementor-element-fe8857b .elementor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 14px;
    border: 1px solid rgba(103, 41, 184, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 28px rgba(58, 35, 91, .08);
}

.elementor-location-footer .elementor-element-fe8857b svg,
.elementor-location-footer .elementor-element-fe8857b svg * {
    fill: #6d28d9 !important;
}

.elementor-location-footer .elementor-element-fe8857b svg {
    opacity: .82;
    filter: drop-shadow(0 4px 10px rgba(109, 40, 217, .16));
}

.elementor-location-footer .elementor-element-65c0f2e .elementor-widget-container {
    color: #6c7485 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.elementor-location-footer .elementor-social-icon {
    border: 1px solid rgba(103, 41, 184, .15) !important;
    background: #fff !important;
    color: #6d28d9 !important;
    box-shadow: 0 7px 20px rgba(50, 32, 80, .06);
}

.astley-theme-toggle {
    display: none !important;
}

/* Elementor's mobile navigation is a separate popup, so it needs the same light treatment. */
#elementor-popup-modal-7163 {
    background: rgba(31, 22, 47, .32) !important;
    backdrop-filter: blur(5px);
}

#elementor-popup-modal-7163 .dialog-widget-content,
#elementor-popup-modal-7163 .elementor-location-popup,
#elementor-popup-modal-7163 .elementor-location-popup > :is(.e-con, .elementor-section) {
    background: #fff !important;
    color: #20273a !important;
}

#elementor-popup-modal-7163 .dialog-widget-content {
    border-left: 1px solid rgba(103, 41, 184, .12);
    box-shadow: -22px 0 60px rgba(37, 23, 62, .16) !important;
}

#elementor-popup-modal-7163 .dialog-close-button {
    top: 18px !important;
    right: 18px !important;
    color: #54209a !important;
}

#elementor-popup-modal-7163 .dialog-close-button svg {
    fill: #54209a !important;
}

#elementor-popup-modal-7163 nav a {
    border-color: rgba(103, 41, 184, .12) !important;
    color: #252c3d !important;
    font-family: Inter, sans-serif !important;
    font-weight: 680 !important;
}

#elementor-popup-modal-7163 nav a:hover,
#elementor-popup-modal-7163 nav .current-menu-item > a {
    background: #f4effb !important;
    color: #6d28d9 !important;
}

#elementor-popup-modal-7163 nav a[href*="support.astley.digital"] {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 8px 0 !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(103, 41, 184, .18) !important;
    border-radius: 11px !important;
    background: #f5f0fc !important;
    color: #54209a !important;
}

#elementor-popup-modal-7163 nav a[href*="support.astley.digital"]::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #6d28d9;
    color: #fff;
    font-size: 12px;
    content: '?';
}

#elementor-popup-modal-7163 .elementor-button {
    border-color: #6d28d9 !important;
    background: linear-gradient(135deg, #6d28d9, #4f46e5) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(103, 41, 184, .2) !important;
}

body:not(.home) #content {
    background: var(--astley-page);
    color: var(--astley-copy);
    font-family: 'Astley Body', sans-serif;
}

body:not(.home) #content :is(h1, h2, h3, h4, h5, h6) {
    font-family: 'Astley Display', sans-serif;
    letter-spacing: -.025em;
}

body:not(.home) #content :is(p, li) {
    line-height: 1.7;
}

body:not(.home):not(.page-id-9069) #content .elementor > .e-con.e-parent,
body:not(.home):not(.page-id-9069) #content .elementor > .elementor-section {
    transition: background-color .25s ease, border-color .25s ease;
}

body:not(.home) #content .astley-visual-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100vw !important;
    max-width: none !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    min-height: 480px;
    padding-top: clamp(110px, 12vw, 165px) !important;
    padding-bottom: clamp(80px, 9vw, 125px) !important;
    background-position: center !important;
    background-size: cover !important;
}

body:not(.home) #content .astley-visual-section::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 82% 20%, rgba(59, 130, 246, .32), transparent 33%),
        linear-gradient(115deg, rgba(12, 15, 37, .94), rgba(76, 29, 149, .79));
    content: '';
}

body:not(.home) #content .astley-visual-section > :is(.e-con-inner, .elementor-container) {
    position: relative;
    z-index: 1;
}

body:not(.home) #content .astley-page-intro {
    position: relative;
    overflow: hidden;
    padding-top: clamp(105px, 10vw, 145px) !important;
    padding-bottom: clamp(72px, 8vw, 105px) !important;
    background:
        radial-gradient(circle at 78% 28%, rgba(109, 40, 217, .13), transparent 30%),
        linear-gradient(145deg, var(--astley-surface), var(--astley-surface-soft)) !important;
}

body:not(.home) #content .astley-page-intro::after {
    position: absolute;
    right: -160px;
    bottom: -300px;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(109, 40, 217, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(59, 130, 246, .025), 0 0 0 160px rgba(109, 40, 217, .018);
    content: '';
    pointer-events: none;
}

body:not(.home) #content .astley-page-intro h1 {
    color: var(--astley-heading) !important;
    font-size: clamp(42px, 5vw, 64px) !important;
    font-weight: 750 !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
}

body:not(.home) #content .astley-page-intro p {
    color: var(--astley-copy) !important;
    font-size: clamp(17px, 1.6vw, 20px) !important;
    line-height: 1.7 !important;
}

body:not(.home) #content .astley-visual-section h1 {
    max-width: 1020px;
    margin-right: auto !important;
    margin-left: auto !important;
    color: #fff !important;
    font-size: clamp(42px, 5vw, 68px) !important;
    font-weight: 750 !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
}

body:not(.home) #content .astley-visual-section p {
    max-width: 880px;
    margin-right: auto !important;
    margin-left: auto !important;
    color: rgba(255, 255, 255, .84) !important;
    font-size: clamp(17px, 1.7vw, 20px) !important;
    line-height: 1.7 !important;
}

body:not(.home) #content .elementor > .e-con.e-parent:not(.astley-visual-section) > .e-con-inner,
body:not(.home) #content .elementor > .elementor-section:not(.astley-visual-section) > .elementor-container {
    width: min(1160px, calc(100% - 56px));
}

body:not(.home) #content .elementor > .e-con.e-parent:not(.astley-visual-section),
body:not(.home) #content .elementor > .elementor-section:not(.astley-visual-section) {
    border-color: var(--astley-border) !important;
}

body:not(.home) #content .elementor-widget-the7-heading h2,
body:not(.home) #content .elementor-widget-heading h2 {
    font-size: clamp(34px, 4vw, 54px) !important;
    font-weight: 720 !important;
    line-height: 1.1 !important;
}

body:not(.home) #content :is(.elementor-widget-image img, .post-thumbnail img) {
    border-radius: 14px;
}

body:not(.home) #content :is(.elementor-widget-icon-box, .elementor-widget-image-box, .the7_icon_box, .dt-owl-item, article.post) .elementor-widget-container,
body:not(.home) #content .wf-cell article {
    border-color: var(--astley-border) !important;
    border-radius: 14px;
}

body:not(.home) #content :is(.elementor-widget-icon-box, .elementor-widget-image-box) > .elementor-widget-container {
    height: 100%;
    padding: clamp(25px, 3vw, 38px);
    border: 1px solid var(--astley-border);
    background: var(--astley-surface);
    box-shadow: var(--astley-shadow);
}

body:not(.home) #content :is(.elementor-icon, .elementor-icon-list-icon, .the7_icon_box-grid) {
    color: #6d28d9;
}

body:not(.home) #content :is(.elementor-button, .box-button, button, input[type="submit"]) {
    min-height: 52px;
    padding: 13px 27px !important;
    border: 2px solid #6d28d9 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #6d28d9, #4f46e5) !important;
    box-shadow: 0 10px 26px rgba(109, 40, 217, .18) !important;
    color: #fff !important;
    font-family: 'Astley Body', sans-serif !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

body:not(.home) #content :is(.elementor-button, .box-button, button, input[type="submit"]):hover {
    border-color: #3b82f6 !important;
    background: #3b82f6 !important;
    transform: translateY(-2px);
}

body:not(.home) #content :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select) {
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid var(--astley-border) !important;
    border-radius: 9px !important;
    background: var(--astley-surface-soft) !important;
    color: var(--astley-heading) !important;
    font-family: 'Astley Body', sans-serif !important;
}

body:not(.home) #content textarea {
    min-height: 150px;
}

body:not(.home) #content :is(input, textarea, select):focus {
    border-color: #6d28d9 !important;
    box-shadow: 0 0 0 3px rgba(109, 40, 217, .14) !important;
    outline: 0;
}

body:not(.home) #content :is(.elementor-accordion-item, .elementor-toggle-item, details) {
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid var(--astley-border) !important;
    border-radius: 12px;
    background: var(--astley-surface);
}

body:not(.home) #content :is(.elementor-tab-title, summary) {
    padding: 22px 24px !important;
    color: var(--astley-heading) !important;
    font-weight: 700 !important;
}

body:not(.home) #content :is(.elementor-tab-content, details > :not(summary)) {
    padding: 0 24px 24px !important;
    color: var(--astley-copy) !important;
}

body:not(.home) :is(.blog-media, .post-thumbnail, .rollover, .elementor-post__thumbnail) {
    overflow: hidden;
    border-radius: 12px;
}

body:not(.home) :is(.entry-title, .blog-content h3, .elementor-post__title) a {
    color: var(--astley-heading) !important;
}

body:not(.home) :is(.entry-meta, .entry-meta a, .elementor-post__meta-data) {
    color: #778196 !important;
}

body:not(.home) .elementor-location-footer .adFooter {
    border-top: 1px solid var(--astley-border);
}

@media (max-width: 767px) {
    .elementor-location-header > :is(.elementor-section, .e-con),
    .elementor-location-header > .elementor-section > .elementor-container,
    .elementor-location-header > .e-con > .e-con-inner {
        min-height: 68px !important;
    }

    .elementor-location-header > .elementor-section > .elementor-container,
    .elementor-location-header > .e-con > .e-con-inner {
        width: min(100% - 30px, 620px) !important;
    }

    .elementor-location-header img[src*="astley-logo-white"] {
        max-width: 180px;
    }

    .elementor-location-header :is(.sub-nav, .elementor-nav-menu--dropdown) {
        width: 100% !important;
        margin-top: 8px !important;
        border-radius: 12px !important;
        box-shadow: 0 18px 40px rgba(34, 24, 58, .12) !important;
    }

    .elementor-location-footer .adFooter > .e-con-inner,
    .elementor-location-footer .adFooter > .elementor-container,
    .elementor-location-footer > .e-con > .e-con-inner {
        width: min(100% - 36px, 620px) !important;
    }

    .elementor-location-footer :is(.elementor-widget, .elementor-widget-container) {
        text-align: center;
    }

    body:not(.home) #content .astley-visual-section {
        min-height: 390px;
        padding-top: 105px !important;
        padding-bottom: 72px !important;
    }

    body:not(.home) #content .astley-visual-section h1 {
        font-size: clamp(36px, 10vw, 46px) !important;
    }

    body:not(.home) #content .astley-visual-section p {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }

    body:not(.home) #content .astley-page-intro {
        padding-top: 105px !important;
        padding-bottom: 65px !important;
    }

    body:not(.home) #content .astley-page-intro h1 {
        font-size: 40px !important;
    }

    body:not(.home) #content .elementor > .e-con.e-parent:not(.astley-visual-section) > .e-con-inner,
    body:not(.home) #content .elementor > .elementor-section:not(.astley-visual-section) > .elementor-container {
        width: min(100% - 36px, 620px);
    }

    body:not(.home) #content :is(.elementor-button, .box-button, input[type="submit"]) {
        max-width: 100%;
    }
}
