/* =========================================================
   MACRIGI — MISSIONE 2027
   SINGLE HTML WIDGET
   DESKTOP / TABLET / IPHONE
   ========================================================= */

.macrigi-mission-2027,
.macrigi-mission-2027 * {
    box-sizing: border-box;
}

.macrigi-mission-2027 {
    --mk-blue: #103746;
    --mk-blue-dark: #0c2d3b;
    --mk-cyan: #35A9DC;
    --mk-soft: #EDF7FB;
    --mk-text: #17313D;
    --mk-white: #FFFFFF;
    --mk-border: rgba(16,55,70,.13);
    --mk-max: 1280px;

    width: 100%;
    overflow-x: hidden;

    color: var(--mk-text);
    background: var(--mk-white);

    font-family: inherit;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.macrigi-mission-2027 *,
.macrigi-mission-2027 *::before,
.macrigi-mission-2027 *::after {
    box-sizing: border-box;
}

.macrigi-mission-2027 img,
.macrigi-mission-2027 svg,
.macrigi-mission-2027 iframe {
    max-width: 100%;
}

.macrigi-mission-2027 img {
    display: block;
}

.macrigi-mission-2027 a {
    text-decoration: none;
}

.macrigi-mission-2027 .mm-wrap {
    width: min(var(--mk-max), calc(100% - 56px));
    margin: 0 auto;
}

.macrigi-mission-2027 .mm-section {
    padding: 80px 0;
}

.macrigi-mission-2027 .mm-section-soft {
    background: var(--mk-soft);
}

.macrigi-mission-2027 .mm-eyebrow {
    margin: 0 0 12px;

    color: var(--mk-cyan);

    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.macrigi-mission-2027 h1,
.macrigi-mission-2027 h2,
.macrigi-mission-2027 h3 {
    margin: 0;
    color: var(--mk-blue);
}

.macrigi-mission-2027 h1 {
    margin-bottom: 20px;

    font-size: 50px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.025em;
}

.macrigi-mission-2027 h2 {
    margin-bottom: 18px;

    font-size: 35px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.015em;
}

.macrigi-mission-2027 h3 {
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
}

.macrigi-mission-2027 p {
    margin: 0 0 16px;

    color: var(--mk-text);

    font-size: 18px;
    line-height: 1.65;
}

.macrigi-mission-2027 .mm-lead {
    font-size: 20px;
    line-height: 1.65;
}

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

.macrigi-mission-2027 .mm-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;

    margin-top: 28px;
}

.macrigi-mission-2027 .mm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 55px;
    padding: 15px 26px;

    border: 1px solid transparent;
    border-radius: 6px;

    font-size: 15px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .02em;
    text-align: center;
    text-transform: uppercase;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

.macrigi-mission-2027 .mm-btn-primary {
    color: #fff;
    background: var(--mk-cyan);
}

.macrigi-mission-2027 .mm-btn-primary:hover {
    color: #fff;
    background: #2998c7;
    transform: translateY(-1px);
}

.macrigi-mission-2027 .mm-btn-secondary {
    color: var(--mk-blue);
    background: #e4e4e4;
}

.macrigi-mission-2027 .mm-btn-secondary:hover {
    color: var(--mk-blue);
    background: #d6d6d6;
    transform: translateY(-1px);
}

/* =========================================================
   SVG ICONS
   ========================================================= */

.macrigi-mission-2027 .mm-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 64px;
    height: 64px;
}

.macrigi-mission-2027 .mm-icon svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.macrigi-mission-2027 .mm-icon-dark {
    color: var(--mk-blue);
}

.macrigi-mission-2027 .mm-icon-cyan {
    color: var(--mk-cyan);
}

.macrigi-mission-2027 .mm-icon-white {
    color: #fff;
}

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

.macrigi-mission-2027 .mm-hero {
    padding: 72px 0;

    color: #fff;
    background: var(--mk-blue);
}

.macrigi-mission-2027 .mm-hero-grid {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 42px;
    align-items: center;
}

