/*
Theme Name: Atomic Guardian
Theme URI: https://staging.atomicguardian.com/
Description: Lightweight GeneratePress child theme for Atomic Guardian.
Author: Atomic Guardian
Template: generatepress
Version: 1.3.2
Text Domain: atomic-guardian
*/

:root {
    --ag-transition: 180ms ease;
    --ag-shadow-sm: 0 8px 24px rgba(12, 16, 22, 0.08);
    --ag-shadow-lg: 0 24px 64px rgba(12, 16, 22, 0.14);
}

/* Services mega menu ----------------------------------------------------- */

.ag-mega-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.35rem;
    padding-inline: 0.35rem;
    border-radius: 999px;
    background: #13d8f4;
    color: #071018;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
}

@media (min-width: 769px) {
    .inside-header {
        position: relative;
    }

    #site-navigation,
    #site-navigation .inside-navigation,
    #site-navigation .main-nav,
    #site-navigation .main-nav > ul,
    #site-navigation .main-nav > ul > li.ag-mega-menu {
        position: static;
    }

    #site-navigation .main-nav > ul > li.ag-mega-menu > a {
        position: relative;
    }

    #site-navigation .main-nav > ul > li.ag-mega-menu > a::after {
        position: absolute;
        right: 18px;
        bottom: 0;
        left: 18px;
        height: 3px;
        background: #13d8f4;
        content: "";
        opacity: 0;
        transform: scaleX(0.7);
        transition: opacity var(--ag-transition), transform var(--ag-transition);
    }

    #site-navigation .main-nav > ul > li.ag-mega-menu:hover > a::after,
    #site-navigation .main-nav > ul > li.ag-mega-menu:focus-within > a::after,
    #site-navigation .main-nav > ul > li.ag-mega-menu.sfHover > a::after {
        opacity: 1;
        transform: scaleX(1);
    }

    #site-navigation .ag-mega-menu > .sub-menu {
        display: block;
        visibility: hidden;
        top: calc(100% - 1px);
        right: auto;
        left: 50% !important;
        width: min(1120px, calc(100vw - 32px));
        min-height: 430px;
        padding: 24px;
        overflow: visible;
        border: 1px solid rgba(159, 220, 255, 0.12);
        border-radius: 0 0 10px 10px;
        background: #111922;
        box-shadow: 0 28px 60px rgba(3, 10, 17, 0.36);
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%);
        transition: opacity 120ms ease, visibility 120ms ease;
    }

    #site-navigation .ag-mega-menu > .sub-menu::after {
        position: absolute;
        top: 24px;
        bottom: 24px;
        left: 350px;
        width: 1px;
        background: rgba(159, 220, 255, 0.1);
        content: "";
        z-index: 1;
    }

    #site-navigation .ag-mega-menu:hover > .sub-menu,
    #site-navigation .ag-mega-menu:focus-within > .sub-menu,
    #site-navigation .ag-mega-menu.sfHover > .sub-menu,
    #site-navigation .ag-mega-menu.ag-mega-open > .sub-menu,
    #site-navigation .ag-mega-menu > .sub-menu.toggled-on {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) !important;
    }

    #site-navigation .ag-mega-menu > .sub-menu > .ag-service-group {
        position: static;
        width: 310px;
        margin: 0 0 6px;
        float: none;
    }

    #site-navigation .ag-mega-menu > .sub-menu > .ag-service-group > a {
        position: relative;
        display: block;
        min-height: 76px;
        padding: 13px 40px 13px 60px;
        border-radius: 8px;
        color: #c8d5e1;
        line-height: 1.3;
        white-space: normal;
        transition: color var(--ag-transition), background-color var(--ag-transition);
    }

    #site-navigation .ag-service-group > a::before {
        position: absolute;
        top: 15px;
        left: 12px;
        width: 36px;
        height: 36px;
        border: 1px solid rgba(159, 220, 255, 0.12);
        border-radius: 10px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 20px 20px;
        content: "";
    }

    #site-navigation .ag-service-group--infrastructure-cloud > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 19h11a4 4 0 0 0 .7-7.94A6.5 6.5 0 0 0 5.8 9.5 4.8 4.8 0 0 0 6.5 19Z'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-service-group--managed-it-services > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4M7 9h2M11 9h6M7 13h5'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-service-group--professional-it-services > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 7v5c0 5 3.4 8 8 9 4.6-1 8-4 8-9V7l-8-4Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-service-group--cybersecurity > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='12' rx='2'/%3E%3Cpath d='M9 21h6M12 17v4M9 11l2 2 4-4'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-service-group > a::after {
        position: absolute;
        top: 22px;
        right: 14px;
        color: #13d8f4;
        content: "\2192";
        opacity: 0;
        transition: opacity var(--ag-transition), transform var(--ag-transition);
        transform: translateX(-4px);
    }

    #site-navigation .ag-service-group > a > .dropdown-menu-toggle {
        display: none;
    }

    #site-navigation .ag-service-group.ag-mega-active > a,
    #site-navigation .ag-service-group.current-menu-ancestor > a,
    #site-navigation .ag-service-group > a:hover,
    #site-navigation .ag-service-group > a:focus-visible {
        background: rgba(19, 216, 244, 0.08);
        color: #ffffff;
    }

    #site-navigation .ag-service-group.ag-mega-active > a::after,
    #site-navigation .ag-service-group.current-menu-ancestor > a::after,
    #site-navigation .ag-service-group > a:hover::after,
    #site-navigation .ag-service-group > a:focus-visible::after {
        opacity: 1;
        transform: translateX(0);
    }

    #site-navigation .ag-mega-description {
        display: block;
        margin-top: 5px;
        color: #8293a2;
        font-size: 0.75rem;
        font-weight: 400;
        line-height: 1.45;
    }

    #site-navigation .ag-service-group > .sub-menu {
        display: grid !important;
        visibility: hidden;
        z-index: 2;
        top: 24px !important;
        right: 24px;
        left: 374px !important;
        width: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 18px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        opacity: 0;
        pointer-events: none;
        transform: none;
    }

    #site-navigation .ag-service-group.ag-mega-active > .sub-menu,
    #site-navigation .ag-service-group.current-menu-ancestor > .sub-menu {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    #site-navigation .ag-service-group > .sub-menu > li {
        width: auto;
        float: none;
    }

    #site-navigation .ag-service-group > .sub-menu > li > a {
        display: flex;
        min-height: 48px;
        align-items: center;
        padding: 10px 12px;
        border-radius: 7px;
        color: #c8d5e1;
        font-size: 0.9rem;
        line-height: 1.35;
        white-space: normal;
        transition: color var(--ag-transition), background-color var(--ag-transition), transform var(--ag-transition);
    }

    #site-navigation .ag-service-group > .sub-menu > li > a:hover,
    #site-navigation .ag-service-group > .sub-menu > li > a:focus-visible,
    #site-navigation .ag-service-group > .sub-menu > .current-menu-item > a {
        background: rgba(159, 220, 255, 0.08);
        color: #ffffff;
        transform: translateX(3px);
    }
}

