/* @import url('http://example.com/example_style.css'); */

/* =========================================================
   GLOBAL
========================================================= */

:root {
    --navy: #012751;
    --blue: #0468D3;
    --green: #1FB554;
    --text: #597798;
    --light: #F5F9FD;
    --border: #D7E3F0;
}
@font-face {
    font-family: 'Poppins';
    src: url('https://19603588.fs1.hubspotusercontent-na1.net/hubfs/19603588/2026%20LP%20Templates/Poppins%20Font/Poppins-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('https://19603588.fs1.hubspotusercontent-na1.net/hubfs/19603588/2026%20LP%20Templates/Poppins%20Font/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Poppins';
    src: url('https://19603588.fs1.hubspotusercontent-na1.net/hubfs/19603588/2026%20LP%20Templates/Poppins%20Font/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Poppins';
    src: url('https://19603588.fs1.hubspotusercontent-na1.net/hubfs/19603588/2026%20LP%20Templates/Poppins%20Font/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Poppins';
    src: url('https://19603588.fs1.hubspotusercontent-na1.net/hubfs/19603588/2026%20LP%20Templates/Poppins%20Font/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('https://19603588.fs1.hubspotusercontent-na1.net/hubfs/19603588/2026%20LP%20Templates/Poppins%20Font/Poppins-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {

    font-family:'Poppins',sans-serif;
    color:var(--text);
    background:#fff;

}




/* =========================================================
   GENERAL CONTAINER
========================================================= */

.container {
    position: relative;
    z-index: 10;

    width: 100%;
    max-width: 1140px;

    margin: 0 auto;

    padding: 0 20px;
}


/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;

    padding: 60px 0 80px;

    overflow: hidden;
}


/* Gradient + grid background */

.bg-seccion-grad-reticula {
    position: relative;

    background:
        linear-gradient(
            56deg,
            #88c1eb 19%,
            #e8f8ff 60%,
            #dbf7d7 100%
        );

    overflow: hidden;
}


/* White overlay */

.bg-seccion-grad-reticula::before {
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(255, 255, 255, .5);

    pointer-events: none;

    z-index: 1;
}


/* Grid */

.bg-seccion-grad-reticula::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(96,153,195,.1) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(96,153,195,.1) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    z-index: 2;
}


/* =========================================================
   HERO CONTENT
========================================================= */

.hero-centered {
    position: relative;
    z-index: 10;

    width: 100%;
    max-width: 800px;

    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   LOGO
========================================================= */

.logo {
    display: block;

    width: 150px;
    max-width: 150px;
    height: auto;

    margin: 0 auto 40px;
}


/* =========================================================
   HERO TAG
========================================================= */

.hero-tag {
    display: flex;

    align-items: center;
    justify-content: center;

    width: fit-content;

    min-height: 35px;

    margin: 0 auto 60px;

    padding: 5px;

    background: rgba(4, 104, 211, 0.08);

    border: 1px solid var(--blue);

    border-radius: 999px;
}


/* Left blue pill */

.hero-tag-label {
    display: flex;

    align-items: center;
    justify-content: center;

    height: 25px;

    padding: 0 18px;
    min-width:100px;
    background: var(--blue);

    color: #fff;

    border-radius: 999px;

    font-family: 'Poppins', sans-serif;

    font-size:clamp(9px, 1vw, 10px);

    line-height: 1;

    font-weight: 500;

    text-transform: uppercase;
}


/* Right text */

.hero-tag-text {
    padding: 0 20px;

    color: var(--blue);

    font-family: 'Poppins', sans-serif;

    font-size: clamp(9px, 1vw, 10px);

    line-height: 1;

    font-weight: 600;
}


/*
   Prevent the HubSpot-generated h1 from introducing
   unexpected margins.
*/

.hero-tag-text h1 {
    margin: 0 !important;

    color: inherit;

    font-family: 'Poppins', sans-serif;

    font-size:clamp(10px, 1vw, 12px) !important;

    line-height: 1.2 !important;

    font-weight: 600 !important;

    text-align: center !important;
}


/* =========================================================
   HERO HEADINGS
========================================================= */

.hero h1 {
    margin: 0;

    font-size: clamp(10px, 1.2vw, 12px);

    font-weight: 600;
}


/* Main heading */

.hero h2 {
    margin: 0 0 24px;

    color: var(--navy);

    font-family: 'Poppins', sans-serif;

    font-size: clamp(30px, 4vw, 37px);

    font-weight: 700;

    letter-spacing: -0.03em;

    line-height: 1.2;

    text-align: center;
}


/* Subheading */

.hero h3 {
    margin: 0 0 24px;

    color: var(--navy);

    font-family: 'Poppins', sans-serif;

    font-size: clamp(21px, 2.5vw, 25px);

    font-weight: 500;

    letter-spacing: -0.03em;

    line-height: 1.2;

    text-align: center !important;
}


/*
   HubSpot sometimes injects inline styles such as:

   style="text-align:center"

   These rules intentionally use !important.
*/

.hero h3[style] {
    text-align: center !important;
}

.hero h4 {
    text-align: left !important;
    color:#012751;

    font-size:clamp(18px, 2.5vw, 22px);
    font-weight:500;
	letter-spacing: -0.03em;
	line-height:1.2;
margin-bottom: 10px;

}

/* =========================================================
   GENNY ICON
========================================================= */

.genny-icon {
    width: 45px;

    height: auto;

    vertical-align: middle;

    margin: 0 -5px 0 6px;
}


/* =========================================================
   HERO COPY
========================================================= */

.hero-copy {
    margin-bottom: 50px;

    color: var(--navy);

    line-height: 1.5;

    text-align: center !important;
}


.hero-copy p {
    margin: 0 0 15px;

    color: var(--navy);

    font-weight: 400;

    line-height: 1.5;

    text-align: center !important;
}


.hero-copy p[style] {
    text-align: center !important;
}

.hero-copy strong {

    font-weight:700;

}
.hero-copy ul {

    margin:0 auto;

    max-width:800px;
	  list-style-type: square;
    text-align:left;
  padding-left:32px;
}

.hero-copy li {

    margin-bottom:10px;
  padding-left:6px;

}

.hero-copy li::marker {
    color: var(--green);
}


ul li::marker {
    color: #1FB554;       /* Changes bullet color */
	list-style-type:square;
    /*content: "➢ ";         Replaces the bullet shape with a custom character */
    /*font-size: 1.2em;      Changes bullet size */
}

/* =========================================================
   BUTTONS
========================================================= */

.btn-primary,
.btn-secondary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: auto;

    min-height: 40px;

    padding: 0 20px;

    border: none;

    border-radius: 10px;

    font-family: 'Poppins', sans-serif;

    font-size: 16px;

    font-weight: 600;

    line-height: 1;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}


/* Primary */

.btn-primary {
    background: var(--blue);

    color: #fff;
}


/* Secondary */

.btn-secondary {
    background: #fff;

    color: var(--blue);
}


/* Hover */

.btn-primary:hover,
.btn-secondary:hover {
    transform: translateY(-2px);
}


/* Primary shadow */

.btn-primary:hover {
    box-shadow:
        0 8px 20px rgba(4, 104, 211, .20);
}


/* Secondary shadow */

.btn-secondary:hover {
    box-shadow:
        0 8px 20px rgba(0, 0, 0, .15);
}


/* Keyboard accessibility */

.btn-primary:focus-visible,
.btn-secondary:focus-visible {
    outline: 3px solid rgba(4, 104, 211, .35);

    outline-offset: 3px;
}


/* =========================================================
   EXPANDABLE FORM SECTION
========================================================= */

.expandable-form {
    width: 100%;

    max-height: 0;

    padding: 0;

    opacity: 0;

    overflow: hidden;

    background: #edf3f9;

    transition:
        max-height 0.4s ease-out,
        opacity 0.4s ease,
        padding 0.4s ease;
}


.expandable-form.is-open {
    max-height: 5000px;

    padding: 60px 0;

    opacity: 1;
}


/* =========================================================
   FORM CARD
========================================================= */

.form-card {
    width: 100%;
    max-width: 1140px;

    margin: 0 auto;
}


.form-card h4 {
    margin: 0 0 20px;

    color: var(--navy);

    font-family: 'Poppins', sans-serif;

        font-size:clamp(20px, 2.5vw, 24px);
font-weight:700;
letter-spacing: -.03em;
    line-height: 1.2;
}


/* =========================================================
   HUBSPOT FORM — MAIN GRID
========================================================= */

.hubspot-form {
    width: 100%;

    min-width: 0;
}


/*
   IMPORTANT:
   We control the actual HubSpot form here.
*/

.hubspot-form form {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 16px;

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    padding: 0 !important;
}


/*
   DO NOT use:
   fieldset { display: contents; }

   HubSpot's form structure needs to remain intact.
*/


.hubspot-form fieldset {
    width: 100%;

    max-width: 100% !important;

    min-width: 0;

    margin: 0;

    padding: 0;

    border: 0;
}
/* =========================================================
   HUBSPOT FORM — REMOVE FIELDSET GRID INTERFERENCE
========================================================= */

.hubspot-form form > fieldset {
    display: contents;
}
.hubspot-form form > fieldset:empty {
    display: none !important;
}
.hubspot-form form > fieldset:not(:has(.hs-form-field, .legal-consent-container, .hs_recaptcha, .hs_submit)) {
    display: none !important;
}

/* =========================================================
   FORM FIELDS
========================================================= */

.hubspot-form .hs-form-field {
    width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;
}


.hubspot-form label {
    display: block;

    margin: 0 0 6px;

    color: var(--navy);

    font-family: 'Poppins', sans-serif;

    font-size: 13px;

    font-weight: 500;

    line-height: 1.3;
}


.hubspot-form input,
.hubspot-form select,
.hubspot-form textarea {
    display: block;

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0;

    padding: 12px 16px;

    border: 1px solid var(--border);

    border-radius: 10px;

    background: #fff;

    color: var(--navy);

    font-family: 'Poppins', sans-serif;

    font-size: 14px;

    line-height: 1.4;

    box-sizing: border-box;
}


.hubspot-form input,
.hubspot-form select {
    min-height: 52px;
}


.hubspot-form textarea {
    min-height: 200px;

    resize: vertical;
}


/* Focus */

.hubspot-form input:focus,
.hubspot-form select:focus,
.hubspot-form textarea:focus {
    outline: none;

    border-color: var(--blue);

    box-shadow:
        0 0 0 3px rgba(4, 104, 211, .10);
}


/* =========================================================
   FORM GRID — DESKTOP
========================================================= */

.hubspot-form .hs_firstname {
    grid-column: 1;
    grid-row: 1;
}

.hubspot-form .hs_lastname {
    grid-column: 2;
    grid-row: 1;
}

.hubspot-form .hs_email {
    grid-column: 3;
    grid-row: 1;
}


.hubspot-form .hs_phone {
    grid-column: 1;
    grid-row: 2;
}

.hubspot-form .hs_company {
    grid-column: 2;
    grid-row: 2;
}

.hubspot-form .hs_job_role {
    grid-column: 3;
    grid-row: 2;
}


.hubspot-form .hs_industry {
    grid-column: 1;
    grid-row: 3;
}

.hubspot-form .hs_company_size___range {
    grid-column: 2;
    grid-row: 3;
}

.hubspot-form .hs_region {
    grid-column: 3;
    grid-row: 3;
}


.hubspot-form .hs_number_of_sites___range {
    grid-column: 1;
    grid-row: 4;
}

.hubspot-form .hs_desired_project_initiation_timeline {
    grid-column: 2;
    grid-row: 4;
}

.hubspot-form .hs_how_did_you_hear_about_us {
    grid-column: 3;
    grid-row: 4;
}


.hubspot-form .hs_functionofinterest {
    grid-column: 1;
    grid-row: 5;
}

.hubspot-form .hs_message {
    grid-column: 2 / 4;
    grid-row: 5;

    width: 100% !important;
}


.hubspot-form .legal-consent-container {
    grid-column: 1 / -1;
    grid-row: 6;

    width: 100% !important;
}


.hubspot-form .hs_recaptcha {
    grid-column: 1 / -1;
    grid-row: 7;
}


.hubspot-form .hs_submit {
    grid-column: 1 / -1;
    grid-row: 8;
}


/* =========================================================
   SELECT
========================================================= */

.hubspot-form select {
    appearance: none;

    -webkit-appearance: none;

    background-color: #fff;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10'%3E%3Cpath d='M2 2l6 6 6-6' fill='none' stroke='%23597798' stroke-width='1.5'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 18px center;

    padding-right: 45px;
}


.hubspot-form select.hs-input {
    color: var(--navy);
}


.hubspot-form select.hs-input:invalid {
    color: darkgray;
}


/* =========================================================
   CHECKBOX / RADIO
========================================================= */

.hubspot-form .inputs-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.hubspot-form .inputs-list li {
    margin: 0 0 5px;

    padding: 0;

    list-style: none;

    line-height: 1.3;
}


.hubspot-form .inputs-list li::marker,
.hubspot-form .inputs-list li::before {
    display: none !important;

    content: none !important;
}


.hubspot-form .hs-form-checkbox,
.hubspot-form .hs-form-radio {
    margin-bottom: 5px !important;
}


.hubspot-form .hs-form-checkbox label,
.hubspot-form .hs-form-radio label {
    display: flex;

    align-items: center;

    gap: 10px;

    margin: 0;

    cursor: pointer;
}


/* Checkbox */

.hubspot-form input[type="checkbox"] {
    appearance: none;

    -webkit-appearance: none;

    display: inline-grid;

    place-items: center;

    flex: 0 0 24px;

    width: 24px !important;

    min-width: 24px !important;

    max-width: 24px !important;

    height: 24px;

    min-height: 24px;

    margin: 0;

    padding: 0;

    border: 1.5px solid var(--border);

    border-radius: 6px;

    background: #fff;

    cursor: pointer;

    transition: .2s ease;
}


.hubspot-form input[type="checkbox"]:checked {
    background: var(--blue);

    border-color: var(--blue);
}


.hubspot-form input[type="checkbox"]:checked::after {
    content:"X";
    font-size: 9px; font-weight: 300; line-height: 1;
    color: #fff;
}


/* =========================================================
   LEGAL CONSENT
========================================================= */

.hubspot-form .legal-consent-container {
    margin: 0;

    color: var(--text);

    font-size: 12px;

    line-height: 1.6;
}


.hubspot-form .legal-consent-container p {
    margin: 0 0 10px;

    font-size: 12px;

    line-height: 1.6;
}


.hubspot-form .legal-consent-container a {
    color: var(--blue);

    font-weight: 600;
}


/* =========================================================
   REQUIRED / ERRORS
========================================================= */

.hubspot-form .hs-form-required {
    color: var(--blue);
}


.hubspot-form .hs-error-msg {
    margin: 5px 0 0;

    padding: 0;

    color: #fb3b1e;

    font-size: 9px;

    font-weight: 400;

    line-height: 1.3;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.hubspot-form input[type="submit"] {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: auto !important;

    min-height: 40px;

    padding: 0 20px;

    border: none;

    border-radius: 10px;

    background: var(--blue);

    color: #fff;

    font-family: 'Poppins', sans-serif;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.hubspot-form input[type="submit"]:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(4,104,211,.20);
}


/* =========================================================
   VIDEO
========================================================= */

.video-section {
    padding: 40px 0;
}


.video-placeholder {
    position: relative;

    width: 100%;
    max-width: 1000px;

    margin: 0 auto;
}


.video-wrapper {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    border-radius: 20px;
}


.video-wrapper iframe {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;
}


/* =========================================================
   SOLUTIONS INTRO
========================================================= */

.solutions-intro {
    padding: 80px 0 40px;

    text-align: center;
}


.solutions-intro h2 {
    margin: 0 0 20px;

    color: var(--navy);

    font-size: clamp(28px, 3.2vw, 37px);

    font-weight: 700;

    letter-spacing: -0.03em;

    line-height: 1.2;

    text-align: center !important;
}


.solutions-intro p {
    max-width: 800px;

    margin: 0 auto;

    line-height: 1.5;

    text-align: center !important;
}


.solutions-intro p span {
    text-align: center !important;
}


/* =========================================================
   AI CARDS
========================================================= */

.ai-cards {
    width: 100%;

    padding: 20px 0 100px;
}


/*
   IMPORTANT:
   Explicitly scoped so HubSpot's generic layout rules
   cannot change the number of columns.
*/

.ai-cards .cards-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 30px;

    width: 100%;

    align-items: stretch;
}


.ai-cards .ai-card {
    display: flex;

    flex-direction: column;

    width: auto !important;

    min-width: 0;

    padding: 40px 30px;

    background: #fff;

    border-radius: 20px;

    text-align: center;

    box-shadow:
        0 10px 40px rgba(4,104,211,.08);
}


.ai-card img {
    display: block;

    width: auto;
    height: auto;
    max-width: 250px;

    margin: 0 auto 25px;
}


.ai-card h3 {
    margin: 0 0 15px;

    color: var(--navy);

    font-size: clamp(20px, 1.8vw, 22px);

    line-height: 1.2;

    text-align: center !important;
}


.ai-card p {
    flex-grow: 1;

    margin: 0;

    color: var(--text);

    line-height: 1.5;

    text-align: center !important;
}


.ai-card p span {
    color: var(--text);

    text-align: center !important;
}


/* =========================================================
   FOOTER
========================================================= */

.footer-cta {
    width: 100%;

    padding: 80px 0;

    background: var(--navy);

    color: #fff;
}


/*
   Explicit 2-column desktop layout.
*/

.footer-cta .footer-grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(0, 0.8fr) !important;

    gap: 40px;

    width: 100%;

    align-items: center;

    text-align: left;
    padding: 0 20px;
}


.footer-grid h2 {
    margin: 0 0 15px;

    color: #fff;

    font-size: clamp(28px, 3.2vw, 37px);

    font-weight: 700;

    letter-spacing: -0.03em;

    line-height: 1.2;

    text-align: left !important;
}


.footer-grid h3 {
    margin: 0;

    color: #fff;

    font-size: 25px;

    font-weight: 300;

    letter-spacing: -0.01em;

    line-height: 1.2;

    text-align: left !important;
}


.footer-grid h3[style] {
    color: #fff !important;

    text-align: left !important;
}


.footer-button {
    text-align: center;
}


.copyright {
    margin: 24px 0 0;
    padding: 0 20px;
    color: #fff;

    font-size: 13px;

    line-height: 1.5;

    text-align: left;
}


.policy {
    color: var(--green);

    text-decoration: none;
}


.policy:hover {
    text-decoration: underline;
}


/* =========================================================
   TABLET — MAX 991PX
========================================================= */

@media (max-width: 991px) {


    /* -----------------------------------------
       CONTAINER
    ----------------------------------------- */

    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    /* -----------------------------------------
       HERO
    ----------------------------------------- */


    .hero-tag {
        display: inline-flex;
	      align-self: center;
          margin-left: auto;
        margin-right: auto;
    }


    /* -----------------------------------------
       FORM
    ----------------------------------------- */

    .hubspot-form form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }


    /* Row 1 */

    .hubspot-form .hs_firstname {
        grid-column: 1;
        grid-row: 1;
    }

    .hubspot-form .hs_lastname {
        grid-column: 2;
        grid-row: 1;
    }


    /* Row 2 */

    .hubspot-form .hs_email {
        grid-column: 1;
        grid-row: 2;
    }

    .hubspot-form .hs_phone {
        grid-column: 2;
        grid-row: 2;
    }


    /* Row 3 */

    .hubspot-form .hs_company {
        grid-column: 1;
        grid-row: 3;
    }

    .hubspot-form .hs_job_role {
        grid-column: 2;
        grid-row: 3;
    }


    /* Row 4 */

    .hubspot-form .hs_industry {
        grid-column: 1;
        grid-row: 4;
    }

    .hubspot-form .hs_company_size___range {
        grid-column: 2;
        grid-row: 4;
    }


    /* Row 5 */

    .hubspot-form .hs_region {
        grid-column: 1;
        grid-row: 5;
    }

    .hubspot-form .hs_number_of_sites___range {
        grid-column: 2;
        grid-row: 5;
    }


    /* Row 6 */

    .hubspot-form .hs_desired_project_initiation_timeline {
        grid-column: 1;
        grid-row: 6;
    }

    .hubspot-form .hs_how_did_you_hear_about_us {
        grid-column: 2;
        grid-row: 6;
    }


    /* Row 7 */

    .hubspot-form .hs_functionofinterest {
        grid-column: 1;
        grid-row: 7;
    }

    .hubspot-form .hs_message {
        grid-column: 2;
        grid-row: 7;
    }


    /* Row 8 */

    .hubspot-form .legal-consent-container {
        grid-column: 1 / -1;
        grid-row: 8;
    }


    /* Row 9 */

    .hubspot-form .hs_recaptcha {
        grid-column: 1 / -1;
        grid-row: 9;
    }


    /* Row 10 */

    .hubspot-form .hs_submit {
        grid-column: 1 / -1;
        grid-row: 10;
    }


    /* -----------------------------------------
       AI CARDS
    ----------------------------------------- */
    .solutions-intro{
      padding: 40px 0;
  }
    .ai-cards .cards-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }


    /* -----------------------------------------
       FOOTER
    ----------------------------------------- */

    .footer-cta .footer-grid {
        grid-template-columns: 1fr !important;

        text-align: center !important;
    }


    .footer-grid h2,
    .footer-grid h3 {
        text-align: center !important;
    }


    .footer-button {
        text-align: center;
    }


    .copyright {
        margin-top: 50px;

        text-align: center;
    }

}


