/*
Theme Name: Gridx Gemini Light
Theme URI: https://geminiwebart.it/
Template: gridx
Author: Gemini Web Art
Description: Versione chiara di Gridx personalizzata per Gemini Web Art. Mantiene intatto il tema principale e applica logo, colori e finiture del marchio.
Version: 1.9.25
Text Domain: gridx-gemini-light
*/

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('assets/InterVariable.woff2') format('woff2');
}

:root {
    --primary_color: #ff6b21;
    --gwa-blue: #087cff;
    --gwa-violet: #5118d9;
    --gwa-coral: #ff493e;
    --gwa-orange: #ff6b21;
    --gwa-paper: #fffaf2;
    --gwa-sand: #e6ddd1;
    --gwa-terracotta: #bd624a;
    --gwa-cobalt: #1245aa;
    --gwa-ink: #15172b;
    --gwa-line: #e8dccd;
}

body.gwa-gridx-light {
    color: #504d55;
    background: var(--gwa-sand);
}

.gwa-gridx-light .header-area .logo img,
.gwa-gridx-light .footer-area .footer-content .logo img {
    width: auto;
    max-width: 230px;
    max-height: 76px;
    object-fit: contain;
}

/* Optical alignment: the WEB ART line makes the artwork look higher than its box. */
.gwa-gridx-light .header-area .gx-row {
    min-height: 76px;
    align-items: center !important;
}

.gwa-gridx-light .header-area .logo {
    display: flex;
    align-items: center;
    line-height: 0;
}

.gwa-gridx-light .header-area .logo img {
    transform: translateY(6px);
}

.gwa-gridx-light .shadow-box,
.gwa-gridx-light .service-area .service-content-wrap .service-content-inner .service-item,
.gwa-gridx-light .project-details-wrap .project-infos-wrap .project-details-info,
.gwa-gridx-light .contact-area .contact-form form .input-group textarea,
.gwa-gridx-light .contact-area .contact-form form .input-group input {
    background: var(--gwa-paper);
    border: 1px solid var(--gwa-line);
    box-shadow: 0 18px 48px rgba(69, 48, 31, .07);
}

.gwa-gridx-light .shadow-box {
    border-radius: 24px;
}

.gwa-gridx-light .info-box .bg-img,
.gwa-gridx-light .projects-area .project-item .bg-img,
.gwa-gridx-light .contact-area .contact-form .bg-img {
    opacity: .045;
}

.gwa-gridx-light .section-heading,
.gwa-gridx-light .info-box .infos h2,
.gwa-gridx-light .about-area h1,
.gwa-gridx-light .projects-area .project-item .project-info h2,
.gwa-gridx-light .service-area .service-content-wrap .service-content-inner .service-item h4,
.gwa-gridx-light .contact-area .contact-form h2 {
    color: var(--gwa-ink);
}

.gwa-gridx-light .info-box .infos h5,
.gwa-gridx-light .projects-area .project-item .project-info p {
    color: #756e73;
    letter-spacing: .09em;
}

.gwa-gridx-light .theme-btn {
    background: transparent;
    color: var(--gwa-ink);
    border: 1px solid var(--gwa-orange);
    border-radius: 12px;
    box-shadow: none;
}

.gwa-gridx-light .theme-btn:hover {
    background: var(--gwa-orange);
    color: #fff;
}

.gwa-gridx-light .header-area .navbar .menu li a:hover,
.gwa-gridx-light .header-area .navbar .menu li.current-menu-item > a,
.gwa-gridx-light .info-box .inner-profile-icons a,
.gwa-gridx-light .about-contact-box h2 span,
.gwa-gridx-light .contact-area .contact-form h2 span {
    color: var(--gwa-orange);
}

/* Palette scelta: sabbia, crema, terracotta e blu cobalto. */
.gwa-gridx-light .header-area .navbar .menu li a {
    color: var(--gwa-ink);
}

.gwa-gridx-light .about-services-box.shadow-box {
    background: var(--gwa-terracotta);
    border-color: rgba(112, 48, 34, .18);
    box-shadow: 0 22px 52px rgba(119, 58, 40, .18);
}

.gwa-gridx-light .about-services-box .infos h2,
.gwa-gridx-light .about-services-box .infos h5 {
    color: #fffaf3;
}

.gwa-gridx-light .about-services-box .infos h5 {
    opacity: .78;
}

.gwa-gridx-light .about-services-box .icon-boxes i {
    color: #1276e8;
}

.gwa-gridx-light .about-services-box .gwa-service-item:nth-child(2) i {
    color: var(--gwa-orange);
}

.gwa-gridx-light .about-services-box .gwa-service-item:nth-child(3) i {
    color: var(--gwa-violet);
}

.gwa-gridx-light .about-services-box .gwa-service-item:nth-child(4) i {
    color: #f8e8d7;
}

.gwa-gridx-light .about-services-box .about-btn img,
.gwa-gridx-light .about-contact-box .about-btn img {
    filter: brightness(0) invert(1);
}

.gwa-gridx-light .about-contact-box.shadow-box {
    background: var(--gwa-cobalt);
    border-color: rgba(10, 39, 107, .2);
    box-shadow: 0 22px 52px rgba(22, 71, 167, .18);
}

.gwa-gridx-light .about-contact-box h2 {
    color: #fff;
}

.gwa-gridx-light .about-contact-box h2 span {
    color: #ff7a37;
}

.gwa-gridx-light .about-contact-box .star-icon {
    opacity: .28;
}

/* Brand accents are real card borders, so the colour reaches both rounded corners. */
.gwa-gridx-light .about-me-box.shadow-box,
.gwa-gridx-light .about-services-box.shadow-box,
.gwa-gridx-light .projects-area .project-item:nth-child(4n+1) {
    --gwa-box-accent: var(--gwa-blue);
}

.gwa-gridx-light .about-crenditials-box > .shadow-box,
.gwa-gridx-light .about-profile-box.shadow-box,
.gwa-gridx-light .about-contact-box.shadow-box,
.gwa-gridx-light .projects-area .project-item:nth-child(4n+2) {
    --gwa-box-accent: var(--gwa-violet);
}

.gwa-gridx-light .about-project-box > .shadow-box,
.gwa-gridx-light .projects-area .project-item:nth-child(4n+3) {
    --gwa-box-accent: var(--gwa-coral);
}

.gwa-gridx-light .about-blog-box > .shadow-box,
.gwa-gridx-light .about-client-box.shadow-box,
.gwa-gridx-light .projects-area .project-item:nth-child(4n) {
    --gwa-box-accent: var(--gwa-orange);
}

.gwa-gridx-light .about-me-box.shadow-box,
.gwa-gridx-light .about-crenditials-box > .shadow-box,
.gwa-gridx-light .about-project-box > .shadow-box,
.gwa-gridx-light .about-blog-box > .shadow-box,
.gwa-gridx-light .about-services-box.shadow-box,
.gwa-gridx-light .about-profile-box.shadow-box,
.gwa-gridx-light .about-client-box.shadow-box,
.gwa-gridx-light .about-contact-box.shadow-box,
.gwa-gridx-light .projects-area .project-item {
    border-top: 4px solid var(--gwa-box-accent, var(--gwa-orange));
}

.gwa-gridx-light .about-project-box .gwa-work-card-image {
    box-sizing: border-box;
    width: 100%;
    height: auto !important;
    aspect-ratio: 3 / 2;
    margin-bottom: 26px;
    padding: 8px;
    border-radius: 20px;
    background: var(--gwa-paper);
    object-fit: contain;
    object-position: center;
}

.gwa-gridx-light .about-me-box .img-box {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent !important;
}

.gwa-gridx-light .about-me-box .img-box .gwa-brand-card-image,
.gwa-gridx-light .about-me-box .img-box .gwa-hero-card-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gwa-gridx-light .about-me-box .img-box .gwa-brand-card-image {
    padding: 24px;
}

.gwa-gridx-light .about-me-box .img-box .gwa-hero-card-image {
    padding: 0;
    object-position: right center;
}

.gwa-gridx-light .about-crenditials-box .gwa-certificate-card-image {
    box-sizing: border-box;
    width: 100%;
    height: auto !important;
    aspect-ratio: 3 / 2;
    margin-bottom: 26px;
    padding: 8px;
    border-radius: 20px;
    background: var(--gwa-paper);
    object-fit: contain;
}

.gwa-gridx-light .projects-area .project-item {
    transition: transform .25s ease, box-shadow .25s ease;
}

.gwa-gridx-light .projects-area .project-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 65px rgba(42, 35, 26, .1);
}

.gwa-gridx-light .info-box .about-btn,
.gwa-gridx-light .projects-area .project-item .project-btn {
    opacity: .46;
}

.gwa-gridx-light .info-box:hover .about-btn,
.gwa-gridx-light .projects-area .project-item:hover .project-btn {
    opacity: 1;
}

.gwa-gridx-light .info-box .inner-profile-icons {
    background: var(--gwa-paper);
}

.gwa-gridx-light .info-box .inner-profile-icons a:hover {
    background: var(--gwa-ink);
    color: #fff;
}

.gwa-gridx-light .contact-area .contact-form form .input-group textarea:focus,
.gwa-gridx-light .contact-area .contact-form form .input-group input:focus {
    border-color: var(--gwa-orange);
    box-shadow: 0 0 0 3px rgba(255, 107, 33, .12);
}

.gwa-gridx-light .footer-area {
    color: #665f63;
}

@media (min-width: 768px) {
    .gwa-gridx-light.home .about-me-box {
        min-height: 388px;
        padding: 34px 42px;
        flex-direction: row-reverse;
        align-items: center;
        overflow: hidden;
    }

    .gwa-gridx-light.home .about-me-box::before {
        content: '';
        position: absolute;
        top: 34px;
        left: 34px;
        width: 34px;
        height: 34px;
        border-top: 3px solid var(--gwa-blue);
        border-left: 3px solid var(--gwa-blue);
        border-radius: 2px 0 0;
        pointer-events: none;
    }

    .gwa-gridx-light.home .about-me-box::after {
        content: 'Scopri di più  →';
        position: absolute;
        left: 42px;
        bottom: 34px;
        z-index: 3;
        padding: 12px 20px;
        border-radius: 999px;
        background: var(--gwa-orange);
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        line-height: 1;
        pointer-events: none;
    }

    .gwa-gridx-light.home .about-me-box .img-box {
        width: 58%;
        height: 322px;
        flex: none;
        overflow: visible;
        border-radius: 0 !important;
    }

    .gwa-gridx-light.home .about-me-box .img-box::after {
        content: '';
        position: absolute;
        top: 8px;
        right: 8px;
        width: 34px;
        height: 34px;
        border-top: 3px solid var(--gwa-coral);
        border-right: 3px solid var(--gwa-coral);
        pointer-events: none;
    }

    .gwa-gridx-light.home .about-me-box .infos {
        width: 42%;
        padding: 0 0 66px;
        position: relative;
        z-index: 2;
    }

    .gwa-gridx-light.home .about-me-box .infos h1 {
        max-width: 440px;
        margin-bottom: 18px;
        font-size: clamp(44px, 4.2vw, 62px);
        line-height: .98;
        letter-spacing: -.045em;
    }

    .gwa-gridx-light.home .about-me-box .infos p {
        max-width: 470px;
        color: #484652;
        font-size: 16px;
        line-height: 1.55;
    }

    .gwa-gridx-light.home .about-me-box .infos > div {
        display: none !important;
    }

    .gwa-gridx-light.home .about-me-box .infos .about-btn {
        display: none;
    }

    .gwa-gridx-light .gwa-heading-accent {
        color: var(--gwa-orange);
    }

    .gwa-gridx-light .about-services-box .icon-boxes {
        gap: 16px;
        margin-top: 30px;
        margin-bottom: 44px;
    }

    .gwa-gridx-light .about-services-box .gwa-service-item {
        display: flex;
        flex: 1;
        min-width: 0;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        color: #fff;
        text-align: center;
    }

    .gwa-gridx-light .about-services-box .gwa-service-item i {
        font-size: 38px;
    }

    .gwa-gridx-light .about-services-box .gwa-service-item strong {
        max-width: 150px;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
    }

    .gwa-gridx-light .about-project-box .gwa-work-card-image,
    .gwa-gridx-light .about-crenditials-box .gwa-certificate-card-image {
        height: 160px !important;
        aspect-ratio: auto;
    }

    /* Il ritmo 2/3 + 1/3 riprende la composizione scelta nel rendering. */
    .gwa-gridx-light.home .elementor-column:has(.about-client-box) {
        width: 66.666% !important;
    }

    .gwa-gridx-light.home .elementor-column:has(.about-contact-box) {
        width: 33.333% !important;
    }

    .gwa-gridx-light.home .elementor-column:has(.about-client-box) > .elementor-widget-wrap,
    .gwa-gridx-light.home .elementor-column:has(.about-contact-box) > .elementor-widget-wrap,
    .gwa-gridx-light.home .elementor-column:has(.about-client-box) .elementor-widget,
    .gwa-gridx-light.home .elementor-column:has(.about-contact-box) .elementor-widget,
    .gwa-gridx-light.home .elementor-column:has(.about-client-box) .elementor-widget-container,
    .gwa-gridx-light.home .elementor-column:has(.about-contact-box) .elementor-widget-container {
        height: 100%;
    }

    .gwa-gridx-light.home .about-client-box,
    .gwa-gridx-light.home .about-contact-box {
        height: 100%;
        min-height: 260px;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .header-area .logo img,
    .gwa-gridx-light .footer-area .footer-content .logo img {
        max-width: 185px;
        max-height: 64px;
    }

    .gwa-gridx-light .header-area .gx-row {
        min-height: 64px;
    }

    .gwa-gridx-light .header-area .logo img {
        transform: translateY(4px);
    }

    .gwa-gridx-light .section-heading {
        font-size: 44px;
    }

    .gwa-gridx-light .about-me-box .img-box .gwa-brand-card-image {
        padding: 18px;
    }

    .gwa-gridx-light .about-me-box .img-box .gwa-hero-card-image {
        padding: 8px;
    }

    .gwa-gridx-light .gwa-heading-accent {
        color: var(--gwa-orange);
    }

    .gwa-gridx-light .about-services-box .icon-boxes {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px 14px;
        margin: 28px 0 36px;
    }

    .gwa-gridx-light .about-services-box .gwa-service-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        color: #fff;
        text-align: center;
    }

    .gwa-gridx-light .about-services-box .gwa-service-item strong {
        font-size: 12px;
        line-height: 1.15;
    }
}

/* Versione 1.5: scala più contenuta, hero non ritagliata e CTA riequilibrata. */
.gwa-gridx-light .gwa-render-shell {
    width: calc(100% - 120px);
    max-width: 1500px;
}

.gwa-gridx-light .gwa-render-header,
.gwa-gridx-light .gwa-render-header .gwa-render-shell {
    height: 92px;
}

.gwa-gridx-light .gwa-render-header .logo img {
    width: 240px;
    max-height: 82px;
    transform: translateY(4px);
}

.gwa-gridx-light .gwa-render-header .navbar .menu {
    gap: clamp(24px, 2.4vw, 42px);
}

.gwa-gridx-light .gwa-render-header .navbar .menu li a {
    padding: 32px 0 28px;
    font-size: 16px;
}

.gwa-gridx-light .gwa-render-header .theme-btn {
    min-width: 248px;
    margin-left: 48px;
    padding: 12px 22px;
    font-size: 16px;
}

.gwa-gridx-light .gwa-render-home {
    padding-top: 20px;
}

.gwa-gridx-light .gwa-render-hero {
    height: 360px;
}

.gwa-gridx-light .gwa-render-hero-copy {
    padding: 60px 30px 32px 64px;
}

.gwa-gridx-light .gwa-render-corner {
    width: 68px;
    height: 60px;
    top: 34px;
    left: 34px;
}

.gwa-gridx-light .gwa-render-corner-right {
    width: 58px;
    height: 60px;
    top: 34px;
    right: 34px;
}

.gwa-gridx-light .gwa-render-hero h1 {
    margin-bottom: 18px;
    font-size: clamp(50px, 3.6vw, 64px);
}

.gwa-gridx-light .gwa-render-hero-description {
    font-size: clamp(17px, 1.15vw, 21px);
}

.gwa-gridx-light .gwa-render-primary-btn {
    min-width: 205px;
    min-height: 56px;
    font-size: 17px;
}

.gwa-gridx-light .gwa-render-hero-media {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gwa-paper);
}

.gwa-gridx-light .gwa-render-hero-media img {
    object-fit: contain;
    object-position: center;
}

.gwa-gridx-light .gwa-render-main-row > .gwa-render-card {
    height: 300px;
}

.gwa-gridx-light .gwa-render-side-card {
    padding: 24px 26px 22px;
}

.gwa-gridx-light .gwa-render-side-media {
    height: 168px;
    margin-bottom: 14px;
}

.gwa-gridx-light .gwa-render-kicker {
    margin-bottom: 6px;
    font-size: 13px;
}

.gwa-gridx-light .gwa-render-side-card h2 {
    font-size: 29px;
}

.gwa-gridx-light .gwa-render-arrow {
    width: 54px;
    height: 54px;
    font-size: 27px;
}

.gwa-gridx-light .gwa-render-services {
    padding: 27px 34px 22px;
}

.gwa-gridx-light .gwa-render-services::before,
.gwa-gridx-light .gwa-render-services::after {
    width: 58px;
    height: 48px;
    top: 42px;
}

.gwa-gridx-light .gwa-render-services::before { left: 34px; }
.gwa-gridx-light .gwa-render-services::after { right: 34px; }

.gwa-gridx-light .gwa-render-services h2 {
    font-size: 39px;
}

.gwa-gridx-light .gwa-render-service-list {
    min-height: 144px;
    margin-top: 10px;
}

.gwa-gridx-light .gwa-render-service {
    min-height: 144px;
    padding: 18px 18px 0;
    gap: 13px;
}

.gwa-gridx-light .gwa-render-service svg {
    width: 54px;
    height: 54px;
}

.gwa-gridx-light .gwa-render-service strong {
    font-size: 18px;
}

.gwa-gridx-light .gwa-render-services .gwa-render-arrow {
    right: 28px;
    bottom: 24px;
}

.gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card {
    height: 240px;
}

.gwa-gridx-light .gwa-render-stats {
    padding: 45px 38px 30px;
}

.gwa-gridx-light .gwa-render-stat strong {
    margin-bottom: 12px;
    font-size: 46px;
}