.macrigi-mission-2027 .mm-hero .mm-eyebrow,
.macrigi-mission-2027 .mm-hero h1,
.macrigi-mission-2027 .mm-hero p {
    color: #fff;
}

.macrigi-mission-2027 .mm-hero-image {
    overflow: hidden;
}

.macrigi-mission-2027 .mm-hero-image img {
    width: 100%;
    height: auto;
}

/* =========================================================
   MISSION
   ========================================================= */

.macrigi-mission-2027 .mm-center {
    text-align: center;
}

.macrigi-mission-2027 .mm-center-copy {
    max-width: 940px;
    margin: 0 auto 48px;
}

.macrigi-mission-2027 .mm-values {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

.macrigi-mission-2027 .mm-value {
    padding: 12px 14px 8px;
    text-align: center;
}

.macrigi-mission-2027 .mm-value .mm-icon {
    margin: 0 auto 20px;
}

.macrigi-mission-2027 .mm-value h3 {
    margin-bottom: 10px;
    color: var(--mk-cyan);
}

.macrigi-mission-2027 .mm-value p {
    margin: 0;

    font-size: 16px;
    line-height: 1.55;
}

/* =========================================================
   TWO PATHS
   ========================================================= */

.macrigi-mission-2027 .mm-path-title {
    margin-bottom: 46px;
    text-align: center;
}

.macrigi-mission-2027 .mm-paths {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.macrigi-mission-2027 .mm-path {
    display: flex;
    flex-direction: column;
    align-items: center;

    min-height: 100%;

    padding: 38px 30px;

    border: 1px solid var(--mk-border);
    border-radius: 20px;

    text-align: center;
    background: #fff;
}

.macrigi-mission-2027 .mm-path .mm-icon {
    width: 82px;
    height: 82px;
    margin-bottom: 24px;
}

.macrigi-mission-2027 .mm-path h3 {
    margin-bottom: 18px;

    font-size: 29px;
}

.macrigi-mission-2027 .mm-path p {
    max-width: 470px;
    margin: 0 auto 26px;

    font-size: 18px;
}

.macrigi-mission-2027 .mm-path .mm-btn {
    width: 100%;
    max-width: 420px;
    margin-top: auto;
}

/* =========================================================
   B2B PROCESS
   ========================================================= */

.macrigi-mission-2027 .mm-process-section {
    padding: 70px 0;

    color: #fff;
    background: var(--mk-blue);
}

.macrigi-mission-2027 .mm-process-section h2,
.macrigi-mission-2027 .mm-process-section p {
    color: #fff;
}

.macrigi-mission-2027 .mm-process-heading {
    margin-bottom: 48px;
    text-align: center;
}

.macrigi-mission-2027 .mm-process {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 22px;
}

.macrigi-mission-2027 .mm-step {
    text-align: center;
}

.macrigi-mission-2027 .mm-step .mm-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 18px;

    color: var(--mk-cyan);
}

.macrigi-mission-2027 .mm-step:last-child .mm-icon {
    color: #fff;
}

.macrigi-mission-2027 .mm-step h3 {
    color: #fff;

    font-size: 20px;
    font-weight: 600;
}

.macrigi-mission-2027 .mm-process-copy {
    max-width: 900px;
    margin: 42px auto 0;

    text-align: center;
}

.macrigi-mission-2027 .mm-process-copy p {
    margin: 0;

    font-size: 19px;
    line-height: 1.6;
}

/* =========================================================
   ECOSYSTEM
   ========================================================= */

.macrigi-mission-2027 .mm-ecosystem {
    background: var(--mk-soft);
}

.macrigi-mission-2027 .mm-ecosystem-intro {
    max-width: 900px;
    margin-bottom: 32px;
}

.macrigi-mission-2027 .mm-hubs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.macrigi-mission-2027 .mm-hub {
    padding: 30px;

    border-radius: 18px;

    color: #fff;
    background: var(--mk-blue);
}

.macrigi-mission-2027 .mm-hub-label {
    display: block;
    margin-bottom: 12px;

    color: var(--mk-cyan);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.macrigi-mission-2027 .mm-hub h3 {
    margin-bottom: 8px;

    color: #fff;
    font-size: 27px;
}

.macrigi-mission-2027 .mm-hub strong {
    display: block;
    margin-bottom: 12px;

    color: var(--mk-cyan);

    font-size: 17px;
}

.macrigi-mission-2027 .mm-hub p {
    margin: 0;

    color: #fff;

    font-size: 16px;
    line-height: 1.55;
}

/* =========================================================
   COMMERCIAL NETWORK
   ========================================================= */

.macrigi-mission-2027 .mm-network-intro {
    max-width: 920px;
    margin: 0 auto 42px;

    text-align: center;
}

.macrigi-mission-2027 .mm-network {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.macrigi-mission-2027 .mm-network-card {
    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 30px 24px;

    text-align: center;
}

.macrigi-mission-2027 .mm-network-card .mm-icon {
    width: 76px;
    height: 76px;
    margin-bottom: 25px;
}

.macrigi-mission-2027 .mm-network-card h3 {
    min-height: 56px;
    margin-bottom: 18px;

    font-size: 27px;
    text-transform: uppercase;
}

.macrigi-mission-2027 .mm-network-card p {
    min-height: 96px;
    margin-bottom: 24px;

    font-size: 17px;
}

.macrigi-mission-2027 .mm-network-card .mm-btn {
    width: 100%;
    margin-top: auto;
}

/* =========================================================
   METHOD
   ========================================================= */

.macrigi-mission-2027 .mm-method-grid {
    display: grid;
    grid-template-columns: 48% 52%;
    gap: 44px;
    align-items: center;
}

.macrigi-mission-2027 .mm-method-image {
    overflow: hidden;
}

.macrigi-mission-2027 .mm-method-image img {
    width: 100%;
    height: auto;
}

/* =========================================================
   FINAL CTA
   ========================================================= */

.macrigi-mission-2027 .mm-final {
    position: relative;
    overflow: hidden;

    padding: 76px 0;

    background:
        radial-gradient(circle at 15% 30%, rgba(53,169,220,.24) 0 2px, transparent 3px),
        radial-gradient(circle at 78% 25%, rgba(53,169,220,.19) 0 2px, transparent 3px),
        radial-gradient(circle at 37% 72%, rgba(53,169,220,.18) 0 2px, transparent 3px),
        linear-gradient(135deg, #0c2d3b 0%, #103746 55%, #12455b 100%);
    background-size:
        42px 42px,
        54px 54px,
        68px 68px,
        auto;

    color: #fff;
}

.macrigi-mission-2027 .mm-final-inner {
    position: relative;
    z-index: 2;

    max-width: 970px;
    margin: 0 auto;

    text-align: center;
}

.macrigi-mission-2027 .mm-final h2 {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;

    color: #fff;

    font-size: 40px;
}

.macrigi-mission-2027 .mm-final .mm-buttons {
    justify-content: center;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .macrigi-mission-2027 .mm-wrap {
        width: 90%;
    }

    .macrigi-mission-2027 .mm-section {
        padding: 60px 0;
    }

    .macrigi-mission-2027 h1 {
        font-size: 40px;
    }

    .macrigi-mission-2027 h2 {
        font-size: 30px;
    }

    .macrigi-mission-2027 .mm-hero {
        padding: 60px 0;
    }

    .macrigi-mission-2027 .mm-hero-grid {
        grid-template-columns: 45% 55%;
        gap: 28px;
    }

    .macrigi-mission-2027 .mm-values {
        grid-template-columns: repeat(2, 1fr);
        gap: 34px 24px;
    }

    .macrigi-mission-2027 .mm-process {
        grid-template-columns: repeat(3, 1fr);
        gap: 34px 24px;
    }

    .macrigi-mission-2027 .mm-network {
        grid-template-columns: repeat(2, 1fr);
    }

    .macrigi-mission-2027 .mm-network-card:last-child {
        grid-column: 1 / -1;

        width: calc(50% - 14px);
        margin: 0 auto;
    }

    .macrigi-mission-2027 .mm-method-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

/* =========================================================
   IPHONE / MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .macrigi-mission-2027 .mm-wrap {
        width: calc(100% - 40px);
    }

    .macrigi-mission-2027 .mm-section {
        padding: 42px 0;
    }

    .macrigi-mission-2027 .mm-eyebrow {
        margin-bottom: 10px;

        font-size: 13px;
    }

    .macrigi-mission-2027 h1 {
        margin-bottom: 16px;

        font-size: 32px;
        line-height: 1.12;
    }

    .macrigi-mission-2027 h2 {
        margin-bottom: 16px;

        font-size: 26px;
        line-height: 1.17;
    }

    .macrigi-mission-2027 h3 {
        font-size: 21px;
    }

    .macrigi-mission-2027 p,
    .macrigi-mission-2027 .mm-lead {
        font-size: 16px;
        line-height: 1.58;
    }

    /* HERO */

    .macrigi-mission-2027 .mm-hero {
        padding: 34px 0 40px;
    }

    .macrigi-mission-2027 .mm-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .macrigi-mission-2027 .mm-buttons {
        flex-direction: column;
        gap: 12px;

        margin-top: 24px;
    }

    .macrigi-mission-2027 .mm-btn {
        width: 100%;
        min-height: 54px;

        padding: 14px 16px;

        font-size: 14px;
    }

    .macrigi-mission-2027 .mm-hero-image {
        margin-top: 2px;
    }

    /* MISSION */

    .macrigi-mission-2027 .mm-center-copy {
        margin-bottom: 28px;
    }

    .macrigi-mission-2027 .mm-values {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .macrigi-mission-2027 .mm-value {
        padding: 0 6px;
    }

    .macrigi-mission-2027 .mm-value .mm-icon {
        width: 54px;
        height: 54px;
        margin-bottom: 14px;
    }

    .macrigi-mission-2027 .mm-value h3 {
        font-size: 21px;
    }

    .macrigi-mission-2027 .mm-value p {
        font-size: 16px;
    }

    /* PATHS */

    .macrigi-mission-2027 .mm-path-title {
        margin-bottom: 25px;
    }

    .macrigi-mission-2027 .mm-paths {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .macrigi-mission-2027 .mm-path {
        padding: 26px 20px;
    }

    .macrigi-mission-2027 .mm-path .mm-icon {
        width: 68px;
        height: 68px;
        margin-bottom: 18px;
    }

    .macrigi-mission-2027 .mm-path h3 {
        margin-bottom: 14px;

        font-size: 26px;
    }

    .macrigi-mission-2027 .mm-path p {
        margin-bottom: 22px;

        font-size: 17px;
    }

    /* B2B */

    .macrigi-mission-2027 .mm-process-section {
        padding: 46px 0;
    }

    .macrigi-mission-2027 .mm-process-heading {
        margin-bottom: 30px;
    }

    .macrigi-mission-2027 .mm-process {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 32px 18px;
    }

    .macrigi-mission-2027 .mm-step .mm-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 12px;
    }

    .macrigi-mission-2027 .mm-step h3 {
        font-size: 18px;
    }

    .macrigi-mission-2027 .mm-process-copy {
        margin-top: 32px;
    }

    .macrigi-mission-2027 .mm-process-copy p {
        font-size: 16px;
    }

    /* ECOSYSTEM */

    .macrigi-mission-2027 .mm-ecosystem-intro {
        margin-bottom: 24px;
    }

    .macrigi-mission-2027 .mm-hubs {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .macrigi-mission-2027 .mm-hub {
        padding: 22px;
    }

    .macrigi-mission-2027 .mm-hub h3 {
        font-size: 23px;
    }

    /* NETWORK */

    .macrigi-mission-2027 .mm-network-intro {
        margin-bottom: 24px;
    }

    .macrigi-mission-2027 .mm-network {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .macrigi-mission-2027 .mm-network-card,
    .macrigi-mission-2027 .mm-network-card:last-child {
        grid-column: auto;

        width: 100%;
        margin: 0;

        padding: 24px 10px;
    }

    .macrigi-mission-2027 .mm-network-card .mm-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 18px;
    }

    .macrigi-mission-2027 .mm-network-card h3 {
        min-height: 0;
        margin-bottom: 14px;

        font-size: 25px;
    }

    .macrigi-mission-2027 .mm-network-card p {
        min-height: 0;
        margin-bottom: 20px;

        font-size: 16px;
    }

    /* METHOD */

    .macrigi-mission-2027 .mm-method-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .macrigi-mission-2027 .mm-method-image {
        order: 1;
    }

    .macrigi-mission-2027 .mm-method-copy {
        order: 2;
    }

    /* FINAL */

    .macrigi-mission-2027 .mm-final {
        padding: 48px 0;
    }

    .macrigi-mission-2027 .mm-final h2 {
        margin-bottom: 24px;

        font-size: 28px;
        line-height: 1.15;
        text-align: left;
    }
}


/* =========================================================
   DESKTOP WIDE — aligned to validated Core landing geometry
   Only width/gutters are changed; canonical content/assets remain unchanged.
   ========================================================= */
@media (min-width:1181px) {
    .macrigi-mission-2027 .mm-wrap {
        width:100%;
        max-width:none;
        margin-left:0;
        margin-right:0;
        padding-left:clamp(30px,4.6vw,92px);
        padding-right:clamp(30px,4.6vw,92px);
    }
}


/* v0.7.121 — PAGE-SPECIFIC FINAL WIDTH CONTRACT */
@media (min-width:1440px){.macrigi-mission-2027 .mm-wrap{box-sizing:border-box!important;width:auto!important;max-width:none!important;margin-left:clamp(140px,10vw,190px)!important;margin-right:clamp(140px,10vw,190px)!important;padding-left:0!important;padding-right:0!important}}
@media (min-width:1025px) and (max-width:1439px){.macrigi-mission-2027 .mm-wrap{box-sizing:border-box!important;width:auto!important;max-width:none!important;margin-left:36px!important;margin-right:36px!important;padding-left:0!important;padding-right:0!important}}
@media (min-width:768px) and (max-width:1024px){.macrigi-mission-2027 .mm-wrap{box-sizing:border-box!important;width:auto!important;max-width:none!important;margin-left:24px!important;margin-right:24px!important;padding-left:0!important;padding-right:0!important}}
@media (max-width:767px){.macrigi-mission-2027 .mm-wrap{box-sizing:border-box!important;width:auto!important;max-width:none!important;margin-left:14px!important;margin-right:14px!important;padding-left:0!important;padding-right:0!important}}
@media (max-width:430px){.macrigi-mission-2027 .mm-wrap{margin-left:11px!important;margin-right:11px!important}}

/* v0.7.121 — PAGE-SPECIFIC IPHONE CARD CONTRACT */
@media (max-width:767px){
.macrigi-mission-2027 .mm-values,
.macrigi-mission-2027 .mm-process,
.macrigi-mission-2027 .mm-hubs,
.macrigi-mission-2027 .mm-network,
.macrigi-mission-2027 .mm-paths{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.macrigi-mission-2027 .mm-values > *,
.macrigi-mission-2027 .mm-process > *,
.macrigi-mission-2027 .mm-hubs > *,
.macrigi-mission-2027 .mm-network > *,
.macrigi-mission-2027 .mm-paths > *{min-width:0!important;text-align:center!important}
.macrigi-mission-2027 .mm-values > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-process > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-hubs > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-network > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-paths > *:nth-child(odd):last-child{grid-column:1/-1!important;width:calc(50% - 6px)!important;justify-self:center!important}
}
@media (max-width:430px){
.macrigi-mission-2027 .mm-values,
.macrigi-mission-2027 .mm-process,
.macrigi-mission-2027 .mm-hubs,
.macrigi-mission-2027 .mm-network,
.macrigi-mission-2027 .mm-paths{gap:10px!important}
.macrigi-mission-2027 .mm-values > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-process > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-hubs > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-network > *:nth-child(odd):last-child,
.macrigi-mission-2027 .mm-paths > *:nth-child(odd):last-child{width:calc(50% - 5px)!important}
}