/* =========================================================
   MOBILE — MAX 600PX
========================================================= */

@media (max-width: 600px) {

    /* -----------------------------------------
       FORM
    ----------------------------------------- */

    .hubspot-form form {
        grid-template-columns: 1fr !important;

        gap: 16px;
    }


    /*
       Everything becomes one column.
       We intentionally remove explicit row positioning.
    */

    .hubspot-form .hs-form-field,
    .hubspot-form .hs_firstname,
    .hubspot-form .hs_lastname,
    .hubspot-form .hs_email,
    .hubspot-form .hs_phone,
    .hubspot-form .hs_company,
    .hubspot-form .hs_job_role,
    .hubspot-form .hs_industry,
    .hubspot-form .hs_company_size___range,
    .hubspot-form .hs_region,
    .hubspot-form .hs_number_of_sites___range,
    .hubspot-form .hs_desired_project_initiation_timeline,
    .hubspot-form .hs_how_did_you_hear_about_us,
    .hubspot-form .hs_functionofinterest,
    .hubspot-form .hs-fieldtype-textarea,
    .hubspot-form .hs_message,
    .hubspot-form .legal-consent-container,
    .hubspot-form .hs_recaptcha,
    .hubspot-form .hs_submit {
        grid-column: 1 !important;

        grid-row: auto !important;

        width: 100% !important;

        min-width: 0 !important;
    }


    .hubspot-form textarea {
        min-height: 160px;
    }


    /* -----------------------------------------
       AI CARDS
    ----------------------------------------- */

    .ai-cards .cards-grid {
        grid-template-columns: 1fr !important;

        gap: 20px;
    }


    .ai-card {
        padding: 30px 25px;
    }





/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }


    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;

        scroll-behavior: auto !important;
    }

}