@media (max-width: 768px) {
    #site-navigation .ag-mega-description {
        display: none;
    }

    #site-navigation .ag-mega-count {
        position: static;
        margin-left: 0.45rem;
    }
}

/* Industries mega menu -------------------------------------------------- */

@media (min-width: 769px) {
    #site-navigation .main-nav > ul > li.ag-industries-mega {
        position: static;
    }

    #site-navigation .main-nav > ul > li.ag-industries-mega > a {
        position: relative;
    }

    #site-navigation .main-nav > ul > li.ag-industries-mega > a::after {
        position: absolute;
        right: 18px;
        bottom: 0;
        left: 18px;
        height: 3px;
        background: #13d8f4;
        content: "";
        opacity: 0;
        transform: scaleX(0.7);
        transition: opacity var(--ag-transition), transform var(--ag-transition);
    }

    #site-navigation .ag-industries-mega:hover > a::after,
    #site-navigation .ag-industries-mega:focus-within > a::after,
    #site-navigation .ag-industries-mega.sfHover > a::after {
        opacity: 1;
        transform: scaleX(1);
    }

    #site-navigation .ag-industries-mega > .sub-menu {
        display: grid;
        visibility: hidden;
        top: calc(100% - 1px);
        right: auto;
        left: 50% !important;
        width: min(820px, calc(100vw - 32px));
        height: auto !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 24px;
        overflow: visible !important;
        border: 1px solid rgba(159, 220, 255, 0.12);
        border-radius: 0 0 10px 10px;
        background: #111922;
        box-shadow: 0 28px 60px rgba(3, 10, 17, 0.36);
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%);
        transition: opacity 120ms ease, visibility 120ms ease;
    }

    #site-navigation .ag-industries-mega:hover > .sub-menu,
    #site-navigation .ag-industries-mega:focus-within > .sub-menu,
    #site-navigation .ag-industries-mega.sfHover > .sub-menu,
    #site-navigation .ag-industries-mega.ag-mega-open > .sub-menu,
    #site-navigation .ag-industries-mega > .sub-menu.toggled-on {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) !important;
    }

    #site-navigation .ag-industries-mega > .sub-menu > .ag-industry-item {
        position: relative;
        width: auto;
        float: none;
    }

    #site-navigation .ag-industries-mega > .sub-menu > .ag-industry-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    #site-navigation .ag-industry-item > a {
        position: relative;
        display: block;
        min-height: 104px;
        padding: 17px 18px 17px 68px;
        border: 1px solid rgba(159, 220, 255, 0.08);
        border-radius: 9px;
        background: rgba(159, 220, 255, 0.025);
        color: #c8d5e1;
        line-height: 1.3;
        white-space: normal;
        transition: color var(--ag-transition), background-color var(--ag-transition), border-color var(--ag-transition), transform var(--ag-transition);
    }

    #site-navigation .ag-industry-item > a::before {
        position: absolute;
        top: 18px;
        left: 16px;
        width: 38px;
        height: 38px;
        border: 1px solid rgba(159, 220, 255, 0.14);
        border-radius: 10px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 21px 21px;
        content: "";
    }

    #site-navigation .ag-industry-item--financial-services > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h18M5 10v8M9 10v8M15 10v8M19 10v8M3 19h18M12 3l9 5H3l9-5Z'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-industry-item--legal > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M6 6h12M4 6l-3 6h6L4 6ZM20 6l-3 6h6l-3-6ZM8 21h8'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-industry-item--healthcare > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21S4 16.4 4 9.5A4.5 4.5 0 0 1 12 6a4.5 4.5 0 0 1 8 3.5C20 16.4 12 21 12 21Z'/%3E%3Cpath d='M9 12h6M12 9v6'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-industry-item--small-business > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16v10H4V10ZM7 10V6h10v4M9 14h6'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-industry-item--professional-services > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fdcff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0M9 17l3 2 3-2'/%3E%3C/svg%3E");
    }

    #site-navigation .ag-industry-item > a:hover,
    #site-navigation .ag-industry-item > a:focus-visible,
    #site-navigation .ag-industry-item.current-menu-item > a {
        border-color: rgba(19, 216, 244, 0.28);
        background: rgba(19, 216, 244, 0.08);
        color: #ffffff;
        transform: translateY(-2px);
    }
}