.gwa-gridx-light .gwa-render-stat span {
    font-size: 14px;
}

.gwa-gridx-light .gwa-render-stat::after {
    margin-top: 23px;
}

.gwa-gridx-light .gwa-render-contact {
    isolation: isolate;
    padding: 30px 38px;
    background: linear-gradient(140deg, #174db8 0%, #0b328e 100%);
}

.gwa-gridx-light .gwa-render-contact::before {
    content: '';
    position: absolute;
    z-index: 0;
    width: 180px;
    height: 180px;
    top: -92px;
    right: -46px;
    border-radius: 50%;
    background: #315bc9;
    opacity: .9;
}

.gwa-gridx-light .gwa-render-contact::after {
    content: '';
    position: absolute;
    z-index: 0;
    width: 150px;
    height: 150px;
    right: -35px;
    bottom: -55px;
    border-radius: 75px 0 0;
    background: linear-gradient(135deg, #ff6b2b 0 46%, #6a28e8 47% 72%, #fff6e9 73%);
}

.gwa-gridx-light .gwa-render-contact h2 {
    max-width: 330px;
    font-size: clamp(38px, 2.5vw, 48px);
    line-height: 1;
}

.gwa-gridx-light .gwa-render-contact .gwa-render-arrow {
    left: 38px;
    bottom: 22px;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .gwa-gridx-light .gwa-render-shell {
        width: calc(100% - 80px);
    }

    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell {
        height: 84px;
    }

    .gwa-gridx-light .gwa-render-header .logo img {
        width: 205px;
        max-height: 72px;
    }

    .gwa-gridx-light .gwa-render-header .navbar,
    .gwa-gridx-light .gwa-render-header .theme-btn {
        display: none;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active {
        display: block;
        position: absolute;
        z-index: 50;
        top: 76px;
        right: 0;
        width: 250px;
        padding: 14px;
        border: 1px solid var(--gwa-line);
        border-radius: 18px;
        background: var(--gwa-paper);
        box-shadow: 0 18px 48px rgba(42, 35, 26, .14);
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu li a {
        padding: 11px 15px;
    }

    .gwa-gridx-light .gwa-render-header .show-menu {
        display: flex;
        margin-left: auto;
    }

    .gwa-gridx-light .gwa-render-home {
        padding-top: 18px;
    }

    .gwa-gridx-light .gwa-render-hero {
        height: 340px;
        grid-template-columns: 40% 60%;
    }

    .gwa-gridx-light .gwa-render-hero-copy {
        padding: 54px 24px 28px 44px;
    }

    .gwa-gridx-light .gwa-render-corner {
        top: 28px;
        left: 24px;
    }

    .gwa-gridx-light .gwa-render-hero h1 {
        font-size: 54px;
    }

    .gwa-gridx-light .gwa-render-hero-description {
        font-size: 17px;
    }

    .gwa-gridx-light .gwa-render-main-row > .gwa-render-card {
        height: 276px;
    }

    .gwa-gridx-light .gwa-render-side-card {
        padding: 20px;
    }

    .gwa-gridx-light .gwa-render-side-media {
        height: 148px;
    }

    .gwa-gridx-light .gwa-render-services {
        padding: 23px 26px 18px;
    }

    .gwa-gridx-light .gwa-render-services h2 {
        font-size: 34px;
    }

    .gwa-gridx-light .gwa-render-service-list,
    .gwa-gridx-light .gwa-render-service {
        min-height: 130px;
    }

    .gwa-gridx-light .gwa-render-service {
        padding: 15px 10px 0;
    }

    .gwa-gridx-light .gwa-render-service svg {
        width: 45px;
        height: 45px;
    }

    .gwa-gridx-light .gwa-render-service strong {
        font-size: 15px;
    }

    .gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card {
        height: 220px;
    }

    .gwa-gridx-light .gwa-render-contact h2 {
        font-size: 40px;
    }
}

/*
 * Homepage 1.4 — struttura dedicata al rendering approvato.
 * Queste regole non dipendono dalle colonne di Elementor: dimensioni e ordine
 * dei riquadri restano quindi coerenti anche dopo gli aggiornamenti del tema.
 */
.gwa-gridx-light .gwa-render-header {
    height: 104px;
}

.gwa-gridx-light .gwa-render-shell {
    width: calc(100% - 128px);
    max-width: 1800px;
    margin-inline: auto;
}

.gwa-gridx-light .gwa-render-header .gwa-render-shell {
    height: 104px;
    padding-inline: 8px 18px;
    justify-content: flex-start !important;
}

.gwa-gridx-light .gwa-render-header .logo img {
    width: 290px;
    max-width: none;
    max-height: 98px;
    transform: translateY(9px);
}

.gwa-gridx-light .gwa-render-header .navbar {
    margin-left: auto;
}

.gwa-gridx-light .gwa-render-header .show-menu {
    padding: 0;
    border: 0;
    background: transparent;
}

.gwa-gridx-light .gwa-render-header .navbar .menu {
    gap: clamp(28px, 3.2vw, 58px);
}

.gwa-gridx-light .gwa-render-header .navbar .menu li a {
    padding: 38px 0 34px;
    color: var(--gwa-ink);
    font-size: 18px;
    font-weight: 500;
}

.gwa-gridx-light .gwa-render-header .navbar .menu li.current-menu-item a {
    color: var(--gwa-ink);
}

.gwa-gridx-light .gwa-render-header .navbar .menu li.current-menu-item a::after {
    content: '';
    display: block;
    width: 54px;
    height: 3px;
    margin-top: 7px;
    border-radius: 999px;
    background: var(--gwa-orange);
}

.gwa-gridx-light .gwa-render-header .theme-btn {
    min-width: 306px;
    margin-left: 72px;
    padding: 15px 28px;
    border: 2px solid #cf765b;
    border-radius: 999px;
    color: var(--gwa-ink);
    font-size: 19px;
    font-weight: 700;
    text-align: center;
}

.gwa-gridx-light .gwa-render-header .theme-btn::after {
    content: '\2192';
    margin-left: 28px;
    font-size: 28px;
    line-height: 0;
    vertical-align: -2px;
}

.gwa-gridx-light .gwa-render-home {
    padding: 24px 0 44px;
}

.gwa-gridx-light .gwa-render-grid {
    display: grid;
    gap: 20px;
}

.gwa-gridx-light .gwa-render-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(121, 91, 65, .12);
    border-radius: 23px;
    background: var(--gwa-paper);
    box-shadow: 0 18px 50px rgba(74, 49, 27, .08);
}

.gwa-gridx-light .gwa-render-kicker {
    margin: 0 0 8px;
    color: #686573;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.gwa-gridx-light .gwa-render-arrow {
    display: inline-flex;
    width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    color: var(--gwa-ink);
    font-size: 32px;
    line-height: 1;
    transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.gwa-gridx-light .gwa-render-card:hover .gwa-render-arrow {
    transform: translateX(4px);
}

.gwa-gridx-light .gwa-render-hero {
    display: grid;
    height: 430px;
    grid-template-columns: 44% 56%;
}

.gwa-gridx-light .gwa-render-hero-copy {
    display: flex;
    position: relative;
    z-index: 2;
    padding: 74px 36px 40px 88px;
    flex-direction: column;
    align-items: flex-start;
}

.gwa-gridx-light .gwa-render-corner {
    position: absolute;
    width: 84px;
    height: 74px;
    top: 44px;
    left: 44px;
    border-top: 4px solid var(--gwa-blue);
    border-left: 4px solid var(--gwa-blue);
    border-radius: 4px 0 0;
}

.gwa-gridx-light .gwa-render-hero-copy .gwa-render-kicker {
    margin-left: 2px;
}

.gwa-gridx-light .gwa-render-hero h1 {
    margin: 0 0 22px;
    color: #090d2d;
    font-size: clamp(56px, 4vw, 76px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.045em;
}

.gwa-gridx-light .gwa-render-hero h1 span {
    color: #f14e18;
}

.gwa-gridx-light .gwa-render-hero-description {
    max-width: 620px;
    margin: 0;
    color: #1e233d;
    font-size: clamp(19px, 1.3vw, 25px);
    line-height: 1.45;
}

.gwa-gridx-light .gwa-render-primary-btn {
    display: inline-flex;
    min-width: 238px;
    min-height: 66px;
    margin-top: auto;
    padding: 13px 26px;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff6a1d, #ff4d10);
    box-shadow: 0 12px 24px rgba(255, 83, 20, .2);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

.gwa-gridx-light .gwa-render-primary-btn:hover {
    color: #fff;
    transform: translateY(-2px);
}

.gwa-gridx-light .gwa-render-hero-media {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.gwa-gridx-light .gwa-render-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.gwa-gridx-light .gwa-render-corner-right {
    position: absolute;
    z-index: 2;
    width: 70px;
    height: 72px;
    top: 44px;
    right: 44px;
    border-top: 4px solid var(--gwa-coral);
    border-right: 4px solid var(--gwa-coral);
}

.gwa-gridx-light .gwa-render-main-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.15fr) minmax(0, 1fr);
}

.gwa-gridx-light .gwa-render-main-row > .gwa-render-card {
    height: 352px;
}

.gwa-gridx-light .gwa-render-side-card {
    display: flex;
    padding: 30px 32px 28px;
    flex-direction: column;
}

.gwa-gridx-light .gwa-render-side-media {
    display: flex;
    height: 204px;
    margin-bottom: 18px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 17px;
    background: rgba(248, 242, 233, .72);
}

.gwa-gridx-light .gwa-render-side-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gwa-gridx-light .gwa-render-side-meta {
    display: flex;
    margin-top: auto;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.gwa-gridx-light .gwa-render-side-card h2 {
    margin: 0;
    color: #101329;
    font-size: 34px;
    font-weight: 650;
    line-height: 1;
}

.gwa-gridx-light .gwa-render-services {
    display: flex;
    padding: 32px 40px 28px;
    flex-direction: column;
    background:
        linear-gradient(118deg, rgba(213, 105, 75, .98), rgba(170, 75, 57, .98));
    color: #fffaf2;
}

.gwa-gridx-light .gwa-render-services::before,
.gwa-gridx-light .gwa-render-services::after {
    content: '';
    position: absolute;
    width: 70px;
    height: 58px;
    pointer-events: none;
}

.gwa-gridx-light .gwa-render-services::before {
    top: 52px;
    left: 40px;
    border-top: 4px solid #ff6b21;
    border-left: 4px solid #ff6b21;
}

.gwa-gridx-light .gwa-render-services::after {
    top: 52px;
    right: 40px;
    border-top: 4px solid #7029ec;
    border-right: 4px solid #7029ec;
}

.gwa-gridx-light .gwa-render-services .gwa-render-kicker,
.gwa-gridx-light .gwa-render-services h2 {
    color: #fff8ee;
}

.gwa-gridx-light .gwa-render-services h2 {
    margin: 0;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
}

.gwa-gridx-light .gwa-render-services h2 span {
    color: #ffae70;
}

.gwa-gridx-light .gwa-render-service-list {
    display: grid;
    min-height: 178px;
    margin-top: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gwa-gridx-light .gwa-render-service {
    display: flex;
    min-height: 178px;
    padding: 28px 24px 0;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    border-right: 1px solid rgba(255, 248, 238, .28);
    text-align: center;
}

.gwa-gridx-light .gwa-render-service:last-child {
    border-right: 0;
}

.gwa-gridx-light .gwa-render-service svg {
    width: 66px;
    height: 66px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

.gwa-gridx-light .gwa-render-service:nth-child(1) { color: #1f8cff; }
.gwa-gridx-light .gwa-render-service:nth-child(2) { color: #ff7628; }
.gwa-gridx-light .gwa-render-service:nth-child(3) { color: #6427f2; }

.gwa-gridx-light .gwa-render-service strong {
    max-width: 190px;
    color: #fff;
    font-size: 21px;
    line-height: 1.15;
}

.gwa-gridx-light .gwa-render-services .gwa-render-arrow {
    position: absolute;
    right: 38px;
    bottom: 31px;
    color: rgba(255, 255, 255, .88);
}

.gwa-gridx-light .gwa-render-bottom-row {
    grid-template-columns: minmax(0, 2.05fr) minmax(360px, 1fr);
}

.gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card {
    height: 286px;
}

.gwa-gridx-light .gwa-render-stats {
    display: grid;
    padding: 56px 54px 42px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    background:
        radial-gradient(circle at 0 0, #f1e6d6 0 118px, transparent 120px),
        radial-gradient(circle at 0 100%, #ff6527 0 100px, transparent 102px),
        radial-gradient(circle at 100% 0, #f7ecde 0 118px, transparent 120px),
        var(--gwa-paper);
}

.gwa-gridx-light .gwa-render-stat {
    position: relative;
    text-align: center;
}

.gwa-gridx-light .gwa-render-stat + .gwa-render-stat {
    border-left: 1px solid rgba(103, 87, 77, .18);
}

.gwa-gridx-light .gwa-render-stat strong {
    display: block;
    margin-bottom: 14px;
    font-size: 54px;
    line-height: 1;
}

.gwa-gridx-light .gwa-render-stat:nth-child(1) strong { color: #ff531a; }
.gwa-gridx-light .gwa-render-stat:nth-child(2) strong { color: #164bc2; }
.gwa-gridx-light .gwa-render-stat:nth-child(3) strong { color: #6121de; }

.gwa-gridx-light .gwa-render-stat span {
    display: block;
    color: #303144;
    font-size: 17px;
    line-height: 1.35;
    text-transform: uppercase;
}

.gwa-gridx-light .gwa-render-stat::after {
    content: '';
    display: block;
    width: 55px;
    height: 4px;
    margin: 29px auto 0;
    border-radius: 99px;
    background: currentColor;
}

.gwa-gridx-light .gwa-render-stat:nth-child(1) { color: #ff531a; }
.gwa-gridx-light .gwa-render-stat:nth-child(2) { color: #164bc2; }
.gwa-gridx-light .gwa-render-stat:nth-child(3) { color: #6121de; }

.gwa-gridx-light .gwa-render-contact {
    display: flex;
    padding: 38px 54px;
    flex-direction: column;
    justify-content: flex-start;
    background:
        radial-gradient(circle at 88% -8%, rgba(62, 92, 215, .82) 0 102px, transparent 104px),
        radial-gradient(circle at 100% 100%, #ff6429 0 108px, transparent 110px),
        radial-gradient(circle at 77% 115%, #6823e7 0 112px, transparent 114px),
        linear-gradient(135deg, #154bb9 0%, #0c3698 78%);
}

.gwa-gridx-light .gwa-render-contact::after {
    content: '';
    position: absolute;
    width: 130px;
    height: 130px;
    right: 42px;
    bottom: 0;
    border-radius: 66px 0 0;
    background: var(--gwa-paper);
}

.gwa-gridx-light .gwa-render-contact h2 {
    position: relative;
    z-index: 2;
    max-width: 390px;
    margin: 0;
    color: #fff;
    font-size: clamp(46px, 3vw, 58px);
    line-height: .98;
}

.gwa-gridx-light .gwa-render-contact h2 span {
    color: #ff7034;
}

.gwa-gridx-light .gwa-render-contact .gwa-render-arrow {
    position: absolute;
    z-index: 3;
    left: 42px;
    bottom: 24px;
    color: rgba(255, 255, 255, .9);
}

.gwa-gridx-light .gwa-render-footer {
    padding-top: 72px;
}

.gwa-gridx-light .gwa-render-footer .footer-content .logo img {
    width: 250px;
}

@media (max-width: 1199px) {
    .gwa-gridx-light .gwa-render-shell {
        width: calc(100% - 48px);
    }

    .gwa-gridx-light .gwa-render-header .gwa-render-shell {
        padding-inline: 0;
    }

    .gwa-gridx-light .gwa-render-header .logo img {
        width: 220px;
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu {
        gap: 24px;
    }

    .gwa-gridx-light .gwa-render-header .theme-btn {
        min-width: 220px;
        margin-left: 28px;
    }

    .gwa-gridx-light .gwa-render-hero {
        grid-template-columns: 43% 57%;
    }

    .gwa-gridx-light .gwa-render-hero-copy {
        padding-left: 44px;
    }

    .gwa-gridx-light .gwa-render-corner {
        left: 24px;
    }

    .gwa-gridx-light .gwa-render-service strong {
        font-size: 17px;
    }
}

/* 1.6.0: pagina Chi sono Gemini Web Art. */
.gwa-gridx-light .gwa-about-page {
    padding: 26px 0 0;
}

.gwa-gridx-light .gwa-about-page * {
    box-sizing: border-box;
}

.gwa-gridx-light .gwa-about-shell {
    display: grid;
    width: min(1400px, calc(100% - 72px));
    margin: 0 auto;
    gap: 22px;
}

.gwa-gridx-light .gwa-about-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--gwa-line);
    border-radius: 30px;
    background: var(--gwa-paper);
    box-shadow: 0 18px 48px rgba(69, 48, 31, .07);
}

.gwa-gridx-light .gwa-about-eyebrow {
    margin: 0 0 13px;
    color: #6f6870;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.gwa-gridx-light .gwa-about-hero {
    display: grid;
    min-height: 470px;
    grid-template-columns: minmax(0, 1.18fr) minmax(390px, .82fr);
}

.gwa-gridx-light .gwa-about-hero-copy {
    display: flex;
    z-index: 2;
    padding: 66px 68px 58px;
    flex-direction: column;
    align-items: flex-start;
}

.gwa-gridx-light .gwa-about-hero-copy::before {
    content: '';
    position: absolute;
    width: 74px;
    height: 62px;
    top: 38px;
    left: 38px;
    border-top: 4px solid var(--gwa-blue);
    border-left: 4px solid var(--gwa-blue);
}

.gwa-gridx-light .gwa-about-hero h1 {
    max-width: 760px;
    margin: 0 0 24px;
    color: #0c102f;
    font-size: clamp(54px, 5.25vw, 82px);
    font-weight: 720;
    line-height: .98;
    letter-spacing: -.05em;
}

.gwa-gridx-light .gwa-about-hero h1 span {
    color: #ef5b24;
}

.gwa-gridx-light .gwa-about-lead {
    max-width: 690px;
    margin: 0;
    color: #3e4052;
    font-size: clamp(18px, 1.45vw, 23px);
    line-height: 1.5;
}

.gwa-gridx-light .gwa-about-actions {
    display: flex;
    margin-top: auto;
    align-items: center;
    gap: 14px;
}

.gwa-gridx-light .gwa-about-button {
    display: inline-flex;
    min-height: 54px;
    padding: 12px 24px;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border: 1px solid #ef5b24;
    border-radius: 999px;
    color: #15172b;
    font-size: 16px;
    font-weight: 700;
}

.gwa-gridx-light .gwa-about-button--primary,
.gwa-gridx-light .gwa-about-button:hover {
    background: #ef5b24;
    color: #fff;
}

.gwa-gridx-light .gwa-about-identity {
    display: flex;
    position: relative;
    min-width: 0;
    padding: 54px 46px 44px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 14% 12%, rgba(255, 102, 38, .95) 0 84px, transparent 86px),
        radial-gradient(circle at 92% 16%, rgba(17, 89, 222, .98) 0 118px, transparent 120px),
        linear-gradient(145deg, #17275f, #0e3495);
}

.gwa-gridx-light .gwa-about-identity::before,
.gwa-gridx-light .gwa-about-identity::after {
    content: '';
    position: absolute;
    pointer-events: none;
}

.gwa-gridx-light .gwa-about-identity::before {
    width: 170px;
    height: 170px;
    right: -42px;
    bottom: -58px;
    border-radius: 50%;
    background: #6525e6;
}

.gwa-gridx-light .gwa-about-identity::after {
    width: 104px;
    height: 104px;
    left: -24px;
    bottom: -28px;
    border-radius: 52px 0 0;
    background: #fff4e5;
}

.gwa-gridx-light .gwa-about-brand-panel {
    position: relative;
    z-index: 2;
    width: min(100%, 430px);
    padding: 42px 34px 30px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 26px;
    background: rgba(255, 250, 242, .94);
    box-shadow: 0 24px 55px rgba(2, 15, 65, .24);
    text-align: center;
}

.gwa-gridx-light .gwa-about-brand-panel img {
    width: min(100%, 330px);
    height: auto;
}

.gwa-gridx-light .gwa-about-role {
    margin: 18px 0 0;
    color: #15172b;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.gwa-gridx-light .gwa-about-tags {
    display: flex;
    position: relative;
    z-index: 2;
    margin-top: 18px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.gwa-gridx-light .gwa-about-tags span {
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 13px;
    font-weight: 650;
}

.gwa-gridx-light .gwa-about-story-row {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(380px, .72fr);
    gap: 22px;
}

.gwa-gridx-light .gwa-about-story {
    padding: 54px 60px;
}

.gwa-gridx-light .gwa-about-story h2,
.gwa-gridx-light .gwa-about-section-heading h2,
.gwa-gridx-light .gwa-about-process h2 {
    margin: 0;
    color: #11142a;
    font-size: clamp(36px, 3.4vw, 54px);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.gwa-gridx-light .gwa-about-story h2 {
    max-width: 650px;
    margin-bottom: 28px;
}

.gwa-gridx-light .gwa-about-story h2 span {
    color: #ef5b24;
}

.gwa-gridx-light .gwa-about-story-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
}

.gwa-gridx-light .gwa-about-story p {
    margin: 0;
    color: #565260;
    font-size: 17px;
    line-height: 1.68;
}

.gwa-gridx-light .gwa-about-process {
    padding: 46px 44px;
    background: linear-gradient(145deg, #174db8, #0c318c);
}

.gwa-gridx-light .gwa-about-process .gwa-about-eyebrow,
.gwa-gridx-light .gwa-about-process h2 {
    color: #fff;
}

.gwa-gridx-light .gwa-about-process h2 {
    max-width: 420px;
    font-size: clamp(34px, 2.6vw, 46px);
}

.gwa-gridx-light .gwa-about-process-list {
    display: grid;
    margin: 32px 0 0;
    padding: 0;
    list-style: none;
    gap: 0;
}

.gwa-gridx-light .gwa-about-process-list li {
    display: grid;
    padding: 15px 0;
    grid-template-columns: 42px 1fr;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 17px;
    font-weight: 650;
}

.gwa-gridx-light .gwa-about-process-list span {
    color: #ff8b54;
    font-size: 13px;
    letter-spacing: .08em;
}

.gwa-gridx-light .gwa-about-expertise {
    padding: 34px 0 0;
}

.gwa-gridx-light .gwa-about-section-heading {
    display: flex;
    padding: 0 14px 24px;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
}

.gwa-gridx-light .gwa-about-section-heading p {
    max-width: 470px;
    margin: 0;
    color: #5d5860;
    font-size: 16px;
    line-height: 1.55;
}

.gwa-gridx-light .gwa-about-expertise-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gwa-gridx-light .gwa-about-skill {
    min-height: 300px;
    padding: 38px 38px 34px;
}

.gwa-gridx-light .gwa-about-skill::before {
    content: '';
    position: absolute;
    height: 5px;
    top: 0;
    right: 0;
    left: 0;
    background: var(--skill-accent, var(--gwa-blue));
}

.gwa-gridx-light .gwa-about-skill:nth-child(2) { --skill-accent: #ef5b24; }
.gwa-gridx-light .gwa-about-skill:nth-child(3) { --skill-accent: #6724df; }

.gwa-gridx-light .gwa-about-skill-icon {
    display: inline-flex;
    width: 64px;
    height: 64px;
    margin-bottom: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: color-mix(in srgb, var(--skill-accent, var(--gwa-blue)) 11%, white);
    color: var(--skill-accent, var(--gwa-blue));
}

.gwa-gridx-light .gwa-about-skill-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.gwa-gridx-light .gwa-about-skill h3 {
    margin: 0 0 13px;
    color: #11142a;
    font-size: 27px;
    line-height: 1.08;
}

.gwa-gridx-light .gwa-about-skill p {
    margin: 0;
    color: #615c64;
    font-size: 16px;
    line-height: 1.6;
}

.gwa-gridx-light .gwa-about-cta {
    display: grid;
    min-height: 245px;
    margin-top: 12px;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
    background: linear-gradient(115deg, #fff9f0 0%, #fff2e5 65%, #eee9ff 100%);
}

.gwa-gridx-light .gwa-about-cta-copy {
    display: flex;
    padding: 46px 58px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.gwa-gridx-light .gwa-about-cta h2 {
    max-width: 760px;
    margin: 0 0 24px;
    color: #11142a;
    font-size: clamp(38px, 3.2vw, 54px);
    line-height: 1;
    letter-spacing: -.04em;
}

.gwa-gridx-light .gwa-about-cta h2 span {
    color: #ef5b24;
}

.gwa-gridx-light .gwa-about-cta-art {
    position: relative;
    overflow: hidden;
    background: #1245aa;
}

.gwa-gridx-light .gwa-about-cta-art::before {
    content: '';
    position: absolute;
    width: 210px;
    height: 210px;
    top: -52px;
    right: -24px;
    border-radius: 50%;
    background: #087cff;
}

.gwa-gridx-light .gwa-about-cta-art::after {
    content: '';
    position: absolute;
    width: 190px;
    height: 190px;
    bottom: -55px;
    left: -22px;
    border-radius: 95px 0 0;
    background: linear-gradient(135deg, #ff6b21 0 48%, #6824e5 49% 74%, #fff5e7 75%);
}

@media (max-width: 1199px) {
    .gwa-gridx-light .gwa-about-shell {
        width: calc(100% - 48px);
    }

    .gwa-gridx-light .gwa-about-hero {
        min-height: 420px;
        grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    }

    .gwa-gridx-light .gwa-about-hero-copy {
        padding: 56px 46px 46px;
    }

    .gwa-gridx-light .gwa-about-story-row {
        grid-template-columns: 1fr 1fr;
    }

    .gwa-gridx-light .gwa-about-story {
        padding: 44px;
    }

    .gwa-gridx-light .gwa-about-story-columns {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 991px) {
    .gwa-gridx-light .gwa-about-hero,
    .gwa-gridx-light .gwa-about-story-row {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-about-identity {
        min-height: 390px;
    }

    .gwa-gridx-light .gwa-about-expertise-grid {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-about-skill {
        min-height: 0;
    }

    .gwa-gridx-light .gwa-about-skill-icon {
        margin-bottom: 28px;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-about-page {
        padding-top: 16px;
    }

    .gwa-gridx-light .gwa-about-shell {
        width: calc(100% - 28px);
        gap: 16px;
    }

    .gwa-gridx-light .gwa-about-card {
        border-radius: 24px;
    }

    .gwa-gridx-light .gwa-about-hero-copy {
        min-height: 470px;
        padding: 50px 26px 30px;
    }

    .gwa-gridx-light .gwa-about-hero-copy::before {
        width: 48px;
        height: 44px;
        top: 22px;
        left: 20px;
    }

    .gwa-gridx-light .gwa-about-hero h1 {
        font-size: 46px;
    }

    .gwa-gridx-light .gwa-about-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .gwa-gridx-light .gwa-about-button {
        width: 100%;
    }

    .gwa-gridx-light .gwa-about-identity {
        min-height: 330px;
        padding: 34px 22px;
    }

    .gwa-gridx-light .gwa-about-brand-panel {
        padding: 30px 24px 22px;
    }

    .gwa-gridx-light .gwa-about-story,
    .gwa-gridx-light .gwa-about-process,
    .gwa-gridx-light .gwa-about-skill {
        padding: 32px 26px;
    }

    .gwa-gridx-light .gwa-about-section-heading {
        padding: 0 4px 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    .gwa-gridx-light .gwa-about-cta {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-about-cta-copy {
        padding: 38px 28px;
    }

    .gwa-gridx-light .gwa-about-cta-art {
        min-height: 170px;
    }
}

@media (max-width: 991px) {
    .gwa-gridx-light .gwa-render-header .theme-btn {
        display: none;
    }

    .gwa-gridx-light .gwa-render-hero {
        height: auto;
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-render-hero-copy {
        min-height: 380px;
        padding: 74px 42px 36px;
    }

    .gwa-gridx-light .gwa-render-hero-media {
        height: 360px;
    }

    .gwa-gridx-light .gwa-render-main-row {
        grid-template-columns: 1fr 1fr;
    }

    .gwa-gridx-light .gwa-render-services {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .gwa-gridx-light .gwa-render-bottom-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell {
        height: 78px;
    }

    .gwa-gridx-light .gwa-render-shell {
        width: calc(100% - 28px);
    }

    .gwa-gridx-light .gwa-render-header .logo img {
        width: 180px;
    }

    .gwa-gridx-light .gwa-render-header .navbar {
        top: 78px;
    }

    .gwa-gridx-light .gwa-render-header .show-menu {
        margin-left: auto;
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu li a {
        padding: 11px 20px;
        font-size: 16px;
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu li.current-menu-item a::after {
        display: none;
    }

    .gwa-gridx-light .gwa-render-home {
        padding-top: 14px;
    }

    .gwa-gridx-light .gwa-render-hero-copy {
        min-height: 390px;
        padding: 70px 26px 28px;
    }

    .gwa-gridx-light .gwa-render-corner {
        width: 58px;
        height: 52px;
        top: 24px;
        left: 22px;
    }

    .gwa-gridx-light .gwa-render-hero h1 {
        font-size: 52px;
    }

    .gwa-gridx-light .gwa-render-hero-description {
        font-size: 18px;
    }

    .gwa-gridx-light .gwa-render-primary-btn {
        min-width: 210px;
        min-height: 58px;
        font-size: 17px;
    }

    .gwa-gridx-light .gwa-render-hero-media {
        height: 260px;
    }

    .gwa-gridx-light .gwa-render-main-row,
    .gwa-gridx-light .gwa-render-bottom-row {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-render-main-row > .gwa-render-card,
    .gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card {
        height: auto;
        min-height: 330px;
    }

    .gwa-gridx-light .gwa-render-services {
        padding: 34px 24px 28px;
    }

    .gwa-gridx-light .gwa-render-services::before,
    .gwa-gridx-light .gwa-render-services::after {
        display: none;
    }

    .gwa-gridx-light .gwa-render-services h2 {
        font-size: 36px;
    }

    .gwa-gridx-light .gwa-render-service-list {
        margin-top: 42px;
    }

    .gwa-gridx-light .gwa-render-service {
        min-height: 132px;
        padding-inline: 8px;
    }

    .gwa-gridx-light .gwa-render-service svg {
        width: 48px;
        height: 48px;
    }

    .gwa-gridx-light .gwa-render-service strong {
        font-size: 14px;
    }

    .gwa-gridx-light .gwa-render-services .gwa-render-arrow {
        display: none;
    }

    .gwa-gridx-light .gwa-render-stats {
        padding: 38px 22px 30px;
    }

    .gwa-gridx-light .gwa-render-stat strong {
        font-size: 37px;
    }

    .gwa-gridx-light .gwa-render-stat span {
        font-size: 11px;
    }

    .gwa-gridx-light .gwa-render-contact {
        min-height: 310px !important;
        padding: 34px 28px;
    }

    .gwa-gridx-light .gwa-render-contact h2 {
        font-size: 47px;
    }
}

/* 1.5 final tuning: deliberately placed after the 1.4 responsive foundation. */
@media (min-width: 1200px) {
    .gwa-gridx-light .gwa-render-shell { width: calc(100% - 120px); max-width: 1500px; }
    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell { height: 92px; }
    .gwa-gridx-light .gwa-render-header .logo img { width: 240px; max-height: 82px; transform: translateY(4px); }
    .gwa-gridx-light .gwa-render-header .navbar .menu { gap: clamp(24px, 2.4vw, 42px); }
    .gwa-gridx-light .gwa-render-header .navbar .menu li a { padding: 32px 0 28px; font-size: 16px; }
    .gwa-gridx-light .gwa-render-header .theme-btn { min-width: 248px; margin-left: 48px; padding: 12px 22px; font-size: 16px; }
    .gwa-gridx-light .gwa-render-home { padding-top: 20px; }
    .gwa-gridx-light .gwa-render-hero { height: 360px; }
    .gwa-gridx-light .gwa-render-hero-copy { padding: 60px 30px 32px 64px; }
    .gwa-gridx-light .gwa-render-corner { width: 68px; height: 60px; top: 34px; left: 34px; }
    .gwa-gridx-light .gwa-render-corner-right { width: 58px; height: 60px; top: 34px; right: 34px; }
    .gwa-gridx-light .gwa-render-hero h1 { margin-bottom: 18px; font-size: clamp(50px, 3.6vw, 64px); }
    .gwa-gridx-light .gwa-render-hero-description { font-size: clamp(17px, 1.15vw, 21px); }
    .gwa-gridx-light .gwa-render-primary-btn { min-width: 205px; min-height: 56px; font-size: 17px; }
    .gwa-gridx-light .gwa-render-main-row > .gwa-render-card { height: 300px; }
    .gwa-gridx-light .gwa-render-side-card { padding: 24px 26px 22px; }
    .gwa-gridx-light .gwa-render-side-media { height: 168px; margin-bottom: 14px; }
    .gwa-gridx-light .gwa-render-side-card h2 { font-size: 29px; }
    .gwa-gridx-light .gwa-render-services { padding: 27px 34px 22px; }
    .gwa-gridx-light .gwa-render-services h2 { font-size: 39px; }
    .gwa-gridx-light .gwa-render-service-list,
    .gwa-gridx-light .gwa-render-service { min-height: 144px; }
    .gwa-gridx-light .gwa-render-service-list { margin-top: 10px; }
    .gwa-gridx-light .gwa-render-service { padding: 18px 18px 0; gap: 13px; }
    .gwa-gridx-light .gwa-render-service svg { width: 54px; height: 54px; }
    .gwa-gridx-light .gwa-render-service strong { font-size: 18px; }
    .gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card { height: 240px; }
    .gwa-gridx-light .gwa-render-stats { padding: 45px 38px 30px; }
    .gwa-gridx-light .gwa-render-stat strong { margin-bottom: 12px; font-size: 46px; }
    .gwa-gridx-light .gwa-render-stat span { font-size: 14px; }
    .gwa-gridx-light .gwa-render-stat::after { margin-top: 23px; }
}

.gwa-gridx-light .gwa-render-hero-media {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gwa-paper);
}

.gwa-gridx-light .gwa-render-hero-media img {
    object-fit: contain;
    object-position: center;
}

.gwa-gridx-light .gwa-render-contact {
    isolation: isolate;
    padding: 30px 38px;
    background: linear-gradient(140deg, #174db8 0%, #0b328e 100%);
}

.gwa-gridx-light .gwa-render-contact::before {
    content: '';
    position: absolute;
    z-index: 0;
    width: 160px;
    height: 160px;
    top: -86px;
    right: -42px;
    border-radius: 50%;
    background: #315bc9;
    opacity: .9;
}

.gwa-gridx-light .gwa-render-contact::after {
    content: '';
    position: absolute;
    z-index: 0;
    width: 126px;
    height: 126px;
    right: -30px;
    bottom: -48px;
    border-radius: 64px 0 0;
    background: linear-gradient(135deg, #ff6b2b 0 47%, #6a28e8 48% 73%, #fff6e9 74%);
}

.gwa-gridx-light .gwa-render-contact h2 {
    position: relative;
    z-index: 2;
    max-width: 310px;
    font-size: clamp(37px, 2.45vw, 47px);
    line-height: 1;
}

.gwa-gridx-light .gwa-render-contact .gwa-render-arrow {
    z-index: 3;
    left: 38px;
    bottom: 22px;
}

.gwa-gridx-light .gwa-render-services::before {
    left: 18px;
    width: 48px;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .gwa-gridx-light .gwa-render-shell { width: calc(100% - 80px); }
    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell { height: 84px; }
    .gwa-gridx-light .gwa-render-header .logo img { width: 205px; max-height: 72px; transform: translateY(3px); }
    .gwa-gridx-light .gwa-render-header .navbar,
    .gwa-gridx-light .gwa-render-header .theme-btn { display: none; }
    .gwa-gridx-light .gwa-render-header .show-menu { display: flex; margin-left: auto; }
    .gwa-gridx-light .gwa-render-header .navbar.active { display: block; position: absolute; z-index: 50; top: 76px; right: 0; width: 250px; padding: 14px; border: 1px solid var(--gwa-line); border-radius: 18px; background: var(--gwa-paper); box-shadow: 0 18px 48px rgba(42, 35, 26, .14); }
    .gwa-gridx-light .gwa-render-header .navbar.active .menu { flex-direction: column; align-items: stretch; gap: 0; }
    .gwa-gridx-light .gwa-render-header .navbar.active .menu li a { padding: 11px 15px; }
    .gwa-gridx-light .gwa-render-home { padding-top: 18px; }
    .gwa-gridx-light .gwa-render-hero { height: 340px; grid-template-columns: 40% 60%; }
    .gwa-gridx-light .gwa-render-hero-copy { padding: 54px 24px 28px 44px; }
    .gwa-gridx-light .gwa-render-corner { top: 28px; left: 24px; }
    .gwa-gridx-light .gwa-render-hero h1 { font-size: 54px; }
    .gwa-gridx-light .gwa-render-hero-description { font-size: 17px; }
    .gwa-gridx-light .gwa-render-main-row > .gwa-render-card { height: 276px; }
    .gwa-gridx-light .gwa-render-side-card { padding: 20px; }
    .gwa-gridx-light .gwa-render-side-media { height: 148px; }
    .gwa-gridx-light .gwa-render-services { padding: 23px 26px 18px; }
    .gwa-gridx-light .gwa-render-services::before { display: none; }
    .gwa-gridx-light .gwa-render-services h2 { font-size: 34px; }
    .gwa-gridx-light .gwa-render-service-list,
    .gwa-gridx-light .gwa-render-service { min-height: 130px; }
    .gwa-gridx-light .gwa-render-service { padding: 15px 10px 0; }
    .gwa-gridx-light .gwa-render-service svg { width: 45px; height: 45px; }
    .gwa-gridx-light .gwa-render-service strong { font-size: 15px; }
    .gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card { height: 220px; }
    .gwa-gridx-light .gwa-render-stats { padding: 38px 28px 24px; }
    .gwa-gridx-light .gwa-render-stat strong { font-size: 40px; }
    .gwa-gridx-light .gwa-render-stat span { font-size: 12px; }
    .gwa-gridx-light .gwa-render-contact { padding: 27px 30px; }
    .gwa-gridx-light .gwa-render-contact h2 { font-size: 38px; }
    .gwa-gridx-light .gwa-render-contact .gwa-render-arrow { left: 30px; bottom: 18px; }
}

@media (max-width: 991px) {
    .gwa-gridx-light .gwa-render-hero-media img { object-fit: contain; }
    .gwa-gridx-light .gwa-render-contact { padding: 34px 30px; }
    .gwa-gridx-light .gwa-render-contact h2 { max-width: 300px; font-size: 43px; }
}

/* 1.5.1: respiro sul titolo servizi e freccia contatti allineata a destra. */
@media (min-width: 1200px) {
    .gwa-gridx-light .gwa-render-services::before {
        left: 8px;
        width: 42px;
    }

    .gwa-gridx-light .gwa-render-services > .gwa-render-kicker,
    .gwa-gridx-light .gwa-render-services > h2 {
        padding-left: 18px;
    }
}

.gwa-gridx-light .gwa-render-contact::after {
    right: auto;
    left: -30px;
}

.gwa-gridx-light .gwa-render-contact .gwa-render-arrow {
    right: 28px;
    bottom: 22px;
    left: auto;
}

/* 1.5.2: servizi più luminosi, icone leggibili e frecce più discrete. */
.gwa-gridx-light .gwa-render-arrow {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-width: 1.5px;
    font-size: 23px;
}

.gwa-gridx-light .gwa-render-services {
    background:
        radial-gradient(circle at 94% -8%, rgba(101, 38, 232, .10) 0 118px, transparent 120px),
        linear-gradient(135deg, #fffaf2 0%, #fff1e4 52%, #f0edff 100%);
    color: #11142a;
}

.gwa-gridx-light .gwa-render-services .gwa-render-kicker {
    color: #706b75;
}

.gwa-gridx-light .gwa-render-services h2 {
    color: #11142a;
}

.gwa-gridx-light .gwa-render-services h2 span {
    color: #ef5b24;
}

.gwa-gridx-light .gwa-render-service {
    border-right-color: rgba(18, 25, 54, .13);
}

.gwa-gridx-light .gwa-render-service svg {
    stroke-width: 2.8;
    filter: drop-shadow(0 5px 10px rgba(16, 30, 72, .08));
}

.gwa-gridx-light .gwa-render-service:nth-child(1) { color: #0878e8; }
.gwa-gridx-light .gwa-render-service:nth-child(2) { color: #ef5b24; }
.gwa-gridx-light .gwa-render-service:nth-child(3) { color: #6025dc; }

.gwa-gridx-light .gwa-render-service strong {
    color: #161a31;
}

.gwa-gridx-light .gwa-render-services .gwa-render-arrow {
    width: 42px;
    height: 42px;
    right: 16px;
    bottom: 16px;
    color: #164bc2;
    font-size: 21px;
}

.gwa-gridx-light .gwa-render-contact .gwa-render-arrow {
    width: 44px;
    height: 44px;
    right: 24px;
    bottom: 20px;
    font-size: 22px;
}

@media (min-width: 768px) {
    .gwa-gridx-light .gwa-render-service:last-child {
        padding-right: 68px;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-render-service:last-child {
        padding-right: 8px;
    }
}

/* 1.5.3: gli angoli dei due box seguono lo stesso schema diagonale. */
.gwa-gridx-light .gwa-render-hero > .gwa-render-hero-copy > .gwa-render-corner,
.gwa-gridx-light .gwa-render-hero > .gwa-render-hero-media > .gwa-render-corner-right {
    display: none;
}

.gwa-gridx-light .gwa-render-hero::before,
.gwa-gridx-light .gwa-render-hero::after {
    content: '';
    position: absolute;
    z-index: 4;
    width: 56px;
    height: 50px;
    pointer-events: none;
}

.gwa-gridx-light .gwa-render-hero::before {
    top: 24px;
    right: 24px;
    border-top: 4px solid var(--gwa-coral);
    border-right: 4px solid var(--gwa-coral);
}

.gwa-gridx-light .gwa-render-hero::after {
    bottom: 24px;
    left: 24px;
    border-bottom: 4px solid var(--gwa-blue);
    border-left: 4px solid var(--gwa-blue);
}

.gwa-gridx-light .gwa-render-services::before,
.gwa-gridx-light .gwa-render-services::after {
    display: block;
    width: 52px;
    height: 46px;
}

.gwa-gridx-light .gwa-render-services::before {
    top: auto;
    right: auto;
    bottom: 18px;
    left: 18px;
    border-top: 0;
    border-right: 0;
    border-bottom: 4px solid #ff6b21;
    border-left: 4px solid #ff6b21;
}

.gwa-gridx-light .gwa-render-services::after {
    top: 18px;
    right: 18px;
    bottom: auto;
    left: auto;
}

.gwa-gridx-light .gwa-render-services > .gwa-render-kicker,
.gwa-gridx-light .gwa-render-services > h2 {
    padding-left: 0;
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-render-hero::before,
    .gwa-gridx-light .gwa-render-hero::after,
    .gwa-gridx-light .gwa-render-services::before,
    .gwa-gridx-light .gwa-render-services::after {
        width: 42px;
        height: 38px;
    }

    .gwa-gridx-light .gwa-render-hero::before,
    .gwa-gridx-light .gwa-render-services::after {
        top: 16px;
        right: 16px;
    }

    .gwa-gridx-light .gwa-render-hero::after,
    .gwa-gridx-light .gwa-render-services::before {
        bottom: 16px;
        left: 16px;
    }
}

/* 1.5.4: angoli più discreti e separati dai contenuti. */
.gwa-gridx-light .gwa-render-hero::before,
.gwa-gridx-light .gwa-render-hero::after,
.gwa-gridx-light .gwa-render-services::before,
.gwa-gridx-light .gwa-render-services::after {
    width: 38px;
    height: 34px;
}

.gwa-gridx-light .gwa-render-hero::before {
    top: 18px;
    right: 18px;
    border-top-width: 3px;
    border-right-width: 3px;
}

.gwa-gridx-light .gwa-render-hero::after {
    bottom: 14px;
    left: 18px;
    border-bottom-width: 3px;
    border-left-width: 3px;
}

.gwa-gridx-light .gwa-render-services::before {
    bottom: 14px;
    left: 14px;
    border-bottom-width: 3px;
    border-left-width: 3px;
}

.gwa-gridx-light .gwa-render-services::after {
    top: 14px;
    right: 14px;
    border-top-width: 3px;
    border-right-width: 3px;
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-render-hero::before,
    .gwa-gridx-light .gwa-render-hero::after,
    .gwa-gridx-light .gwa-render-services::before,
    .gwa-gridx-light .gwa-render-services::after {
        width: 30px;
        height: 27px;
    }

    .gwa-gridx-light .gwa-render-hero::before,
    .gwa-gridx-light .gwa-render-services::after {
        top: 12px;
        right: 12px;
    }

    .gwa-gridx-light .gwa-render-hero::after,
    .gwa-gridx-light .gwa-render-services::before {
        bottom: 12px;
        left: 12px;
    }
}

/* 1.5.5: scala desktop più compatta e proporzionata. */
@media (min-width: 1200px) {
    .gwa-gridx-light .gwa-render-shell {
        width: calc(100% - 120px);
        max-width: 1240px;
    }

    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell {
        height: 82px;
    }

    .gwa-gridx-light .gwa-render-header .logo img {
        width: 210px;
        max-height: 74px;
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu {
        gap: clamp(20px, 2vw, 34px);
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu li a {
        padding: 27px 0 24px;
        font-size: 15px;
    }

    .gwa-gridx-light .gwa-render-header .theme-btn {
        min-width: 214px;
        margin-left: 36px;
        padding: 10px 19px;
        font-size: 15px;
    }

    .gwa-gridx-light .gwa-render-home {
        padding-top: 14px;
    }

    .gwa-gridx-light .gwa-render-grid {
        gap: 18px;
    }

    .gwa-gridx-light .gwa-render-hero {
        height: 320px;
    }

    .gwa-gridx-light .gwa-render-hero-copy {
        padding: 52px 28px 28px 54px;
    }

    .gwa-gridx-light .gwa-render-hero h1 {
        margin-bottom: 15px;
        font-size: clamp(46px, 3.2vw, 56px);
    }

    .gwa-gridx-light .gwa-render-hero-description {
        font-size: clamp(16px, 1vw, 18px);
    }

    .gwa-gridx-light .gwa-render-primary-btn {
        min-width: 190px;
        min-height: 52px;
        font-size: 16px;
    }

    .gwa-gridx-light .gwa-render-main-row > .gwa-render-card {
        height: 270px;
    }

    .gwa-gridx-light .gwa-render-side-card {
        padding: 21px 22px 19px;
    }

    .gwa-gridx-light .gwa-render-side-media {
        height: 150px;
        margin-bottom: 12px;
    }

    .gwa-gridx-light .gwa-render-side-card h2 {
        font-size: 27px;
    }

    .gwa-gridx-light .gwa-render-services {
        padding: 23px 28px 19px;
    }

    .gwa-gridx-light .gwa-render-services h2 {
        font-size: 35px;
    }

    .gwa-gridx-light .gwa-render-service-list,
    .gwa-gridx-light .gwa-render-service {
        min-height: 123px;
    }

    .gwa-gridx-light .gwa-render-service-list {
        margin-top: 8px;
    }

    .gwa-gridx-light .gwa-render-service {
        padding: 13px 14px 0;
        gap: 9px;
    }

    .gwa-gridx-light .gwa-render-service svg {
        width: 47px;
        height: 47px;
    }

    .gwa-gridx-light .gwa-render-service strong {
        font-size: 16px;
    }

    .gwa-gridx-light .gwa-render-bottom-row > .gwa-render-card {
        height: 210px;
    }

    .gwa-gridx-light .gwa-render-stats {
        padding: 38px 32px 25px;
    }

    .gwa-gridx-light .gwa-render-stat strong {
        margin-bottom: 10px;
        font-size: 41px;
    }

    .gwa-gridx-light .gwa-render-stat span {
        font-size: 12px;
    }

    .gwa-gridx-light .gwa-render-stat::after {
        margin-top: 19px;
    }

    .gwa-gridx-light .gwa-render-contact {
        padding: 26px 32px;
    }

    .gwa-gridx-light .gwa-render-contact h2 {
        max-width: 280px;
        font-size: clamp(34px, 2.2vw, 41px);
    }

    .gwa-gridx-light .gwa-render-footer {
        padding-top: 58px;
    }

    .gwa-gridx-light .gwa-render-footer .footer-content .logo img {
        width: 215px;
    }
}

/* 1.5.6: centratura reale del logo rispetto al menu dell'header. */
.gwa-gridx-light .gwa-render-header .logo {
    display: flex;
    align-self: stretch;
    align-items: center;
    line-height: 0;
}

.gwa-gridx-light .gwa-render-header .logo img {
    display: block;
    transform: none;
}

/* 1.5.7: header responsive contenuto, senza sovrapposizioni sulla hero. */
@media (max-width: 1199px) {
    .gwa-gridx-light .gwa-render-header {
        position: relative;
        z-index: 100;
    }

    .gwa-gridx-light .gwa-render-header .navbar {
        display: none;
    }

    .gwa-gridx-light .gwa-render-header .show-menu {
        display: flex;
        margin-left: auto;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active {
        display: block;
        position: absolute;
        z-index: 110;
        top: calc(100% - 2px);
        right: 0;
        width: min(270px, calc(100vw - 32px));
        padding: 12px;
        border: 1px solid var(--gwa-line);
        border-radius: 17px;
        background: var(--gwa-paper);
        box-shadow: 0 18px 48px rgba(42, 35, 26, .16);
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu {
        display: flex;
        margin: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu li a {
        display: block;
        padding: 10px 14px;
    }
}

@media (max-width: 991px) {
    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell {
        height: 82px;
    }

    .gwa-gridx-light .gwa-render-header .logo img {
        width: 190px;
        max-height: 68px;
    }

    .gwa-gridx-light .gwa-render-home {
        padding-top: 18px;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-render-header,
    .gwa-gridx-light .gwa-render-header .gwa-render-shell {
        height: 72px;
    }

    .gwa-gridx-light .gwa-render-header .logo img {
        width: 156px;
        max-height: 60px;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active {
        top: 70px;
    }

    .gwa-gridx-light .gwa-render-home {
        padding-top: 16px;
    }
}

/* 1.5.8: navigazione più compatta, chiara e coerente con le card. */
@media (min-width: 1200px) {
    .gwa-gridx-light .gwa-render-header .navbar .menu {
        gap: 2px;
        padding: 5px;
        border: 1px solid rgba(24, 28, 52, .08);
        border-radius: 999px;
        background: rgba(255, 250, 242, .58);
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu li a {
        padding: 10px 13px;
        border-radius: 999px;
        font-size: 14px;
        line-height: 1;
        transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu li a::after {
        display: none !important;
    }

    .gwa-gridx-light .gwa-render-header .navbar .menu li.current-menu-item a,
    .gwa-gridx-light .gwa-render-header .navbar .menu li a:hover {
        color: #ef5b24;
        background: rgba(255, 255, 255, .9);
        box-shadow: 0 6px 16px rgba(44, 35, 26, .08);
    }

    .gwa-gridx-light .gwa-render-header .theme-btn {
        min-height: 44px;
        border-color: rgba(239, 91, 36, .78);
        border-radius: 999px;
    }
}

@media (max-width: 1199px) {
    .gwa-gridx-light .gwa-render-header .show-menu {
        width: 42px;
        height: 42px;
        padding: 11px 9px;
        border: 1px solid rgba(24, 28, 52, .14);
        border-radius: 50%;
        background: rgba(255, 250, 242, .66);
    }

    .gwa-gridx-light .gwa-render-header .show-menu span {
        height: 1.5px;
        border-radius: 99px;
        background: #171a31;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active {
        padding: 8px;
        border-radius: 20px;
        background: #fffaf2;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu li + li {
        border-top: 1px solid rgba(24, 28, 52, .07);
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu li a {
        padding: 12px 14px;
        border-radius: 12px;
        color: #171a31;
        font-size: 15px;
        font-weight: 600;
    }

    .gwa-gridx-light .gwa-render-header .navbar.active .menu li.current-menu-item a {
        color: #ef5b24;
        background: #fff0e4;
    }
}

/* 1.7.0: sistema coordinato per Servizi, Lavori, Attestati e Contatti. */
.gwa-gridx-light .gwa-inner-page {
    padding: 26px 0 0;
}

.gwa-gridx-light .gwa-inner-page * {
    box-sizing: border-box;
}

.gwa-gridx-light .gwa-inner-shell {
    display: grid;
    width: min(1400px, calc(100% - 72px));
    margin: 0 auto;
    gap: 22px;
}

.gwa-gridx-light .gwa-inner-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--gwa-line);
    border-radius: 30px;
    background: var(--gwa-paper);
    box-shadow: 0 18px 48px rgba(69, 48, 31, .07);
}

.gwa-gridx-light .gwa-inner-eyebrow {
    margin: 0 0 12px;
    color: #6f6870;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.gwa-gridx-light .gwa-inner-hero {
    display: grid;
    min-height: 440px;
    grid-template-columns: minmax(0, 1.13fr) minmax(390px, .87fr);
}

.gwa-gridx-light .gwa-inner-hero-copy {
    display: flex;
    min-width: 0;
    padding: 64px 68px 56px;
    flex-direction: column;
    align-items: flex-start;
}

.gwa-gridx-light .gwa-inner-hero h1,
.gwa-gridx-light .gwa-contact-hero h1 {
    max-width: 830px;
    margin: 0 0 22px;
    color: #0c102f;
    font-size: clamp(52px, 4.7vw, 76px);
    font-weight: 720;
    line-height: .98;
    letter-spacing: -.05em;
}

.gwa-gridx-light .gwa-inner-hero h1 span,
.gwa-gridx-light .gwa-contact-hero h1 span,
.gwa-gridx-light .gwa-inner-cta h2 span,
.gwa-gridx-light .gwa-work-principles h2 span {
    color: #ef5b24;
}

.gwa-gridx-light .gwa-inner-hero-copy > p:not(.gwa-inner-eyebrow),
.gwa-gridx-light .gwa-contact-hero > div > p:not(.gwa-inner-eyebrow) {
    max-width: 720px;
    margin: 0;
    color: #444451;
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.55;
}

.gwa-gridx-light .gwa-inner-button {
    display: inline-flex;
    min-height: 54px;
    margin-top: auto;
    padding: 12px 24px;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border: 1px solid #ef5b24;
    border-radius: 999px;
    background: #ef5b24;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    transition: transform .2s ease, background-color .2s ease;
}

.gwa-gridx-light .gwa-inner-button:hover {
    background: #d94a18;
    color: #fff;
    transform: translateY(-2px);
}

.gwa-gridx-light .gwa-inner-hero-art {
    display: flex;
    position: relative;
    min-width: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.gwa-gridx-light .gwa-services-hero-art {
    background:
        radial-gradient(circle at 100% 0, #087cff 0 122px, transparent 124px),
        radial-gradient(circle at 0 100%, #ff6b21 0 112px, transparent 114px),
        linear-gradient(145deg, #17275f, #0d328e);
}

.gwa-gridx-light .gwa-service-stack {
    display: grid;
    z-index: 2;
    width: min(82%, 410px);
    gap: 13px;
}

.gwa-gridx-light .gwa-service-stack span {
    display: flex;
    min-height: 78px;
    padding: 15px 22px;
    align-items: center;
    gap: 18px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 20px;
    background: rgba(255, 250, 242, .94);
    box-shadow: 0 16px 34px rgba(3, 13, 55, .2);
    color: #12152e;
    font-size: 21px;
    font-weight: 700;
}

.gwa-gridx-light .gwa-service-stack span:nth-child(2) { transform: translateX(28px); }
.gwa-gridx-light .gwa-service-stack b { color: #ef5b24; font-size: 13px; letter-spacing: .1em; }

.gwa-gridx-light .gwa-service-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gwa-gridx-light .gwa-service-detail {
    min-height: 540px;
    padding: 38px 38px 34px;
}

.gwa-gridx-light .gwa-service-detail::before,
.gwa-gridx-light .gwa-work-card::before,
.gwa-gridx-light .gwa-certificate-values article::before {
    content: '';
    position: absolute;
    height: 5px;
    top: 0;
    right: 0;
    left: 0;
    background: var(--gwa-card-accent, var(--gwa-blue));
}

.gwa-gridx-light .gwa-service-detail:nth-child(2),
.gwa-gridx-light .gwa-work-card:nth-child(2),
.gwa-gridx-light .gwa-certificate-values article:nth-child(2) { --gwa-card-accent: #ef5b24; }
.gwa-gridx-light .gwa-service-detail:nth-child(3),
.gwa-gridx-light .gwa-work-card:nth-child(3),
.gwa-gridx-light .gwa-certificate-values article:nth-child(3) { --gwa-card-accent: #6724df; }

.gwa-gridx-light .gwa-service-detail-head {
    display: flex;
    margin-bottom: 46px;
    align-items: flex-start;
    justify-content: space-between;
}

.gwa-gridx-light .gwa-service-detail-head > span {
    color: var(--gwa-card-accent, var(--gwa-blue));
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .12em;
}

.gwa-gridx-light .gwa-service-detail-head svg {
    width: 62px;
    height: 62px;
    fill: none;
    stroke: var(--gwa-card-accent, var(--gwa-blue));
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

.gwa-gridx-light .gwa-service-detail h2 {
    margin: 0 0 17px;
    color: #11142a;
    font-size: 31px;
    line-height: 1.08;
}

.gwa-gridx-light .gwa-service-detail > p:not(.gwa-inner-eyebrow) {
    min-height: 105px;
    margin: 0 0 25px;
    color: #5e5961;
    font-size: 16px;
    line-height: 1.62;
}

.gwa-gridx-light .gwa-service-detail ul {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gwa-gridx-light .gwa-service-detail li {
    padding: 11px 0 11px 20px;
    border-top: 1px solid rgba(30, 28, 38, .1);
    color: #2c2d3b;
    font-size: 15px;
}

.gwa-gridx-light .gwa-service-detail li::before {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    margin: 6px 0 0 -19px;
    border-radius: 50%;
    background: var(--gwa-card-accent, var(--gwa-blue));
}

.gwa-gridx-light .gwa-process-band {
    display: grid;
    padding: 46px 50px;
    grid-template-columns: .8fr 1.2fr;
    align-items: center;
    gap: 44px;
    background: linear-gradient(140deg, #174db8, #0c318c);
}

.gwa-gridx-light .gwa-process-band .gwa-inner-eyebrow,
.gwa-gridx-light .gwa-process-band h2 {
    color: #fff;
}

.gwa-gridx-light .gwa-process-band h2 {
    max-width: 440px;
    margin: 0;
    font-size: clamp(36px, 3vw, 49px);
    line-height: 1;
    letter-spacing: -.04em;
}

.gwa-gridx-light .gwa-process-band ol {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
}

.gwa-gridx-light .gwa-process-band li {
    display: flex;
    min-height: 118px;
    padding: 10px 18px;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.gwa-gridx-light .gwa-process-band li span { color: #ff8b54; font-size: 13px; font-weight: 800; }
.gwa-gridx-light .gwa-process-band li b { margin: 14px 0 4px; color: #fff; font-size: 19px; }
.gwa-gridx-light .gwa-process-band li small { color: rgba(255, 255, 255, .7); font-size: 13px; }

.gwa-gridx-light .gwa-inner-cta {
    display: flex;
    min-height: 230px;
    padding: 44px 54px;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    background:
        radial-gradient(circle at 100% 0, rgba(103, 36, 223, .12) 0 150px, transparent 152px),
        linear-gradient(120deg, #fffaf2, #fff1e5);
}

.gwa-gridx-light .gwa-inner-cta h2 {
    max-width: 770px;
    margin: 0;
    color: #11142a;
    font-size: clamp(39px, 3.6vw, 56px);
    line-height: 1;
    letter-spacing: -.04em;
}

.gwa-gridx-light .gwa-inner-cta .gwa-inner-button {
    margin-top: 0;
    flex: 0 0 auto;
}

/* Lavori */
.gwa-gridx-light .gwa-works-hero-art {
    padding: 36px;
    background: linear-gradient(145deg, #fff0e2, #ece8ff);
}

.gwa-gridx-light .gwa-works-hero-art::before {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    top: -55px;
    right: -35px;
    border-radius: 50%;
    background: #087cff;
}

.gwa-gridx-light .gwa-works-hero-art img {
    position: relative;
    z-index: 2;
    width: min(100%, 530px);
    border-radius: 28px;
    filter: drop-shadow(0 22px 30px rgba(41, 27, 74, .18));
}

.gwa-gridx-light .gwa-works-heading,
.gwa-gridx-light .gwa-certificates-intro {
    display: flex;
    padding: 38px 14px 10px;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
}

.gwa-gridx-light .gwa-works-heading h2,
.gwa-gridx-light .gwa-certificates-intro h2 {
    max-width: 720px;
    margin: 0;
    color: #11142a;
    font-size: clamp(38px, 3.4vw, 54px);
    line-height: 1;
    letter-spacing: -.04em;
}

.gwa-gridx-light .gwa-works-heading > p,
.gwa-gridx-light .gwa-certificates-intro > p {
    max-width: 480px;
    margin: 0;
    color: #5d5860;
    font-size: 16px;
    line-height: 1.6;
}

.gwa-gridx-light .gwa-work-grid,
.gwa-gridx-light .gwa-certificate-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gwa-gridx-light .gwa-work-card {
    min-height: 480px;
    padding: 28px 32px 34px;
}

.gwa-gridx-light .gwa-work-visual {
    display: flex;
    height: 245px;
    margin-bottom: 30px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 22px;
    background: #f2f6ff;
}

.gwa-gridx-light .gwa-work-card--software .gwa-work-visual { background: #fff0e7; }
.gwa-gridx-light .gwa-work-card--mobile .gwa-work-visual { background: #f0eaff; }

.gwa-gridx-light .gwa-browser {
    display: grid;
    width: 77%;
    height: 142px;
    padding: 28px 18px 17px;
    grid-template-columns: 1.3fr .7fr;
    gap: 10px;
    border: 8px solid #173785;
    border-radius: 14px;
    background: #fff;
    box-shadow: 18px 18px 0 #087cff;
}

.gwa-gridx-light .gwa-browser::before {
    content: '';
    position: absolute;
    width: 34%;
    height: 10px;
    margin-top: -19px;
    border-radius: 99px;
    background: #ff6b21;
}

.gwa-gridx-light .gwa-browser b { border-radius: 8px; background: #dce8ff; }
.gwa-gridx-light .gwa-browser b:nth-of-type(1) { grid-row: span 2; background: linear-gradient(145deg, #087cff, #6824e5); }

.gwa-gridx-light .gwa-dashboard {
    display: grid;
    width: 78%;
    height: 158px;
    padding: 18px;
    grid-template-columns: repeat(2, 1fr);
    gap: 11px;
    border: 7px solid #7f331f;
    border-radius: 18px;
    background: #fff9f4;
    box-shadow: -17px 17px 0 #ff6b21;
}

.gwa-gridx-light .gwa-dashboard i { border-radius: 10px; background: #ffd9c6; }
.gwa-gridx-light .gwa-dashboard i:first-child { grid-column: span 2; background: linear-gradient(90deg, #ff6b21, #ef5b24); }

.gwa-gridx-light .gwa-phone {
    display: flex;
    width: 112px;
    height: 194px;
    padding: 24px 12px 14px;
    flex-direction: column;
    gap: 10px;
    border: 8px solid #2d126e;
    border-radius: 26px;
    background: #fff;
    box-shadow: 18px 12px 0 #6724df;
}

.gwa-gridx-light .gwa-phone::before { content: ''; position: absolute; width: 38px; height: 5px; margin: -15px 0 0 25px; border-radius: 9px; background: #2d126e; }
.gwa-gridx-light .gwa-phone i { flex: 1; border-radius: 12px; background: linear-gradient(145deg, #087cff, #6724df 65%, #ff6b21); }
.gwa-gridx-light .gwa-phone b { height: 30px; border-radius: 9px; background: #eee8ff; }

.gwa-gridx-light .gwa-work-card h3 {
    margin: 0 0 12px;
    color: #11142a;
    font-size: 29px;
}

.gwa-gridx-light .gwa-work-card > p:not(.gwa-inner-eyebrow) {
    margin: 0;
    color: #5e5961;
    font-size: 16px;
    line-height: 1.58;
}

.gwa-gridx-light .gwa-work-principles {
    display: grid;
    padding: 48px 52px;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 50px;
}

.gwa-gridx-light .gwa-work-principles h2 {
    max-width: 620px;
    margin: 0;
    color: #11142a;
    font-size: clamp(38px, 3.4vw, 54px);
    line-height: 1;
    letter-spacing: -.04em;
}

.gwa-gridx-light .gwa-work-principles ul { margin: 0; padding: 0; list-style: none; }
.gwa-gridx-light .gwa-work-principles li { display: grid; padding: 16px 0; grid-template-columns: 55px 1fr; border-top: 1px solid rgba(25, 25, 40, .12); color: #202237; font-size: 18px; font-weight: 650; }
.gwa-gridx-light .gwa-work-principles li b { color: #ef5b24; font-size: 13px; }

/* Attestati */
.gwa-gridx-light .gwa-certificates-hero-art {
    padding: 38px;
    background:
        radial-gradient(circle at 100% 0, #6724df 0 125px, transparent 127px),
        linear-gradient(145deg, #fff0e4, #e8f3ff);
}

.gwa-gridx-light .gwa-certificates-hero-art img {
    width: min(100%, 520px);
    border-radius: 26px;
    filter: drop-shadow(0 24px 30px rgba(37, 23, 74, .17));
}

.gwa-gridx-light .gwa-certificate-values article {
    min-height: 280px;
    padding: 38px;
}

.gwa-gridx-light .gwa-certificate-values article > span {
    display: block;
    margin-bottom: 50px;
    color: var(--gwa-card-accent, var(--gwa-blue));
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .12em;
}

.gwa-gridx-light .gwa-certificate-values h3 { margin: 0 0 14px; color: #11142a; font-size: 29px; }
.gwa-gridx-light .gwa-certificate-values p { margin: 0; color: #5d5860; font-size: 16px; line-height: 1.6; }

.gwa-gridx-light .gwa-certificate-note {
    display: grid;
    min-height: 290px;
    padding: 44px 50px;
    grid-template-columns: 180px 1fr auto;
    align-items: center;
    gap: 42px;
    background: linear-gradient(140deg, #174db8, #0c318c);
}

.gwa-gridx-light .gwa-certificate-mark {
    display: flex;
    width: 154px;
    height: 154px;
    align-items: center;
    justify-content: center;
    border: 3px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
}

.gwa-gridx-light .gwa-certificate-mark::before,
.gwa-gridx-light .gwa-certificate-mark::after { content: ''; position: absolute; width: 72px; height: 4px; background: #ff7a38; transform: rotate(45deg); }
.gwa-gridx-light .gwa-certificate-mark::after { transform: rotate(-45deg); }
.gwa-gridx-light .gwa-certificate-mark span { width: 52px; height: 52px; border: 3px solid #fff; border-radius: 50%; }

.gwa-gridx-light .gwa-certificate-note .gwa-inner-eyebrow,
.gwa-gridx-light .gwa-certificate-note h2 { color: #fff; }
.gwa-gridx-light .gwa-certificate-note h2 { max-width: 690px; margin: 0 0 14px; font-size: clamp(34px, 3vw, 48px); line-height: 1.02; }
.gwa-gridx-light .gwa-certificate-note p:not(.gwa-inner-eyebrow) { max-width: 680px; margin: 0; color: rgba(255, 255, 255, .74); font-size: 16px; line-height: 1.55; }
.gwa-gridx-light .gwa-certificate-note .gwa-inner-button { margin-top: 0; border-color: #fff; background: #fff; color: #123b9b; }

/* Contatti */
.gwa-gridx-light .gwa-contact-hero {
    display: flex;
    min-height: 330px;
    padding: 58px 64px;
    align-items: end;
    justify-content: space-between;
    gap: 45px;
    background:
        radial-gradient(circle at 100% 0, rgba(8, 124, 255, .16) 0 180px, transparent 182px),
        var(--gwa-paper);
}

.gwa-gridx-light .gwa-contact-hero > div { max-width: 880px; }
.gwa-gridx-light .gwa-contact-hero > a { display: inline-flex; padding: 14px 0; align-items: center; gap: 34px; border-bottom: 2px solid #ef5b24; color: #12152e; font-size: 18px; font-weight: 700; }

.gwa-gridx-light .gwa-contact-layout {
    display: grid;
    grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr);
    gap: 22px;
}

.gwa-gridx-light .gwa-contact-info {
    min-height: 620px;
    padding: 46px 42px;
    background: linear-gradient(145deg, #174db8, #0c318c);
}

.gwa-gridx-light .gwa-contact-info .gwa-inner-eyebrow,
.gwa-gridx-light .gwa-contact-info h2 { color: #fff; }
.gwa-gridx-light .gwa-contact-info h2 { max-width: 450px; margin: 0 0 46px; font-size: clamp(37px, 3.2vw, 52px); line-height: 1; letter-spacing: -.04em; }
.gwa-gridx-light .gwa-contact-info dl { position: relative; z-index: 2; margin: 0; }
.gwa-gridx-light .gwa-contact-info dl div { padding: 17px 0; border-top: 1px solid rgba(255, 255, 255, .2); }
.gwa-gridx-light .gwa-contact-info dt { margin-bottom: 5px; color: #ff9461; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
.gwa-gridx-light .gwa-contact-info dd,
.gwa-gridx-light .gwa-contact-info dd a { margin: 0; color: #fff; font-size: 17px; }
.gwa-gridx-light .gwa-contact-shape { position: absolute; width: 170px; height: 170px; right: -35px; bottom: -45px; border-radius: 85px 0 0; background: linear-gradient(135deg, #ff6b21 0 48%, #6724df 49% 74%, #fff5e7 75%); }

.gwa-gridx-light .gwa-contact-form-card {
    padding: 46px 50px 50px;
}

.gwa-gridx-light .gwa-contact-form-card h2 { margin: 0 0 28px; color: #11142a; font-size: clamp(36px, 3vw, 50px); line-height: 1; }
.gwa-gridx-light .gwa-contact-form { display: grid; gap: 18px; }
.gwa-gridx-light .gwa-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.gwa-gridx-light .gwa-contact-form label { display: grid; gap: 8px; color: #292a38; font-size: 13px; font-weight: 700; }
.gwa-gridx-light .gwa-contact-form input,
.gwa-gridx-light .gwa-contact-form select,
.gwa-gridx-light .gwa-contact-form textarea { width: 100%; padding: 15px 17px; border: 1px solid #e2d7ca; border-radius: 14px; outline: 0; background: #fffdf9; color: #1b1d2e; font: inherit; font-weight: 400; }
.gwa-gridx-light .gwa-contact-form textarea { min-height: 150px; resize: vertical; }
.gwa-gridx-light .gwa-contact-form input:focus,
.gwa-gridx-light .gwa-contact-form select:focus,
.gwa-gridx-light .gwa-contact-form textarea:focus { border-color: #087cff; box-shadow: 0 0 0 3px rgba(8, 124, 255, .1); }
.gwa-gridx-light .gwa-contact-form .gwa-form-privacy { display: flex; align-items: flex-start; gap: 10px; color: #5d5860; font-weight: 400; line-height: 1.4; }
.gwa-gridx-light .gwa-contact-form .gwa-form-privacy input { width: 18px; height: 18px; margin-top: 1px; padding: 0; flex: 0 0 18px; accent-color: #ef5b24; }
.gwa-gridx-light .gwa-contact-form .gwa-inner-button { justify-self: start; margin-top: 3px; border: 0; cursor: pointer; }
.gwa-gridx-light .gwa-contact-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gwa-gridx-light .gwa-form-message { margin: 0 0 20px; padding: 14px 16px; border-radius: 12px; font-size: 14px; line-height: 1.45; }
.gwa-gridx-light .gwa-form-message--success { border: 1px solid #91d4aa; background: #ebfff2; color: #185f31; }
.gwa-gridx-light .gwa-form-message--error { border: 1px solid #f1b09d; background: #fff0eb; color: #842c18; }

@media (max-width: 1199px) {
    .gwa-gridx-light .gwa-inner-shell { width: calc(100% - 48px); }
    .gwa-gridx-light .gwa-inner-hero { grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr); }
    .gwa-gridx-light .gwa-inner-hero-copy { padding: 52px 46px 46px; }
    .gwa-gridx-light .gwa-service-detail { padding: 32px 30px; }
    .gwa-gridx-light .gwa-process-band { grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-contact-hero { padding: 48px; }
}

@media (max-width: 991px) {
    .gwa-gridx-light .gwa-inner-hero,
    .gwa-gridx-light .gwa-contact-layout,
    .gwa-gridx-light .gwa-certificate-note { grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-inner-hero-art { min-height: 390px; }
    .gwa-gridx-light .gwa-service-detail-grid,
    .gwa-gridx-light .gwa-work-grid,
    .gwa-gridx-light .gwa-certificate-values { grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-service-detail { min-height: 0; }
    .gwa-gridx-light .gwa-service-detail > p:not(.gwa-inner-eyebrow) { min-height: 0; }
    .gwa-gridx-light .gwa-work-card { min-height: 0; }
    .gwa-gridx-light .gwa-work-principles { grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-certificate-note { justify-items: start; }
    .gwa-gridx-light .gwa-contact-info { min-height: 510px; }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-inner-page { padding-top: 16px; }
    .gwa-gridx-light .gwa-inner-shell { width: calc(100% - 28px); gap: 16px; }
    .gwa-gridx-light .gwa-inner-card { border-radius: 24px; }
    .gwa-gridx-light .gwa-inner-hero-copy { min-height: 500px; padding: 44px 26px 30px; }
    .gwa-gridx-light .gwa-inner-hero h1,
    .gwa-gridx-light .gwa-contact-hero h1 { font-size: 45px; }
    .gwa-gridx-light .gwa-inner-hero-art { min-height: 330px; }
    .gwa-gridx-light .gwa-service-stack { width: 82%; }
    .gwa-gridx-light .gwa-service-stack span { min-height: 64px; font-size: 17px; }
    .gwa-gridx-light .gwa-service-stack span:nth-child(2) { transform: translateX(10px); }
    .gwa-gridx-light .gwa-service-detail,
    .gwa-gridx-light .gwa-work-card,
    .gwa-gridx-light .gwa-certificate-values article { padding: 30px 26px; }
    .gwa-gridx-light .gwa-process-band { padding: 34px 26px; gap: 26px; }
    .gwa-gridx-light .gwa-process-band ol { grid-template-columns: 1fr 1fr; }
    .gwa-gridx-light .gwa-process-band li { min-height: 100px; }
    .gwa-gridx-light .gwa-inner-cta { min-height: 330px; padding: 36px 28px; flex-direction: column; align-items: flex-start; justify-content: center; }
    .gwa-gridx-light .gwa-inner-cta .gwa-inner-button { width: 100%; }
    .gwa-gridx-light .gwa-works-heading,
    .gwa-gridx-light .gwa-certificates-intro { padding: 28px 4px 8px; flex-direction: column; align-items: flex-start; }
    .gwa-gridx-light .gwa-work-visual { height: 220px; }
    .gwa-gridx-light .gwa-work-principles { padding: 36px 28px; gap: 30px; }
    .gwa-gridx-light .gwa-certificate-note { padding: 36px 28px; gap: 28px; }
    .gwa-gridx-light .gwa-certificate-mark { width: 112px; height: 112px; }
    .gwa-gridx-light .gwa-contact-hero { min-height: 460px; padding: 42px 28px; flex-direction: column; align-items: flex-start; justify-content: center; }
    .gwa-gridx-light .gwa-contact-info { min-height: 560px; padding: 38px 28px; }
    .gwa-gridx-light .gwa-contact-form-card { padding: 36px 26px; }
    .gwa-gridx-light .gwa-form-row { grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-contact-form .gwa-inner-button { width: 100%; }
}

/* 1.8.0: scala della home e composizioni interne meno ripetitive. */
@media (min-width: 1200px) {
    .gwa-gridx-light .gwa-about-shell,
    .gwa-gridx-light .gwa-inner-shell {
        width: calc(100% - 120px);
        max-width: 1500px;
    }
}

.gwa-gridx-light .gwa-about-hero {
    min-height: 390px;
    grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr);
}

.gwa-gridx-light .gwa-about-hero-copy {
    padding: 52px 54px 42px;
}

.gwa-gridx-light .gwa-about-hero h1 {
    max-width: 700px;
    margin-bottom: 18px;
    font-size: clamp(48px, 3.8vw, 64px);
}

.gwa-gridx-light .gwa-about-lead {
    font-size: clamp(17px, 1.2vw, 20px);
}

.gwa-gridx-light .gwa-about-identity {
    padding: 38px 36px 34px;
}

.gwa-gridx-light .gwa-about-brand-panel {
    width: min(100%, 360px);
    padding: 30px 28px 23px;
}

.gwa-gridx-light .gwa-about-brand-panel img {
    width: min(100%, 275px);
}

.gwa-gridx-light .gwa-about-story {
    padding: 42px 46px;
}

.gwa-gridx-light .gwa-about-story h2,
.gwa-gridx-light .gwa-about-process h2 {
    font-size: clamp(33px, 2.7vw, 44px);
}

.gwa-gridx-light .gwa-about-process {
    padding: 38px 40px;
}

.gwa-gridx-light .gwa-about-method {
    display: grid;
    margin-top: 27px;
    gap: 0;
}

.gwa-gridx-light .gwa-about-method p {
    display: grid;
    margin: 0;
    padding: 14px 0;
    grid-template-columns: 110px 1fr;
    gap: 14px;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.gwa-gridx-light .gwa-about-method b {
    color: #ff9461;
    font-size: 15px;
}

.gwa-gridx-light .gwa-about-method span {
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    line-height: 1.42;
}

.gwa-gridx-light .gwa-about-skill {
    min-height: 250px;
    padding: 32px 34px 30px;
}

.gwa-gridx-light .gwa-about-skill-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 30px;
}

.gwa-gridx-light .gwa-about-cta {
    min-height: 210px;
}

.gwa-gridx-light .gwa-inner-hero {
    min-height: 360px;
    grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr);
}

.gwa-gridx-light .gwa-inner-hero-copy {
    padding: 50px 54px 40px;
}

.gwa-gridx-light .gwa-inner-hero h1 {
    max-width: 760px;
    margin-bottom: 18px;
    font-size: clamp(46px, 3.8vw, 64px);
}

.gwa-gridx-light .gwa-inner-hero-copy > p:not(.gwa-inner-eyebrow) {
    font-size: clamp(16px, 1.15vw, 19px);
}

.gwa-gridx-light .gwa-service-stack {
    width: min(80%, 360px);
}

.gwa-gridx-light .gwa-service-stack span {
    min-height: 64px;
    font-size: 18px;
}

.gwa-gridx-light .gwa-service-detail {
    min-height: 455px;
    padding: 30px 32px 28px;
}

.gwa-gridx-light .gwa-service-detail-head {
    margin-bottom: 27px;
}

.gwa-gridx-light .gwa-service-detail-head svg {
    width: 52px;
    height: 52px;
}

.gwa-gridx-light .gwa-service-detail h2 {
    font-size: 27px;
}

.gwa-gridx-light .gwa-service-detail > p:not(.gwa-inner-eyebrow) {
    min-height: 88px;
    margin-bottom: 18px;
    font-size: 15px;
}

.gwa-gridx-light .gwa-service-detail li {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 14px;
}

.gwa-gridx-light .gwa-process-band {
    min-height: 205px;
    padding: 36px 42px;
    grid-template-columns: .82fr 1.18fr;
}

.gwa-gridx-light .gwa-process-band h2 {
    font-size: clamp(33px, 2.5vw, 42px);
}

.gwa-gridx-light .gwa-process-band .gwa-process-path {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
}

.gwa-gridx-light .gwa-process-band .gwa-process-path li {
    display: grid;
    position: relative;
    min-height: 110px;
    padding: 12px 22px 10px 30px;
    align-content: center;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.gwa-gridx-light .gwa-process-path i {
    position: absolute;
    width: 9px;
    height: 9px;
    top: 29px;
    left: -5px;
    border: 2px solid #1b49b0;
    border-radius: 50%;
    background: #ff8b54;
    box-shadow: 0 0 0 5px rgba(255, 139, 84, .14);
}

.gwa-gridx-light .gwa-process-path b {
    margin: 0 0 6px;
    color: #fff;
    font-size: 18px;
}

.gwa-gridx-light .gwa-process-path small {
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
    line-height: 1.4;
}

.gwa-gridx-light .gwa-inner-cta {
    min-height: 190px;
    padding: 36px 46px;
}

.gwa-gridx-light .gwa-inner-cta h2 {
    font-size: clamp(35px, 3vw, 48px);
}

.gwa-gridx-light .gwa-works-heading,
.gwa-gridx-light .gwa-certificates-intro {
    padding-top: 28px;
}

.gwa-gridx-light .gwa-work-card {
    min-height: 405px;
    padding: 24px 28px 28px;
}

.gwa-gridx-light .gwa-work-visual {
    height: 205px;
    margin-bottom: 24px;
}

.gwa-gridx-light .gwa-work-principles {
    min-height: 240px;
    padding: 38px 44px;
}

.gwa-gridx-light .gwa-work-principles ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.gwa-gridx-light .gwa-work-principles li {
    display: flex;
    min-height: 120px;
    padding: 20px;
    flex-direction: column;
    justify-content: center;
    border: 0;
    border-radius: 18px;
    background: #f7f2ea;
}

.gwa-gridx-light .gwa-work-principles li:nth-child(2) { background: #eef5ff; }
.gwa-gridx-light .gwa-work-principles li:nth-child(3) { background: #f2ecff; }
.gwa-gridx-light .gwa-work-principles li span { margin-bottom: 7px; color: #11142a; font-size: 18px; font-weight: 750; }
.gwa-gridx-light .gwa-work-principles li small { color: #67616a; font-size: 13px; line-height: 1.4; }

.gwa-gridx-light .gwa-certificate-values article {
    min-height: 235px;
    padding: 31px 34px;
}

.gwa-gridx-light .gwa-certificate-values article > span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    margin-bottom: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #eef5ff;
    font-size: 20px;
    letter-spacing: 0;
}

.gwa-gridx-light .gwa-certificate-values article:nth-child(2) > span { background: #fff0e7; }
.gwa-gridx-light .gwa-certificate-values article:nth-child(3) > span { background: #f1ebff; }

.gwa-gridx-light .gwa-certificate-note {
    min-height: 245px;
    padding: 36px 44px;
}

.gwa-gridx-light .gwa-contact-hero {
    min-height: 285px;
    padding: 46px 54px;
}

.gwa-gridx-light .gwa-contact-hero h1 {
    font-size: clamp(45px, 3.8vw, 62px);
}

.gwa-gridx-light .gwa-contact-info {
    min-height: 540px;
    padding: 40px 36px;
}

.gwa-gridx-light .gwa-contact-form-card {
    padding: 40px 44px 44px;
}

@media (max-width: 1199px) {
    .gwa-gridx-light .gwa-about-hero,
    .gwa-gridx-light .gwa-inner-hero {
        grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    }
}

@media (max-width: 991px) {
    .gwa-gridx-light .gwa-about-hero,
    .gwa-gridx-light .gwa-inner-hero {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-process-band {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-work-principles {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-about-hero-copy {
        min-height: 420px;
        padding: 46px 26px 28px;
    }

    .gwa-gridx-light .gwa-about-hero h1,
    .gwa-gridx-light .gwa-inner-hero h1,
    .gwa-gridx-light .gwa-contact-hero h1 {
        font-size: 42px;
    }

    .gwa-gridx-light .gwa-about-method p {
        grid-template-columns: 88px 1fr;
    }

    .gwa-gridx-light .gwa-inner-hero-copy {
        min-height: 440px;
        padding: 42px 26px 28px;
    }

    .gwa-gridx-light .gwa-service-detail {
        min-height: 0;
    }

    .gwa-gridx-light .gwa-process-band .gwa-process-path {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-process-band .gwa-process-path li {
        min-height: 86px;
        border-top: 1px solid rgba(255, 255, 255, .18);
        border-left: 0;
    }

    .gwa-gridx-light .gwa-process-path i {
        top: 32px;
        left: 1px;
    }

    .gwa-gridx-light .gwa-work-principles ul {
        grid-template-columns: 1fr;
    }

    .gwa-gridx-light .gwa-contact-hero {
        min-height: 410px;
        padding: 38px 28px;
    }
}

/* 1.8.1: le pagine interne usano esattamente la scala desktop della home. */
@media (min-width: 1200px) {
    .gwa-gridx-light .gwa-about-page,
    .gwa-gridx-light .gwa-inner-page {
        padding-top: 14px;
    }

    .gwa-gridx-light .gwa-about-shell,
    .gwa-gridx-light .gwa-inner-shell {
        width: calc(100% - 120px);
        max-width: 1240px;
        gap: 18px;
    }

    .gwa-gridx-light .gwa-about-card,
    .gwa-gridx-light .gwa-inner-card {
        border-radius: 24px;
    }

    .gwa-gridx-light .gwa-about-hero,
    .gwa-gridx-light .gwa-inner-hero {
        min-height: 320px;
        grid-template-columns: minmax(0, 1.18fr) minmax(310px, .82fr);
    }

    .gwa-gridx-light .gwa-about-hero-copy,
    .gwa-gridx-light .gwa-inner-hero-copy {
        padding: 42px 46px 34px;
    }

    .gwa-gridx-light .gwa-about-hero h1,
    .gwa-gridx-light .gwa-inner-hero h1 {
        max-width: 650px;
        margin-bottom: 14px;
        font-size: clamp(45px, 3.2vw, 56px);
    }

    .gwa-gridx-light .gwa-about-lead,
    .gwa-gridx-light .gwa-inner-hero-copy > p:not(.gwa-inner-eyebrow) {
        font-size: 17px;
    }

    .gwa-gridx-light .gwa-about-actions {
        margin-top: 22px;
    }

    .gwa-gridx-light .gwa-about-identity {
        padding: 28px 30px 26px;
    }

    .gwa-gridx-light .gwa-about-brand-panel {
        width: min(100%, 300px);
        padding: 22px 24px 18px;
    }

    .gwa-gridx-light .gwa-about-brand-panel img {
        width: min(100%, 230px);
    }

    .gwa-gridx-light .gwa-about-story {
        padding: 34px 38px;
    }

    .gwa-gridx-light .gwa-about-story h2,
    .gwa-gridx-light .gwa-about-process h2 {
        font-size: clamp(31px, 2.5vw, 39px);
    }

    .gwa-gridx-light .gwa-about-process {
        padding: 32px 34px;
    }

    .gwa-gridx-light .gwa-about-method {
        margin-top: 20px;
    }

    .gwa-gridx-light .gwa-about-method p {
        padding: 11px 0;
    }

    .gwa-gridx-light .gwa-about-skill {
        min-height: 215px;
        padding: 27px 29px 26px;
    }

    .gwa-gridx-light .gwa-about-skill-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 23px;
    }

    .gwa-gridx-light .gwa-about-cta {
        min-height: 185px;
    }

    .gwa-gridx-light .gwa-service-stack {
        width: min(80%, 300px);
    }

    .gwa-gridx-light .gwa-service-stack span {
        min-height: 55px;
        font-size: 16px;
    }

    .gwa-gridx-light .gwa-service-detail {
        min-height: 385px;
        padding: 27px 28px 25px;
    }

    .gwa-gridx-light .gwa-service-detail-head {
        margin-bottom: 21px;
    }

    .gwa-gridx-light .gwa-service-detail-head svg {
        width: 46px;
        height: 46px;
    }

    .gwa-gridx-light .gwa-service-detail h2 {
        font-size: 24px;
    }

    .gwa-gridx-light .gwa-service-detail > p:not(.gwa-inner-eyebrow) {
        min-height: 72px;
        font-size: 14px;
    }

    .gwa-gridx-light .gwa-process-band {
        min-height: 180px;
        padding: 30px 36px;
    }

    .gwa-gridx-light .gwa-process-band h2 {
        font-size: clamp(30px, 2.3vw, 37px);
    }

    .gwa-gridx-light .gwa-process-band .gwa-process-path li {
        min-height: 96px;
        padding-inline: 27px 17px;
    }

    .gwa-gridx-light .gwa-inner-cta {
        min-height: 170px;
        padding: 30px 38px;
    }

    .gwa-gridx-light .gwa-inner-cta h2 {
        font-size: clamp(32px, 2.7vw, 42px);
    }

    .gwa-gridx-light .gwa-work-card {
        min-height: 350px;
        padding: 21px 24px 24px;
    }

    .gwa-gridx-light .gwa-work-visual {
        height: 175px;
        margin-bottom: 20px;
    }

    .gwa-gridx-light .gwa-work-principles {
        min-height: 210px;
        padding: 31px 36px;
    }

    .gwa-gridx-light .gwa-work-principles li {
        min-height: 102px;
        padding: 16px;
    }

    .gwa-gridx-light .gwa-certificate-values article {
        min-height: 205px;
        padding: 27px 29px;
    }

    .gwa-gridx-light .gwa-certificate-values article > span {
        margin-bottom: 22px;
    }

    .gwa-gridx-light .gwa-certificate-note {
        min-height: 215px;
        padding: 31px 38px;
    }

    .gwa-gridx-light .gwa-contact-hero {
        min-height: 260px;
        padding: 39px 46px;
    }

    .gwa-gridx-light .gwa-contact-hero h1 {
        font-size: clamp(43px, 3.2vw, 55px);
    }

    .gwa-gridx-light .gwa-contact-info {
        min-height: 480px;
        padding: 34px 31px;
    }

    .gwa-gridx-light .gwa-contact-form-card {
        padding: 34px 38px 38px;
    }
}

/* 1.8.2: angoli della home replicati sulle schede delle pagine interne. */
.gwa-gridx-light .gwa-about-hero-copy::before {
    display: none;
}

.gwa-gridx-light .gwa-page-corners {
    position: absolute;
    z-index: 6;
    inset: 0;
    pointer-events: none;
}

.gwa-gridx-light .gwa-page-corners::before,
.gwa-gridx-light .gwa-page-corners::after {
    content: '';
    position: absolute;
    width: 38px;
    height: 34px;
    pointer-events: none;
}

.gwa-gridx-light .gwa-page-corners::before {
    top: 14px;
    right: 14px;
    border-top: 3px solid var(--gwa-coral);
    border-right: 3px solid var(--gwa-coral);
}

.gwa-gridx-light .gwa-page-corners::after {
    bottom: 14px;
    left: 14px;
    border-bottom: 3px solid var(--gwa-blue);
    border-left: 3px solid var(--gwa-blue);
}

.gwa-gridx-light .gwa-page-corners--violet::before {
    border-top-color: #7029ec;
    border-right-color: #7029ec;
}

.gwa-gridx-light .gwa-page-corners--violet::after {
    border-bottom-color: #ff6b21;
    border-left-color: #ff6b21;
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-page-corners::before,
    .gwa-gridx-light .gwa-page-corners::after {
        width: 30px;
        height: 27px;
    }

    .gwa-gridx-light .gwa-page-corners::before {
        top: 12px;
        right: 12px;
    }

    .gwa-gridx-light .gwa-page-corners::after {
        bottom: 12px;
        left: 12px;
    }
}

/* Prepare entrances before the first paint; JavaScript takes over per card. */
@media (prefers-reduced-motion: no-preference) {
    html.gwa-motion .gwa-gridx-light :is(.gwa-render-card, .gwa-about-card, .gwa-inner-card, .gwa-about-section-heading, .gwa-works-heading, .gwa-certificates-intro):not([data-gwa-entrance="true"]) {
        opacity: 0;
        transform: translateY(35px);
    }
}

/* 1.8.5: formazione con gerarchia tipografica e separatori essenziali. */
.gwa-gridx-light .gwa-training {
    width: 100%;
    margin-top: 30px;
    padding-top: 0;
}

.gwa-gridx-light .gwa-training h2 {
    margin: 0 0 10px;
    color: var(--gwa-ink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.2;
}

.gwa-gridx-light .gwa-training p {
    margin: 0 0 18px;
    color: #5d5860;
    font-size: 15px;
    line-height: 1.55;
}

.gwa-gridx-light .gwa-training ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gwa-gridx-light .gwa-training li {
    position: relative;
    padding: 15px 0 15px 15px;
    border-bottom: 1px solid rgba(25, 25, 40, .12);
    color: var(--gwa-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
}

.gwa-gridx-light .gwa-training .gwa-training-main {
    grid-column: 1 / -1;
    padding-top: 10px;
    padding-bottom: 19px;
    font-size: clamp(20px, 1.7vw, 25px);
    font-weight: 700;
    letter-spacing: -.025em;
}

.gwa-gridx-light .gwa-training li::before {
    content: '';
    position: absolute;
    top: 19px;
    left: 0;
    width: 3px;
    height: 13px;
    border-radius: 2px;
    background: var(--gwa-blue);
}

.gwa-gridx-light .gwa-training li:nth-child(3n)::before {
    background: #7029ec;
}

.gwa-gridx-light .gwa-training .gwa-training-main::before {
    top: 16px;
    height: 20px;
    background: var(--gwa-coral);
}

@media (max-width: 479px) {
    .gwa-gridx-light .gwa-training ul {
        grid-template-columns: 1fr;
    }
}

.gwa-gridx-light .gwa-certificates-hero .gwa-inner-button {
    margin-top: 28px;
}

/* 1.9.0: galleria attestati con scorrimento e ingrandimento accessibile. */
.gwa-gridx-light .gwa-certificate-gallery { padding: 32px 36px 22px; }
.gwa-gridx-light .gwa-gallery-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.gwa-gridx-light .gwa-gallery-heading h2 { margin: 0 0 10px; color: var(--gwa-ink); font-size: clamp(30px, 3vw, 42px); letter-spacing: -.035em; }
.gwa-gridx-light .gwa-gallery-heading p:not(.gwa-inner-eyebrow) { margin: 0; color: #5d5860; font-size: 15px; }
.gwa-gridx-light .gwa-gallery-controls { display: flex; flex: 0 0 auto; gap: 9px; }
.gwa-gridx-light .gwa-gallery-controls[hidden] { display: none; }
.gwa-gridx-light .gwa-gallery-controls button,
.gwa-gridx-light .gwa-certificate-dialog-top button { display: inline-flex; width: 42px; height: 42px; padding: 0; align-items: center; justify-content: center; border: 1px solid #c9c5bf; border-radius: 50%; color: #11142a; background: transparent; font-size: 23px; cursor: pointer; }
.gwa-gridx-light .gwa-gallery-controls button:disabled { opacity: .3; cursor: default; }
.gwa-gridx-light .gwa-certificate-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px) / 3); gap: 18px; margin: 0; padding: 4px 0 18px; list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding: 0; scrollbar-width: thin; scrollbar-color: #aaa4bd #eee9e1; }
.gwa-gridx-light .gwa-certificate-track li { min-width: 0; scroll-snap-align: start; }
.gwa-gridx-light .gwa-certificate-slide { display: block; height: 100%; color: #11142a; text-decoration: none; }
.gwa-gridx-light .gwa-certificate-preview { display: flex; aspect-ratio: 1.42; padding: 12px; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #e1ddd6; border-radius: 15px; background: #f0ede7; }
.gwa-gridx-light .gwa-certificate-preview img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
.gwa-gridx-light .gwa-certificate-slide:hover img { transform: scale(1.025); }
.gwa-gridx-light .gwa-certificate-slide-label { display: flex; margin-top: 17px; align-items: baseline; justify-content: space-between; gap: 12px; }
.gwa-gridx-light .gwa-certificate-slide-label strong { color: #11142a; font-size: 17px; line-height: 1.3; }
.gwa-gridx-light .gwa-certificate-slide-label > span { color: #ef5b24; font-size: 23px; }
.gwa-gridx-light .gwa-certificate-open-label { display: block; margin-top: 6px; color: #69636b; font-size: 13px; }
.gwa-gridx-light .gwa-gallery-count { margin: 15px 0 0; color: #69636b; font-size: 12px; }
html.gwa-certificate-modal-open { overflow: hidden; }
.gwa-gridx-light .gwa-certificate-dialog { position: fixed; inset: 0; width: min(1200px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 40px); margin: auto; padding: 22px; overflow: auto; border: 1px solid #d9d3c9; border-radius: 22px; background: #fffaf2; color: #11142a; box-shadow: 0 30px 100px #0005; }
.gwa-gridx-light .gwa-certificate-dialog:not([open]) { display: none; }
.gwa-gridx-light .gwa-certificate-dialog::backdrop { background: rgba(12, 16, 40, .78); }
.gwa-gridx-light .gwa-certificate-dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.gwa-gridx-light .gwa-certificate-dialog-top > span { font-size: 12px; letter-spacing: .06em; }
.gwa-gridx-light .gwa-certificate-dialog-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 28px; align-items: center; }
.gwa-gridx-light .gwa-certificate-dialog-image { display: flex; min-width: 0; justify-content: center; padding: 12px; border-radius: 12px; background: #ebe7df; }
.gwa-gridx-light .gwa-certificate-dialog-image img { display: block; width: 100%; max-height: 72dvh; object-fit: contain; }
.gwa-gridx-light .gwa-certificate-dialog-copy { padding: 10px 10px 10px 0; }
.gwa-gridx-light .gwa-certificate-dialog-copy h2 { margin: 0 0 18px; color: #11142a; font-size: 30px; line-height: 1.1; }
.gwa-gridx-light .gwa-certificate-dialog-copy > p:not(.gwa-inner-eyebrow) { margin: 0; color: #5d5860; font-size: 15px; line-height: 1.6; }
.gwa-gridx-light .gwa-certificate-dialog-copy .gwa-inner-button { margin-top: 24px; font-size: 14px; }
.gwa-gridx-light .gwa-certificate-gallery :focus-visible,
.gwa-gridx-light .gwa-certificate-dialog :focus-visible { outline: 3px solid #087cff; outline-offset: 4px; }
@media (max-width: 991px) {
    .gwa-gridx-light .gwa-certificate-track { grid-auto-columns: calc((100% - 18px) / 2); }
    .gwa-gridx-light .gwa-certificate-dialog-layout { grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-certificate-dialog-image img { max-height: 55dvh; }
}
@media (max-width: 600px) {
    .gwa-gridx-light .gwa-certificate-gallery { padding: 26px 20px 20px; }
    .gwa-gridx-light .gwa-gallery-heading { align-items: flex-start; gap: 14px; flex-direction: column; }
    .gwa-gridx-light .gwa-certificate-track { grid-auto-columns: 88%; gap: 14px; }
    .gwa-gridx-light .gwa-certificate-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 16px; border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .gwa-gridx-light .gwa-certificate-preview img { transition: none; }
}

/* 1.9.2: portfolio con progetti reali e anteprime pubbliche. */
.gwa-gridx-light .gwa-project-hero-art { flex-direction: column; gap: 16px; padding: 34px; background: linear-gradient(145deg, #e5e9fb, #f0e6ff); }
.gwa-gridx-light .gwa-project-hero-screen { width: 100%; overflow: hidden; border: 5px solid #20233e; border-radius: 15px; box-shadow: 0 16px 28px #17193620; background: #20233e; transform: rotate(-3deg); }
.gwa-gridx-light .gwa-project-hero-screen > span { display: block; padding: 6px 12px; color: #fff; font-size: 11px; letter-spacing: .04em; }
.gwa-gridx-light .gwa-project-hero-screen img { display: block; width: 100%; aspect-ratio: 1.5; object-fit: cover; object-position: top; }
.gwa-gridx-light .gwa-project-hero-art > p { margin: 5px 0 0; color: #332e50; font-size: 13px; }
.gwa-gridx-light .gwa-project-card { display: flex; flex-direction: column; min-height: 0; padding: 22px 24px 26px; }
.gwa-gridx-light .gwa-project-screenshot { display: block; margin-bottom: 23px; overflow: hidden; border: 1px solid #dedad5; border-radius: 13px; background: #fff; color: #403e4c; }
.gwa-gridx-light .gwa-project-domain { display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; border-bottom: 1px solid #e5e0da; background: #f3f0ec; font-size: 11px; }
.gwa-gridx-light .gwa-project-screenshot img { display: block; width: 100%; height: 210px; object-fit: cover; object-position: top; transition: transform .25s ease; }
.gwa-gridx-light .gwa-project-screenshot:hover img { transform: scale(1.025); }
.gwa-gridx-light .gwa-project-card > h3 { margin: 0 0 15px; color: #11142a; font-size: 28px; }
.gwa-gridx-light .gwa-project-card > p:not(.gwa-inner-eyebrow) { margin: 0 0 20px; color: #5d5860; font-size: 14px; line-height: 1.6; }
.gwa-gridx-light .gwa-project-tags { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: auto 0 20px; padding: 0; list-style: none; }
.gwa-gridx-light .gwa-project-tags li { padding-bottom: 5px; border-bottom: 2px solid #087cff55; color: #5d5860; font-size: 11px; }
.gwa-gridx-light .gwa-project-card:nth-child(2) .gwa-project-tags li { border-color: #7029ec55; }
.gwa-gridx-light .gwa-project-card:nth-child(3) .gwa-project-tags li { border-color: #ef5b2455; }
.gwa-gridx-light .gwa-project-link { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-top: 16px; border-top: 1px solid #dedad5; color: #11142a; font-size: 14px; font-weight: 700; }
.gwa-gridx-light .gwa-project-link > span { color: #ef5b24; font-size: 22px; }
.gwa-gridx-light .gwa-project-private-art { display: flex; min-height: 244px; margin-bottom: 23px; padding: 25px; flex-direction: column; align-items: center; justify-content: center; border-radius: 13px; background: #17275f; color: #fff; }
.gwa-gridx-light .gwa-project-private-art svg { width: 42px; height: 42px; margin-bottom: 15px; fill: none; stroke: #ff956b; stroke-width: 2; }
.gwa-gridx-light .gwa-project-private-art strong { color: #fff; font-size: 30px; }
.gwa-gridx-light .gwa-project-private-art > span { margin-top: 3px; font-size: 13px; color: #e3e7f2; }
.gwa-gridx-light .gwa-project-private-art small { margin-top: 17px; padding: 5px 10px; border: 1px solid #ffffff40; border-radius: 30px; font-size: 10px; color: #e3e7f2; }
.gwa-gridx-light .gwa-project-private-note { display: block; padding-top: 21px; border-top: 1px solid #dedad5; color: #69636b; font-size: 13px; }
.gwa-gridx-light .gwa-works-hero .gwa-inner-button { margin-top: 26px; }
.gwa-gridx-light .gwa-project-card :focus-visible { outline: 3px solid #087cff; outline-offset: 4px; }
@media (max-width: 991px) { .gwa-gridx-light .gwa-project-grid { grid-template-columns: 1fr; } .gwa-gridx-light .gwa-project-screenshot img { height: auto; max-height: 340px; object-fit: cover; } }
@media (prefers-reduced-motion: reduce) { .gwa-gridx-light .gwa-project-screenshot img { transition: none; } }

/* 1.9.3: schermate demo del gestionale, ingrandibili e navigabili. */
html.gwa-hr-modal-open { overflow: hidden; }
.gwa-gridx-light .gwa-hr-dialog { position: fixed; inset: 0; box-sizing: border-box; width: min(1250px, calc(100vw - 36px)); max-width: none; max-height: calc(100dvh - 36px); margin: auto; padding: 22px; overflow: auto; border: 1px solid #d8d4cc; border-radius: 22px; color: #11142a; background: #fffaf2; box-shadow: 0 30px 100px #0005; }
.gwa-gridx-light .gwa-hr-dialog:not([open]) { display: none; }
.gwa-gridx-light .gwa-hr-dialog::backdrop { background: rgba(12, 16, 40, .8); }
.gwa-gridx-light .gwa-hr-dialog-top { display: flex; gap: 18px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.gwa-gridx-light .gwa-hr-dialog-top > div { display: grid; gap: 4px; }
.gwa-gridx-light .gwa-hr-dialog-top strong { color: #11142a; font-size: 18px; }
.gwa-gridx-light .gwa-hr-dialog-top span { color: #69636b; font-size: 12px; }
.gwa-gridx-light .gwa-hr-dialog button { font: inherit; cursor: pointer; }
.gwa-gridx-light .gwa-hr-dialog-top button,
.gwa-gridx-light .gwa-hr-nav button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 1px solid #ccc6be; border-radius: 50%; color: #11142a; background: #fffaf2; font-size: 23px; }
.gwa-gridx-light .gwa-hr-stage { display: flex; height: min(56dvh, 650px); align-items: center; justify-content: center; border: 1px solid #e0e4e8; border-radius: 13px; overflow: hidden; background: #eaf2f6; }
.gwa-gridx-light .gwa-hr-stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.gwa-gridx-light .gwa-hr-caption { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin: 22px 0; }
.gwa-gridx-light .gwa-hr-caption h2 { margin: 0 0 8px; color: #11142a; font-size: clamp(22px, 2vw, 29px); line-height: 1.2; }
.gwa-gridx-light .gwa-hr-caption p { max-width: 780px; margin: 0; color: #5d5860; font-size: 14px; line-height: 1.55; }
.gwa-gridx-light .gwa-hr-nav { display: flex; flex: 0 0 auto; gap: 12px; align-items: center; }
.gwa-gridx-light .gwa-hr-nav span { min-width: 36px; text-align: center; font-size: 12px; }
.gwa-gridx-light .gwa-hr-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.gwa-gridx-light .gwa-hr-thumbs button { min-width: 0; padding: 7px; border: 2px solid transparent; border-radius: 11px; color: #5d5860; background: #f0ede7; text-align: left; }
.gwa-gridx-light .gwa-hr-thumbs button[aria-pressed="true"] { border-color: #087cff; background: #eef5ff; color: #11142a; }
.gwa-gridx-light .gwa-hr-thumbs img { display: block; width: 100%; height: 68px; object-fit: contain; border-radius: 5px; background: #eaf2f6; }
.gwa-gridx-light .gwa-hr-thumbs span { display: block; margin: 7px 3px 2px; font-size: 11px; line-height: 1.4; }
.gwa-gridx-light .gwa-hr-dialog :focus-visible { outline: 3px solid #087cff; outline-offset: 3px; }
@media (max-width: 600px) {
    .gwa-gridx-light .gwa-hr-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 14px; border-radius: 16px; }
    .gwa-gridx-light .gwa-hr-stage { height: 44dvh; }
    .gwa-gridx-light .gwa-hr-caption { align-items: flex-start; flex-direction: column; gap: 15px; }
    .gwa-gridx-light .gwa-hr-nav { align-self: flex-end; }
    .gwa-gridx-light .gwa-hr-thumbs { grid-template-columns: repeat(5, 110px); overflow-x: auto; padding-bottom: 8px; }
}

/* 1.9.4: pannelli hero pieni, coerenti con Chi sono e Servizi. */
.gwa-gridx-light .gwa-render-hero-media,
.gwa-gridx-light .gwa-project-hero-art {
    min-width: 0;
    align-self: stretch;
    background:
        radial-gradient(circle at 10% 8%, #ff6b21 0 70px, transparent 72px),
        radial-gradient(circle at 100% 10%, #2258cf 0 120px, transparent 122px),
        radial-gradient(circle at 100% 100%, #6724df 0 85px, transparent 87px),
        linear-gradient(145deg, #17275f, #0e3495);
}
.gwa-gridx-light .gwa-render-hero-media { padding: 25px 22px; overflow: hidden; }
.gwa-gridx-light .gwa-render-hero-media img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; object-position: center; border-radius: 16px; }
.gwa-gridx-light .gwa-project-hero-art { padding: 30px; gap: 14px; }
.gwa-gridx-light .gwa-project-hero-screen { transform: none; border: 1px solid #ffffff50; box-shadow: 0 16px 30px #0003; }
.gwa-gridx-light .gwa-project-hero-art > p { color: #fff; }
.gwa-gridx-light .gwa-render-footer .footer-menu { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 30px; margin: 26px 0 20px; padding: 0; list-style: none; }
.gwa-gridx-light .gwa-render-footer .footer-menu li { margin: 0; }
.gwa-gridx-light .gwa-render-footer .footer-menu li a { display: inline-block; padding: 8px 0; font-size: 13px; }
.gwa-gridx-light .gwa-render-footer .footer-menu a:focus-visible { outline: 2px solid #087cff; outline-offset: 4px; }
@media (max-width: 767px) {
    .gwa-gridx-light .gwa-render-hero-media { padding: 22px 18px; }
    .gwa-gridx-light .gwa-project-hero-art { padding: 28px 24px; }
    .gwa-gridx-light .gwa-render-footer .footer-menu { gap: 6px 22px; }
}

/* 1.8.3: angoli solo sui box principali e introduzioni più ordinate. */
.gwa-gridx-light .gwa-services-page .gwa-inner-hero-copy > .gwa-inner-button {
    margin-top: 28px;
}

.gwa-gridx-light .gwa-about-section-heading,
.gwa-gridx-light .gwa-works-heading,
.gwa-gridx-light .gwa-certificates-intro {
    display: block;
    width: min(100%, 800px);
    margin: 0 auto;
    padding: 34px 18px 28px;
    text-align: center;
}

.gwa-gridx-light .gwa-about-section-heading > div,
.gwa-gridx-light .gwa-works-heading > div,
.gwa-gridx-light .gwa-certificates-intro > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gwa-gridx-light .gwa-about-section-heading h2,
.gwa-gridx-light .gwa-works-heading h2,
.gwa-gridx-light .gwa-certificates-intro h2 {
    max-width: 760px;
    font-size: clamp(32px, 2.8vw, 43px);
    line-height: 1.04;
}

.gwa-gridx-light .gwa-about-section-heading > p,
.gwa-gridx-light .gwa-works-heading > p,
.gwa-gridx-light .gwa-certificates-intro > p {
    max-width: 650px;
    margin: 15px auto 0;
    font-size: 15px;
    line-height: 1.55;
}

.gwa-gridx-light .gwa-about-section-heading::after,
.gwa-gridx-light .gwa-works-heading::after,
.gwa-gridx-light .gwa-certificates-intro::after {
    content: '';
    display: block;
    width: 52px;
    height: 3px;
    margin: 19px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--gwa-blue), var(--gwa-coral));
}

.gwa-gridx-light .gwa-works-heading::after {
    background: linear-gradient(90deg, var(--gwa-coral), #7029ec);
}

.gwa-gridx-light .gwa-certificates-intro::after {
    background: linear-gradient(90deg, #7029ec, var(--gwa-blue));
}

@media (min-width: 992px) {
    .gwa-gridx-light .gwa-services-page .gwa-inner-cta {
        gap: 96px;
    }

    .gwa-gridx-light .gwa-services-page .gwa-inner-cta > div {
        min-width: 0;
        flex: 1 1 auto;
    }

    .gwa-gridx-light .gwa-services-page .gwa-inner-cta .gwa-inner-button {
        margin-left: auto;
    }
}

@media (max-width: 767px) {
    .gwa-gridx-light .gwa-about-section-heading,
    .gwa-gridx-light .gwa-works-heading,
    .gwa-gridx-light .gwa-certificates-intro {
        padding: 24px 12px 20px;
    }

    .gwa-gridx-light .gwa-about-section-heading h2,
    .gwa-gridx-light .gwa-works-heading h2,
    .gwa-gridx-light .gwa-certificates-intro h2 {
        font-size: 31px;
    }

    .gwa-gridx-light .gwa-services-page .gwa-inner-cta {
        gap: 26px;
    }
}

.gwa-gridx-light .gwa-render-footer .gwa-footer-business {
    margin: 10px 0 0;
    color: #69636b;
    font-size: 13px;
    line-height: 1.5;
}

/* 1.9.8: contatti nel footer e pagine informative modificabili. */
.gwa-gridx-light .gwa-footer-email { margin: 10px 0 0; font-size: 14px; }
.gwa-gridx-light .gwa-footer-email a { color: #b23f19; text-decoration: underline; text-underline-offset: 4px; }
.gwa-gridx-light .gwa-footer-legal { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; margin-top: 15px; }
.gwa-gridx-light .gwa-footer-legal a { display: inline-block; padding: 5px 0; color: #514b54; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.gwa-gridx-light .gwa-footer-legal a:focus-visible,
.gwa-gridx-light .gwa-footer-email a:focus-visible { outline: 2px solid #087cff; outline-offset: 4px; }
.gwa-gridx-light .gwa-policy-heading { padding: 34px 42px; }
.gwa-gridx-light .gwa-policy-heading h1 { margin: 0 0 18px; color: #11142a; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; letter-spacing: -.04em; }
.gwa-gridx-light .gwa-policy-heading > p:not(.gwa-inner-eyebrow) { margin: 0 0 10px; color: #5d5860; font-size: 15px; line-height: 1.55; }
.gwa-gridx-light .gwa-policy-heading > a { color: #b23f19; text-decoration: underline; text-underline-offset: 4px; }
.gwa-gridx-light .gwa-policy-content { padding: 40px 42px; font-size: 16px; line-height: 1.75; color: #444451; overflow-wrap: anywhere; }
.gwa-gridx-light .gwa-policy-content > * { max-width: 820px; margin-left: auto; margin-right: auto; }
.gwa-gridx-light .gwa-policy-content h2 { margin-top: 34px; margin-bottom: 14px; color: #11142a; font-size: 25px; line-height: 1.25; }
.gwa-gridx-light .gwa-policy-content a,
.gwa-gridx-light .gwa-form-privacy a { color: #a63a16; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
    .gwa-gridx-light .gwa-policy-heading,
    .gwa-gridx-light .gwa-policy-content { padding: 30px 24px; }
}

/* 1.9.5: stessa struttura e stessa densità per le tre hero principali. */
.gwa-gridx-light .gwa-unified-hero.gwa-render-hero,
.gwa-gridx-light .gwa-unified-hero.gwa-about-hero,
.gwa-gridx-light .gwa-unified-hero.gwa-inner-hero {
    display: grid;
    height: auto;
    min-height: 460px;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    align-items: stretch;
}
.gwa-gridx-light .gwa-unified-hero > :is(.gwa-render-hero-copy, .gwa-about-hero-copy, .gwa-inner-hero-copy) {
    min-height: 0;
    min-width: 0;
    padding: 38px 42px;
    justify-content: center;
    align-items: flex-start;
}
.gwa-gridx-light .gwa-unified-hero :is(.gwa-render-kicker, .gwa-about-eyebrow, .gwa-inner-eyebrow) {
    margin: 0 0 15px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
}
.gwa-gridx-light .gwa-unified-hero h1 {
    max-width: none;
    margin: 0 0 20px;
    font-size: clamp(36px, 3.15vw, 48px);
    font-weight: 720;
    line-height: 1.02;
    letter-spacing: -.045em;
}
.gwa-gridx-light .gwa-unified-hero :is(.gwa-render-hero-description, .gwa-about-lead),
.gwa-gridx-light .gwa-unified-hero .gwa-inner-hero-copy > p:not(.gwa-inner-eyebrow),
.gwa-gridx-light .gwa-unified-hero .gwa-hero-detail {
    max-width: none;
    margin: 0;
    color: #444451;
    font-size: 16px;
    line-height: 1.55;
}
.gwa-gridx-light .gwa-unified-hero .gwa-hero-detail,
.gwa-gridx-light .gwa-unified-hero .gwa-inner-hero-copy > .gwa-hero-detail {
    margin-top: 16px;
}
.gwa-gridx-light .gwa-unified-hero :is(.gwa-render-primary-btn, .gwa-inner-button, .gwa-about-actions) {
    margin-top: 24px;
}
.gwa-gridx-light .gwa-unified-hero :is(.gwa-render-primary-btn, .gwa-inner-button, .gwa-about-button) {
    min-width: 0;
    min-height: 52px;
    padding: 12px 22px;
    gap: 20px;
    font-size: 15px;
}
.gwa-gridx-light .gwa-unified-hero > :is(.gwa-render-hero-media, .gwa-project-hero-art, .gwa-about-identity) {
    position: relative;
    height: auto;
    min-height: 0;
    padding: 30px;
    justify-content: center;
    background:
        radial-gradient(circle at 10% 8%, #ff6b21 0 70px, transparent 72px),
        radial-gradient(circle at 100% 10%, #2258cf 0 120px, transparent 122px),
        radial-gradient(circle at 100% 100%, #6724df 0 85px, transparent 87px),
        linear-gradient(145deg, #17275f, #0e3495);
}
.gwa-gridx-light .gwa-unified-hero > .gwa-render-hero-media img {
    position: absolute;
    inset: 28px;
    width: calc(100% - 56px);
    height: calc(100% - 56px);
    object-fit: contain;
}
.gwa-gridx-light .gwa-unified-hero .gwa-project-hero-screen {
    width: 100%;
    max-width: 370px;
    transform: none;
}
.gwa-gridx-light .gwa-unified-hero .gwa-project-hero-screen img {
    aspect-ratio: 1.5;
    width: 100%;
    height: auto;
}
.gwa-gridx-light .gwa-unified-hero .gwa-about-brand-panel { width: min(100%, 300px); }
.gwa-gridx-light .gwa-unified-hero .gwa-about-identity::before,
.gwa-gridx-light .gwa-unified-hero .gwa-about-identity::after { display: none; }
@media (max-width: 991px) {
    .gwa-gridx-light .gwa-unified-hero.gwa-render-hero,
    .gwa-gridx-light .gwa-unified-hero.gwa-about-hero,
    .gwa-gridx-light .gwa-unified-hero.gwa-inner-hero { min-height: 0; grid-template-columns: 1fr; }
    .gwa-gridx-light .gwa-unified-hero > :is(.gwa-render-hero-copy, .gwa-about-hero-copy, .gwa-inner-hero-copy) { padding: 36px 30px; }
    .gwa-gridx-light .gwa-unified-hero > :is(.gwa-render-hero-media, .gwa-project-hero-art, .gwa-about-identity) { min-height: 300px; }
}
@media (max-width: 767px) {
    .gwa-gridx-light .gwa-unified-hero h1 { font-size: 36px; }
    .gwa-gridx-light .gwa-unified-hero > :is(.gwa-render-hero-copy, .gwa-about-hero-copy, .gwa-inner-hero-copy) { padding: 36px 26px; }
    .gwa-gridx-light .gwa-unified-hero .gwa-about-actions { flex-wrap: wrap; width: 100%; }
}

/* 1.9.11: keep legal/footer links legible, including visited and inline spans. */
body.gwa-gridx-light .gwa-render-footer a:not(.logo),
body.gwa-gridx-light .gwa-render-footer a:not(.logo):visited {
    color: #3e3944 !important;
}
body.gwa-gridx-light .gwa-render-footer .gwa-footer-email a,
body.gwa-gridx-light .gwa-render-footer a:not(.logo):hover {
    color: #a63a16 !important;
}
body.gwa-gridx-light .gwa-policy-page a,
body.gwa-gridx-light .gwa-policy-page a:visited,
body.gwa-gridx-light.privacy-policy .entry-content a,
body.gwa-gridx-light .gwa-form-privacy a {
    color: #a63a16 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.gwa-gridx-light .gwa-policy-page a:hover,
body.gwa-gridx-light.privacy-policy .entry-content a:hover { color: #11142a !important; }
body.gwa-gridx-light .gwa-policy-page a *,
body.gwa-gridx-light .gwa-render-footer a:not(.logo) * { color: inherit !important; }

/* Legal copy must not inherit the parent theme's white emphasis colors. */
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content,
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content * {
    color: #444451 !important;
}
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content :is(h1, h2, h3, h4, h5, h6),
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content :is(h1, h2, h3, h4, h5, h6) * {
    color: #11142a !important;
}
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content a,
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content a * {
    color: #a63a16 !important;
}
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content a:hover,
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content a:hover * {
    color: #11142a !important;
}

/* Consent UI: no overlay, no preselected statistics, equal accept/reject buttons. */
.gwa-gridx-light .gwa-cookie-banner {
    position: fixed;
    z-index: 100000;
    left: 22px;
    bottom: 22px;
    width: min(540px, calc(100vw - 44px));
    max-height: calc(100dvh - 44px);
    overflow-y: auto;
    box-sizing: border-box;
    padding: 28px;
    border: 1px solid #dcd3c7;
    border-top: 4px solid #087cff;
    border-radius: 22px;
    background: #fffaf2;
    box-shadow: 0 12px 50px #15172b26;
    font-family: Inter, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}
.gwa-gridx-light .gwa-cookie-banner,
.gwa-gridx-light .gwa-cookie-banner * { color: #25263a !important; }
.gwa-gridx-light .gwa-cookie-banner[hidden],
.gwa-gridx-light #gwa-cookie-options[hidden],
.gwa-gridx-light .gwa-cookie-reopen[hidden] { display: none !important; }
.gwa-gridx-light .gwa-cookie-banner p { margin: 0 0 12px; font-size: 14px; line-height: 1.6; }
.gwa-gridx-light .gwa-cookie-banner .gwa-cookie-eyebrow { color: #6a6070 !important; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.gwa-gridx-light .gwa-cookie-banner h2 { font-size: 28px; margin: 0 35px 12px 0; font-weight: 750; }
.gwa-gridx-light .gwa-cookie-banner a { color: #a63a16 !important; text-decoration: underline; }
.gwa-gridx-light .gwa-cookie-close { position: absolute; right: 14px; top: 12px; padding: 4px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 26px; line-height: 1; cursor: pointer; }
.gwa-gridx-light .gwa-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; align-items: center; }
.gwa-gridx-light .gwa-cookie-button { flex: 1; padding: 11px 18px; border: 1px solid #15172b; border-radius: 10px; font: inherit; font-weight: 650; color: #fff !important; background: #15172b; cursor: pointer; white-space: nowrap; }
.gwa-gridx-light .gwa-cookie-button:hover { background: #30364e; }
.gwa-gridx-light .gwa-cookie-customize,
.gwa-gridx-light .gwa-cookie-reopen { background: none; border: 0; padding: 8px 0; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; color: #3e3944 !important; }
.gwa-gridx-light .gwa-cookie-banner button:focus-visible,
.gwa-gridx-light .gwa-cookie-banner input:focus-visible,
.gwa-gridx-light .gwa-cookie-reopen:focus-visible { outline: 3px solid #087cff; outline-offset: 3px; }
.gwa-gridx-light #gwa-cookie-options { border-top: 1px solid #dcd3c7; margin-top: 18px; padding-top: 18px; }
.gwa-gridx-light #gwa-cookie-options label { display: flex; gap: 12px; margin-bottom: 16px; align-items: flex-start; font-weight: 400; cursor: pointer; }
.gwa-gridx-light #gwa-cookie-options input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 5px; accent-color: #087cff; }
.gwa-gridx-light .gwa-policy-table-wrap { overflow-x: auto; }
.gwa-gridx-light .gwa-policy-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gwa-gridx-light .gwa-policy-content :is(td, th) { padding: 14px; border: 1px solid #dcd3c7; vertical-align: top; text-align: left; }
.gwa-gridx-light .gwa-policy-content th { background: #f0e8dd; }
.gwa-gridx-light .gwa-cookie-noscript { padding: 20px; background: #fffaf2; color: #15172b; }

/* Cookie inventory: readable information cards instead of a dense table. */
.gwa-gridx-light .gwa-policy-tools { display: grid; gap: 18px; margin-top: 24px; margin-bottom: 26px; }
.gwa-gridx-light .gwa-policy-tool { padding: 24px; border: 1px solid #e2dacf; border-left: 4px solid #087cff; border-radius: 16px; background: #fffdf9; min-width: 0; }
.gwa-gridx-light .gwa-policy-tool-technical { border-left-color: #5118d9; }
.gwa-gridx-light .gwa-policy-tool-optional { border-left-color: #ff6b21; }
.gwa-gridx-light .gwa-policy-tool-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 12px; }
.gwa-gridx-light .gwa-policy-tool-heading h3 { margin: 0; font-size: 21px; line-height: 1.3; font-weight: 700; letter-spacing: -.025em; }
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content .gwa-policy-tool-status { display: inline-flex; flex: 0 0 auto; align-items: center; padding: 5px 10px; border-radius: 30px; background: #e8f1ff; color: #15448c !important; font-size: 11px; line-height: 1.4; font-weight: 650; }
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content .gwa-policy-tool-technical .gwa-policy-tool-status { background: #f0eaff; color: #4c239a !important; }
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content .gwa-policy-tool-optional .gwa-policy-tool-status { background: #fff0e3; color: #96390e !important; }
.gwa-gridx-light .gwa-policy-tool > p { margin: 0 0 18px; font-size: 15px; line-height: 1.65; }
.gwa-gridx-light .gwa-policy-tool-description { margin: 0 0 18px; font-size: 15px; line-height: 1.65; }
.gwa-gridx-light .gwa-policy-tool-description > :last-child { margin-bottom: 0; }
.gwa-gridx-light .gwa-policy-tool dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin: 0; padding-top: 18px; border-top: 1px solid #e9e1d7; }
.gwa-gridx-light .gwa-policy-tool dl > div { min-width: 0; }
body.gwa-gridx-light .gwa-policy-page .gwa-policy-content .gwa-policy-tool dt { margin: 0 0 5px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #746b73 !important; font-weight: 650; }
.gwa-gridx-light .gwa-policy-tool dd { margin: 0; font-size: 14px; line-height: 1.65; }
.gwa-gridx-light .gwa-policy-tool code { font-size: 13px; overflow-wrap: anywhere; background: #f1ece4; border-radius: 5px; padding: 3px 6px; }
.gwa-gridx-light .gwa-policy-tool > .gwa-policy-tool-note { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid #e9e1d7; font-size: 13px; line-height: 1.65; }
@media (max-width: 600px) {
    .gwa-gridx-light .gwa-cookie-banner { left: 12px; bottom: 12px; width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 22px; }
    .gwa-gridx-light .gwa-cookie-customize { flex-basis: 100%; text-align: center; }
    .gwa-gridx-light .gwa-policy-tool { padding: 20px 18px; }
    .gwa-gridx-light .gwa-policy-tool dl { grid-template-columns: 1fr; gap: 16px; }
}

/* Equal service columns: remove the last item's old asymmetric arrow padding. */
body.gwa-gridx-light .gwa-render-service-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 0;
}
body.gwa-gridx-light .gwa-render-service-list > .gwa-render-service {
    box-sizing: border-box;
    min-width: 0;
    margin-inline: 0;
    padding-inline: clamp(4px, .8vw, 14px);
    align-items: center;
    border-inline-end: 1px solid rgba(18, 25, 54, .13);
}
body.gwa-gridx-light .gwa-render-service-list > .gwa-render-service:last-child {
    border-inline-end-color: transparent;
}
body.gwa-gridx-light .gwa-render-service-list > .gwa-render-service svg {
    display: block;
    flex-shrink: 0;
    margin-inline: auto;
}

/* Keep the contact headline on an uninterrupted blue background. */
body.gwa-gridx-light .gwa-render-contact::after {
    content: none;
    display: none;
}
body.gwa-gridx-light .gwa-render-contact h2 {
    color: #fff;
}
body.gwa-gridx-light .gwa-render-contact h2 span {
    color: #ff793f;
}