html {
    scroll-behavior: smooth;
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.home {
    --wp--style--root--padding-left: 0px;
    --wp--style--root--padding-right: 0px;
    overflow-x: hidden;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body.ag-landing-page {
    --wp--style--root--padding-left: 0px;
    --wp--style--root--padding-right: 0px;
    overflow-x: hidden;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

a {
    text-underline-offset: 0.18em;
    transition: color var(--ag-transition), background-color var(--ag-transition), border-color var(--ag-transition), transform var(--ag-transition);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--wp--preset--color--electric-cyan);
    outline-offset: 3px;
}

::selection {
    color: var(--wp--preset--color--midnight);
    background: var(--wp--preset--color--electric-cyan);
}

.site-content {
    overflow: clip;
}

/* Remove GeneratePress's separate-container gap below the site header. */
.separate-containers .site-main {
    margin-top: 0;
}

.home .site.grid-container,
.home .site-content,
.home .content-area,
.home .inside-article,
.home .entry-content,
.ag-landing-page .site.grid-container,
.ag-landing-page .site-content,
.ag-landing-page .content-area,
.ag-landing-page .inside-article,
.ag-landing-page .entry-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.home .entry-header {
    display: none;
}

.ag-landing-page .entry-header {
    display: none;
}

.home .entry-content > .alignfull {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.ag-landing-page .entry-content > .alignfull {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.main-navigation,
.site-header {
    position: relative;
    z-index: 20;
}

.site-header {
    border-bottom: 1px solid rgba(167, 181, 195, 0.28);
    background: #0b1118;
}

.main-navigation,
#mobile-menu-control-wrapper {
    background: #0b1118;
}

#site-navigation .main-nav > ul > li > a,
#mobile-menu-control-wrapper .menu-toggle,
#site-navigation .menu-toggle {
    color: #e7f1f8;
}

#site-navigation .main-nav > ul > li:hover > a,
#site-navigation .main-nav > ul > li:focus-within > a,
#site-navigation .main-nav > ul > li[class*="current-menu-"] > a {
    background: transparent;
    color: #13d8f4;
}

.inside-header {
    padding-block: 18px;
}

.site-header .site-logo + .site-branding {
    display: none;
}

.site-logo img {
    width: auto;
    max-height: 52px;
}

.main-navigation .main-nav ul li a {
    padding-right: 12px;
    padding-left: 12px;
}

.entry-content > :where(.wp-block-group.alignfull, .wp-block-cover.alignfull) {
    margin-block: 0;
}

.wp-element-button,
.wp-block-button__link,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: color var(--ag-transition), background-color var(--ag-transition), border-color var(--ag-transition), transform var(--ag-transition), box-shadow var(--ag-transition);
}

.wp-element-button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: var(--ag-shadow-sm);
}

.ag-card {
    height: 100%;
    border: 1px solid rgba(167, 181, 195, 0.45);
    border-radius: 18px;
    box-shadow: var(--ag-shadow-sm);
}

.ag-section {
    padding-block: var(--wp--preset--spacing--60);
}

.ag-hero > .wp-block-columns,
.ag-section > :where(.wp-block-columns, .wp-block-group, .wp-block-heading, .wp-block-paragraph, .wp-block-buttons) {
    box-sizing: border-box;
    width: calc(100% - 2 * clamp(1rem, 3vw, 2rem)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.ag-section--compact {
    padding-block: var(--wp--preset--spacing--50);
}

.ag-section--dark {
    color: var(--wp--preset--color--mist);
    background: linear-gradient(135deg, #171e25 0%, #0c1016 100%);
}

.ag-section--dark :where(h1, h2, h3, h4) {
    color: var(--wp--preset--color--white);
}

.ag-hero {
    position: relative;
    isolation: isolate;
    min-height: min(820px, calc(100vh - 90px));
    padding-block: var(--wp--preset--spacing--70);
    color: var(--wp--preset--color--mist);
    background:
        radial-gradient(circle at 78% 25%, rgba(0, 219, 255, 0.2), transparent 30%),
        radial-gradient(circle at 10% 80%, rgba(23, 105, 155, 0.34), transparent 38%),
        linear-gradient(135deg, #171e25 0%, #0c1016 100%);
}

.ag-hero h1 {
    max-width: 12ch;
    color: var(--wp--preset--color--white);
}

.ag-hero .ag-lead {
    max-width: 60ch;
    color: var(--wp--preset--color--mist);
    font-size: var(--wp--preset--font-size--lead);
}

.ag-hero__art img {
    width: 100%;
    filter: drop-shadow(0 32px 48px rgba(0, 0, 0, 0.32));
}

.ag-proof-strip {
    position: relative;
    z-index: 3;
    margin-top: calc(-1 * var(--wp--preset--spacing--40));
    padding: var(--wp--preset--spacing--40);
    border: 1px solid rgba(167, 181, 195, 0.35);
    border-radius: 20px;
    background: var(--wp--preset--color--white);
    box-shadow: var(--ag-shadow-lg);
    width: calc(100% - 2 * clamp(1rem, 3vw, 2rem)) !important;
    max-width: 1200px;
    margin-right: auto !important;
    margin-left: auto !important;
}

.ag-proof-strip .wp-block-column + .wp-block-column {
    border-left: 1px solid rgba(167, 181, 195, 0.45);
}

.ag-proof-value {
    margin-bottom: 0.25rem;
    color: var(--wp--preset--color--ocean-blue);
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(1.35rem, 1.1rem + 1vw, 2.2rem);
    font-weight: 800;
    line-height: 1.1;
}

.ag-proof-label {
    margin: 0;
    color: var(--wp--preset--color--steel);
    font-size: 0.875rem;
}

.ag-media-frame {
    overflow: hidden;
    border-radius: 24px;
    background: var(--wp--preset--color--cloud);
    box-shadow: var(--ag-shadow-lg);
}

.ag-media-frame img {
    display: block;
    width: 100%;
}

.ag-service-grid > .wp-block-column,
.ag-testimonial-grid > .wp-block-column,
.ag-feature-grid > .wp-block-column {
    display: flex;
}

.ag-service-card,
.ag-testimonial-card,
.ag-feature-card {
    width: 100%;
    padding: var(--wp--preset--spacing--40);
    background: var(--wp--preset--color--white);
}

.ag-service-card {
    position: relative;
    overflow: hidden;
}

.ag-service-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    content: "";
    background: var(--wp--preset--gradient--guardian-glow);
}

.ag-service-card ul {
    padding-left: 1.1rem;
}

.ag-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 800;
}

.ag-text-link::after {
    content: "→";
    transition: transform var(--ag-transition);
}

.ag-text-link:hover::after {
    transform: translateX(4px);
}

.ag-testimonial-card figure {
    margin-bottom: var(--wp--preset--spacing--30);
}

.ag-testimonial-card img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.ag-testimonial-card blockquote {
    margin: 0;
    font-size: 1rem;
}

.ag-testimonial-card cite {
    display: block;
    margin-top: 1rem;
    color: var(--wp--preset--color--navy);
    font-style: normal;
    font-weight: 800;
}

.ag-logo-row {
    align-items: center !important;
}

.ag-logo-row .wp-block-column {
    display: grid;
    min-height: 72px;
    place-items: center;
}

.ag-logo-row img {
    width: auto;
    max-width: 140px;
    max-height: 46px;
    filter: grayscale(1);
    opacity: 0.72;
    transition: filter var(--ag-transition), opacity var(--ag-transition), transform var(--ag-transition);
}

.ag-logo-row img:hover {
    filter: none;
    opacity: 1;
    transform: translateY(-2px);
}

.ag-cta-panel {
    padding: var(--wp--preset--spacing--60);
    border-radius: 28px;
    color: var(--wp--preset--color--white);
    background:
        radial-gradient(circle at 85% 25%, rgba(0, 219, 255, 0.32), transparent 28%),
        linear-gradient(135deg, #171e25 0%, #0c1016 100%);
    box-shadow: var(--ag-shadow-lg);
}

.ag-cta-panel h2 {
    max-width: 15ch;
    color: var(--wp--preset--color--white);
}

.ag-page-hero {
    padding-block: var(--wp--preset--spacing--60);
    color: var(--wp--preset--color--mist);
    background:
        radial-gradient(circle at 85% 18%, rgba(0, 219, 255, 0.18), transparent 28%),
        linear-gradient(135deg, #171e25 0%, #0c1016 100%);
}

.ag-page-hero > :where(.wp-block-group, .wp-block-columns),
.ag-page-section > :where(.wp-block-group, .wp-block-columns, .wp-block-heading, .wp-block-paragraph, .wp-block-buttons) {
    box-sizing: border-box;
    width: calc(100% - 2 * clamp(1rem, 3vw, 2rem)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.ag-page-hero h1 {
    max-width: 15ch;
    color: var(--wp--preset--color--white);
}

.ag-page-hero .ag-lead {
    max-width: 62ch;
    color: var(--wp--preset--color--mist);
    font-size: var(--wp--preset--font-size--lead);
}

.ag-breadcrumb {
    color: var(--wp--preset--color--electric-cyan);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ag-breadcrumb a {
    color: inherit;
}

.ag-page-section {
    padding-block: var(--wp--preset--spacing--60);
}

.ag-page-section--compact {
    padding-block: var(--wp--preset--spacing--50);
}

.ag-page-section--cloud {
    background: var(--wp--preset--color--cloud);
}

.ag-page-section--dark {
    color: var(--wp--preset--color--mist);
    background: linear-gradient(135deg, #171e25 0%, #0c1016 100%);
}

.ag-page-section--dark :where(h2, h3, h4) {
    color: var(--wp--preset--color--white);
}

.ag-link-grid > .wp-block-column,
.ag-capability-grid > .wp-block-column,
.ag-pricing-grid > .wp-block-column,
.ag-value-grid > .wp-block-column {
    display: flex;
}

.ag-link-card,
.ag-capability-card,
.ag-pricing-card,
.ag-value-card,
.ag-contact-card,
.ag-faq-item {
    width: 100%;
    padding: var(--wp--preset--spacing--40);
    border: 1px solid rgba(167, 181, 195, 0.42);
    border-radius: 18px;
    background: var(--wp--preset--color--white);
    box-shadow: var(--ag-shadow-sm);
}

.ag-link-card {
    position: relative;
    overflow: hidden;
}

.ag-link-card::after {
    position: absolute;
    inset: auto 0 0;
    height: 4px;
    content: "";
    background: var(--wp--preset--gradient--guardian-glow);
}

.ag-link-card p:last-child,
.ag-capability-card p:last-child,
.ag-value-card p:last-child {
    margin-bottom: 0;
}

.ag-icon-number {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: var(--wp--preset--spacing--20);
    place-items: center;
    border-radius: 50%;
    color: var(--wp--preset--color--midnight);
    background: var(--wp--preset--color--electric-cyan);
    font-weight: 800;
}

.ag-outcome-list {
    display: grid;
    gap: 0.85rem;
    padding: 0;
    list-style: none;
}

.ag-outcome-list li {
    position: relative;
    padding-left: 1.75rem;
}

.ag-outcome-list li::before {
    position: absolute;
    top: 0.1em;
    left: 0;
    color: var(--wp--preset--color--deep-teal);
    content: "✓";
    font-weight: 900;
}

.ag-callout {
    padding: var(--wp--preset--spacing--50);
    border-radius: 24px;
    color: var(--wp--preset--color--mist);
    background:
        radial-gradient(circle at 88% 22%, rgba(0, 219, 255, 0.28), transparent 26%),
        linear-gradient(135deg, #171e25 0%, #0c1016 100%);
    box-shadow: var(--ag-shadow-lg);
}

.ag-callout h2,
.ag-callout h3 {
    color: var(--wp--preset--color--white);
}

.ag-pricing-card {
    position: relative;
}

.ag-pricing-card--featured {
    border-color: var(--wp--preset--color--electric-cyan);
    transform: translateY(-10px);
    box-shadow: var(--ag-shadow-lg);
}

.ag-plan-label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    color: var(--wp--preset--color--midnight);
    background: var(--wp--preset--color--electric-cyan);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ag-price {
    color: var(--wp--preset--color--ocean-blue);
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem);
    font-weight: 800;
}

.ag-faq-stack {
    display: grid;
    gap: var(--wp--preset--spacing--20);
}

.ag-faq-item h3 {
    margin-top: 0;
    font-size: var(--wp--preset--font-size--heading-4);
}

.ag-contact-card a {
    font-weight: 800;
}

.ag-page-nav {
    padding-block: var(--wp--preset--spacing--30);
    border-top: 1px solid rgba(167, 181, 195, 0.35);
    border-bottom: 1px solid rgba(167, 181, 195, 0.35);
    background: var(--wp--preset--color--cloud);
}

.ag-page-nav .wp-block-buttons {
    gap: 0.6rem;
}

.ag-page-nav .wp-block-button__link {
    padding: 0.65rem 1rem;
    font-size: 0.8125rem;
}

.ag-eyebrow {
    color: var(--wp--preset--color--ocean-blue);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .site-content {
        padding-inline: 0;
    }

    .wp-block-buttons,
    .wp-block-button,
    .wp-block-button__link {
        width: 100%;
    }

    .wp-block-button__link {
        justify-content: center;
        text-align: center;
    }

    .ag-hero {
        min-height: auto;
        padding-block: var(--wp--preset--spacing--60);
    }

    .ag-hero h1 {
        max-width: 100%;
    }

    .ag-proof-strip {
        margin-top: calc(-1 * var(--wp--preset--spacing--30));
        padding: var(--wp--preset--spacing--30);
    }

    .ag-proof-strip .wp-block-column + .wp-block-column {
        padding-top: var(--wp--preset--spacing--20);
        border-top: 1px solid rgba(167, 181, 195, 0.45);
        border-left: 0;
    }

    .ag-section {
        padding-block: var(--wp--preset--spacing--50);
    }

    .ag-cta-panel {
        padding: var(--wp--preset--spacing--40);
        border-radius: 20px;
    }

    .ag-page-hero,
    .ag-page-section {
        padding-block: var(--wp--preset--spacing--50);
    }

    .ag-page-hero h1 {
        max-width: 100%;
    }

    .ag-callout,
    .ag-link-card,
    .ag-capability-card,
    .ag-pricing-card,
    .ag-value-card,
    .ag-contact-card,
    .ag-faq-item {
        padding: var(--wp--preset--spacing--30);
    }

    .ag-pricing-card--featured {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
