/* Undernet MIPG, compact interactive page. New page-specific styles only. */

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 7rem; }

.mipg-hero {
    background:
        radial-gradient(circle at 84% 20%, rgba(239,125,0,.15), transparent 32%),
        linear-gradient(180deg,#2c2c2c 0%,#202020 100%) !important;
}

.mipg-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(310px, .65fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.mipg-hero-copy { max-width: 900px; }
.mipg-hero h1 {
    max-width: 820px;
    margin-bottom: 1.15rem;
    font-size: clamp(3rem, 4.8vw, 5.25rem) !important;
    line-height: 1 !important;
    letter-spacing: -.04em;
}
.mipg-hero .page-lead { max-width: 790px; font-size: clamp(1.12rem,1.55vw,1.38rem); }
.mipg-hero-copy > p:not(.eyebrow):not(.page-lead) { max-width: 820px; }

.mipg-hero-actions,
.mipg-cta-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.45rem; }

.mipg-hero-summary {
    padding: 1.6rem;
    border: 1px solid rgba(239,125,0,.48);
    border-radius: 20px;
    background: linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
    box-shadow: 0 22px 48px rgba(0,0,0,.22);
}
.mipg-summary-kicker { margin:0 0 .45rem; color:#f7931e; font-size:.8rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.mipg-hero-summary > strong { display:block; color:#fff; font-size:clamp(1.7rem,2.5vw,2.5rem); line-height:1.05; }
.mipg-hero-summary p { color:rgba(255,255,255,.84); }
.mipg-summary-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; margin:1.2rem 0; }
.mipg-summary-stats div { padding:.9rem; border-radius:14px; background:rgba(0,0,0,.22); }
.mipg-summary-stats strong { display:block; color:#f7931e; font-size:2rem; line-height:1; }
.mipg-summary-stats span { display:block; margin-top:.35rem; color:#fff; font-weight:700; }
.mipg-summary-note { margin-bottom:0; font-size:.95rem; }

.mipg-intro { padding-top:clamp(3rem,5vw,5rem); padding-bottom:clamp(3rem,5vw,5rem); }
.mipg-intro-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.mipg-intro h2 { margin-bottom:0; }
.mipg-intro-copy p:first-child { margin-top:0; }
.mipg-intro-copy { font-size:1.06rem; }

.mipg-explorer { padding-top:clamp(3rem,5vw,4.75rem); padding-bottom:clamp(3rem,5vw,4.75rem); }
.mipg-explorer-heading { max-width:860px; }

.mipg-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
    margin:1.5rem 0 1rem;
    padding:.65rem;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(0,0,0,.16);
}
.mipg-tab {
    appearance:none;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    padding:.72rem 1rem;
    color:#fff;
    background:rgba(255,255,255,.045);
    font:inherit;
    font-weight:750;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.mipg-tab:hover { border-color:rgba(247,147,30,.68); transform:translateY(-1px); }
.mipg-tab:focus-visible { outline:3px solid rgba(247,147,30,.35); outline-offset:2px; }
.mipg-tab.is-active,
.mipg-tab[aria-selected="true"] { color:#171717; border-color:#f7931e; background:#f7931e; }

.mipg-panels { min-height:430px; }
.mipg-tab-panel {
    padding:clamp(1.4rem,3vw,2.4rem);
    border:1px solid rgba(255,255,255,.14);
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0,rgba(239,125,0,.08),transparent 32%),
        linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
    box-shadow:0 24px 55px rgba(0,0,0,.18);
}
.mipg-tab-panel[hidden] { display:none; }
.mipg-panel-heading { max-width:900px; margin-bottom:1.25rem; }
.mipg-panel-heading-wide { max-width:none; }
.mipg-panel-heading h3,
.mipg-service-layout h3 { margin:.35rem 0 .8rem; color:#fff; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.08; }

.mipg-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.mipg-fact-grid article,
.mipg-three-grid article,
.mipg-two-grid article,
.mipg-result-card {
    padding:1.15rem;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:rgba(0,0,0,.17);
}
.mipg-fact-grid strong,
.mipg-fact-symbol { display:block; margin-bottom:.35rem; color:#f7931e; font-size:2.2rem; font-weight:800; line-height:1; }
.mipg-fact-grid h4,
.mipg-three-grid h4,
.mipg-two-grid h4,
.mipg-result-card h4 { margin:.2rem 0 .55rem; color:#fff; }
.mipg-fact-grid p,
.mipg-three-grid p,
.mipg-two-grid p { margin-bottom:0; }
.mipg-panel-callout { margin-top:1rem; padding:1rem 1.15rem; border-left:3px solid #f7931e; border-radius:10px; background:rgba(247,147,30,.08); }

.mipg-three-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; }
.mipg-two-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.mipg-clarifications { margin-top:.9rem; }

.mipg-service-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(290px,.7fr); gap:1.5rem; align-items:start; }
.mipg-result-card ul { margin:.75rem 0 1.1rem; padding-left:1.2rem; }
.mipg-result-card .button { width:100%; justify-content:center; }
.mipg-inline-link { display:inline-block; margin-top:.8rem; color:#f7931e; font-weight:750; }

.mipg-review-compact { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.55rem; margin-top:1.2rem; }
.mipg-review-compact span { display:flex; flex-direction:column; gap:.2rem; min-height:80px; padding:.75rem; border-radius:12px; background:rgba(255,255,255,.055); font-weight:700; }
.mipg-review-compact b { color:#f7931e; font-size:.82rem; letter-spacing:.08em; }

.mipg-chip-list { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.mipg-chip-list span { padding:.48rem .75rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.045); font-size:.92rem; font-weight:700; }

.mipg-faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.mipg-faq details { align-self:start; padding:.95rem 1rem; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(0,0,0,.16); }
.mipg-faq summary { cursor:pointer; color:#fff; font-weight:750; }
.mipg-faq details p { margin-bottom:.1rem; }

.mipg-why-undernet { padding-top:clamp(3rem,5vw,5rem); padding-bottom:clamp(3rem,5vw,5rem); }
.mipg-why-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.mipg-method-compact { margin:0; padding:0; list-style:none; }
.mipg-method-compact li { display:grid; grid-template-columns:48px 1fr; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.mipg-method-compact li:first-child { padding-top:0; }
.mipg-method-compact span { color:#f7931e; font-weight:800; }
.mipg-method-compact strong { color:#fff; font-size:1.06rem; }
.mipg-method-compact p { margin:.2rem 0 0; }

.mipg-final-cta-legacy {
    display:grid !important;
    grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr) !important;
    gap:1.5rem !important;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18) !important;
    background:
        radial-gradient(circle at 90% 15%,rgba(239,125,0,.14),transparent 34%),
        linear-gradient(180deg,#353535,#242424) !important;
}
.mipg-final-cta-legacy h2 { color:#fff !important; }
.mipg-final-cta-legacy p:not(.eyebrow),
.mipg-final-cta-legacy small { color:rgba(255,255,255,.86) !important; }
.mipg-final-cta-legacy .eyebrow,
.mipg-cta-text-link { color:#f7931e !important; }
.mipg-cta-actions { align-items:flex-start; justify-content:flex-end; }

@media (max-width:1050px) {
    .mipg-hero-grid,
    .mipg-intro-grid,
    .mipg-why-grid { grid-template-columns:1fr; }
    .mipg-hero-summary { max-width:620px; }
    .mipg-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mipg-review-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:780px) {
    .mipg-hero h1 { font-size:clamp(2.65rem,12vw,4rem) !important; }
    .mipg-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:.8rem; scrollbar-width:thin; }
    .mipg-tab { flex:0 0 auto; }
    .mipg-panels { min-height:0; }
    .mipg-fact-grid,
    .mipg-three-grid,
    .mipg-two-grid,
    .mipg-service-layout,
    .mipg-faq,
    .mipg-final-cta-legacy { grid-template-columns:1fr !important; }
    .mipg-review-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mipg-hero-actions .button,
    .mipg-cta-actions .button { width:100%; justify-content:center; }
    .mipg-cta-actions { justify-content:flex-start; }
}

@media (max-width:480px) {
    .mipg-review-compact { grid-template-columns:1fr; }
    .mipg-review-compact span { min-height:auto; }
}

/* QA refinements: clearer cards and stronger final CTA on dark backgrounds. */
.mipg-three-grid article,
.mipg-two-grid article,
.mipg-result-card {
    background:rgba(255,255,255,.065) !important;
    border-color:rgba(255,255,255,.18) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.10);
}

.mipg-final-cta-legacy .button-light {
    background:#f7931e !important;
    border-color:#f7931e !important;
    color:#171717 !important;
    box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.mipg-final-cta-legacy .button-light:hover,
.mipg-final-cta-legacy .button-light:focus-visible {
    background:#ff9f2a !important;
    border-color:#ff9f2a !important;
    color:#171717 !important;
}

/* Policy and public procurement additions */
.mipg-dimensions-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.9rem;
}
.mipg-dimension-card,
.mipg-contract-grid article {
    padding:1.15rem;
    border:1px solid rgba(255,255,255,.18);
    border-radius:16px;
    background:rgba(255,255,255,.065);
    box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.mipg-dimension-number {
    margin:0 0 .35rem;
    color:#f7931e;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.mipg-dimension-card h4,
.mipg-contract-grid h4 {
    margin:.2rem 0 .65rem;
    color:#fff;
}
.mipg-dimension-card ul {
    margin:0;
    padding-left:1.15rem;
}
.mipg-dimension-card li + li { margin-top:.38rem; }
.mipg-specialized-block {
    margin-top:1.5rem;
    padding-top:1.35rem;
    border-top:1px solid rgba(255,255,255,.13);
}
.mipg-panel-heading-tight { margin-bottom:.9rem; }
.mipg-panel-heading-tight h4 {
    margin:.25rem 0 .4rem;
    color:#fff;
    font-size:clamp(1.35rem,2.2vw,1.9rem);
}
.mipg-contract-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.9rem;
}
.mipg-contract-grid p { margin-bottom:0; }
.mipg-panel-button { margin-top:1rem; }

@media (max-width:1050px) {
    .mipg-dimensions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:780px) {
    .mipg-dimensions-grid,
    .mipg-contract-grid { grid-template-columns:1fr; }
}


/* Cotizaciones, estudios de mercado y SECOP */
.mipg-contract-grid-three {
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.mipg-panel-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:1rem;
    margin-top:1rem;
}
.mipg-panel-actions .mipg-panel-button,
.mipg-panel-secondary-link { margin-top:0; }
.mipg-final-cta-legacy .button-secondary {
    border-color:rgba(255,255,255,.4) !important;
    color:#fff !important;
}
.mipg-final-cta-legacy .button-secondary:hover,
.mipg-final-cta-legacy .button-secondary:focus-visible {
    border-color:#f7931e !important;
    color:#f7931e !important;
}
@media (max-width:1050px) {
    .mipg-contract-grid-three { grid-template-columns:1fr; }
}
@media (max-width:780px) {
    .mipg-panel-actions { align-items:stretch; }
    .mipg-panel-actions .button { width:100%; justify-content:center; }
}


/* Final CTA containment fix */
.mipg-final-cta-legacy {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
.mipg-final-cta-legacy > * {
    min-width:0;
}
.mipg-final-cta-legacy .mipg-cta-actions {
    min-width:0;
    max-width:100%;
}
.mipg-final-cta-legacy .button,
.mipg-final-cta-legacy .mipg-cta-text-link {
    box-sizing:border-box;
    max-width:100%;
}

/* CTA text consistency */
.mipg-final-cta-legacy .button-light,
.mipg-final-cta-legacy .button-secondary {
    color:#fff !important;
}
.mipg-final-cta-legacy .button-light:hover,
.mipg-final-cta-legacy .button-light:focus-visible {
    color:#fff !important;
}


/* Restore the final CTA to the same centered content width used by the site.
   Previous containment rules forced max-width:100%, which made this box span the viewport. */
.mipg-final-cta-legacy {
    width:calc(100% - 2rem) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

@media (max-width:780px) {
    .mipg-final-cta-legacy {
        width:calc(100% - 1.25rem) !important;
    }
}

/* Final MIPG scope section: two-level layout with a wide visual diagram and a separate CTA row. */
.mipg-scope-section {
    padding-top:clamp(2.5rem,5vw,4.5rem);
    padding-bottom:clamp(2.5rem,5vw,4.5rem);
    background:#1c1c1c;
}
.mipg-scope-shell {
    box-sizing:border-box;
    width:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:20px;
    background:
        radial-gradient(circle at 92% 12%,rgba(247,147,30,.14),transparent 30%),
        linear-gradient(135deg,#343434 0%,#292929 58%,#25211d 100%);
    box-shadow:0 18px 42px rgba(0,0,0,.2);
}
.mipg-scope-main {
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr);
    gap:clamp(1.6rem,3vw,3rem);
    align-items:center;
    padding:clamp(1.6rem,3vw,2.6rem);
}
.mipg-scope-copy,
.mipg-model-visual,
.mipg-scope-actions,
.mipg-scope-actions-copy,
.mipg-scope-actions-buttons { min-width:0; }
.mipg-scope-copy h2 {
    margin:.35rem 0 1rem;
    max-width:16ch;
    color:#fff;
    font-size:clamp(2rem,3vw,3.15rem);
    line-height:1.08;
}
.mipg-scope-copy p { margin:.68rem 0; color:rgba(255,255,255,.88); }
.mipg-scope-copy strong { color:#fff; }
.mipg-scope-options {
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    margin-top:1.15rem;
}
.mipg-scope-options span {
    padding:.5rem .72rem;
    border:1px solid rgba(247,147,30,.45);
    border-radius:999px;
    background:rgba(247,147,30,.08);
    color:#fff;
    font-size:.84rem;
    font-weight:700;
}

/* Desktop diagram. Cards are positioned around a six-color ring. */
.mipg-model-visual {
    position:relative;
    min-height:600px;
    width:100%;
    max-width:780px;
    margin-inline:auto;
}
.mipg-model-ring {
    position:absolute;
    z-index:0;
    left:50%;
    top:50%;
    width:390px;
    height:390px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:conic-gradient(
        #b94d38 0deg 60deg,
        #1986bd 60deg 120deg,
        #3d9a45 120deg 180deg,
        #7547ad 180deg 240deg,
        #b9911b 240deg 300deg,
        #15999b 300deg 360deg
    );
    box-shadow:0 0 30px rgba(0,0,0,.2);
}
.mipg-model-ring::after {
    content:"";
    position:absolute;
    inset:12px;
    border-radius:50%;
    background:#292929;
}
.mipg-model-center {
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    width:170px;
    height:170px;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.34);
    border-radius:50%;
    background:linear-gradient(180deg,#303030,#1f1f1f);
    box-shadow:0 0 0 12px rgba(0,0,0,.14),0 14px 35px rgba(0,0,0,.3);
    text-align:center;
}
.mipg-model-center strong { color:#fff; font-size:1.6rem; line-height:1; }
.mipg-model-center em { color:#f7931e; font-style:normal; }
.mipg-model-center span {
    margin-top:.3rem;
    color:rgba(255,255,255,.8);
    font-size:.76rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.mipg-model-dimensions { position:absolute; inset:0; z-index:2; }
.mipg-model-dimension {
    position:absolute;
    box-sizing:border-box;
    width:210px;
    min-height:138px;
    padding:.9rem 1rem;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.22);
    border-radius:16px;
    box-shadow:0 12px 28px rgba(0,0,0,.2);
    transition:transform .18s ease, box-shadow .18s ease;
}
.mipg-model-dimension::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(145deg,rgba(255,255,255,.12),transparent 44%,rgba(0,0,0,.08));
}
.mipg-model-dimension:hover { transform:translateY(-2px); box-shadow:0 15px 32px rgba(0,0,0,.26); }
.mipg-model-dimension b,
.mipg-model-dimension h3,
.mipg-model-dimension span { position:relative; z-index:1; }
.mipg-model-dimension b {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:2rem;
    min-height:2rem;
    padding:0 .4rem;
    border:1px solid rgba(255,255,255,.38);
    border-radius:999px;
    background:rgba(0,0,0,.15);
    color:#fff;
    font-size:.76rem;
    letter-spacing:.08em;
}
.mipg-model-dimension h3 {
    margin:.38rem 0 .45rem;
    color:#fff;
    font-size:1rem;
    line-height:1.18;
}
.mipg-model-dimension span {
    display:inline-block;
    padding:.3rem .6rem;
    border-radius:999px;
    background:rgba(255,255,255,.84);
    color:#171717;
    font-size:.78rem;
    font-weight:800;
}
.mipg-model-dimension-1 {
    left:50%; top:0; transform:translateX(-50%);
    border-color:rgba(235,143,124,.72);
    background:linear-gradient(145deg,#a94736 0%,#7f3329 100%);
}
.mipg-model-dimension-2 {
    right:1%; top:22%;
    border-color:rgba(95,183,234,.7);
    background:linear-gradient(145deg,#1676a8 0%,#0e537c 100%);
}
.mipg-model-dimension-3 {
    right:1%; bottom:12%;
    border-color:rgba(116,205,122,.68);
    background:linear-gradient(145deg,#348b3a 0%,#25672b 100%);
}
.mipg-model-dimension-4 {
    left:50%; bottom:0; transform:translateX(-50%);
    border-color:rgba(173,133,232,.72);
    background:linear-gradient(145deg,#6740a0 0%,#4a2e78 100%);
}
.mipg-model-dimension-5 {
    left:1%; bottom:12%;
    border-color:rgba(237,199,91,.72);
    background:linear-gradient(145deg,#a88717 0%,#78600f 100%);
}
.mipg-model-dimension-6 {
    left:1%; top:22%;
    border-color:rgba(74,205,205,.7);
    background:linear-gradient(145deg,#11898d 0%,#0c6367 100%);
}
.mipg-model-dimension-1:hover,
.mipg-model-dimension-4:hover { transform:translateX(-50%) translateY(-2px); }

/* CTA lives on its own row, so it does not compress the diagram. */
.mipg-scope-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(480px,.9fr);
    gap:clamp(1.4rem,3vw,2.6rem);
    align-items:center;
    padding:clamp(1.25rem,2.3vw,1.8rem) clamp(1.6rem,3vw,2.6rem);
    border-top:1px solid rgba(255,255,255,.16);
    background:rgba(0,0,0,.1);
}
.mipg-scope-actions h3 {
    margin:0 0 .45rem;
    color:#fff;
    font-size:clamp(1.35rem,2vw,1.8rem);
    line-height:1.15;
}
.mipg-scope-actions p { margin:0; max-width:60ch; color:rgba(255,255,255,.82); }
.mipg-scope-actions-buttons {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
    align-items:center;
}
.mipg-scope-actions .button {
    width:100%;
    justify-content:center;
    box-sizing:border-box;
    margin:0;
    white-space:normal;
    text-align:center;
}
.mipg-scope-actions .button-light {
    background:#f7931e !important;
    border-color:#f7931e !important;
    color:#fff !important;
}
.mipg-scope-actions .button-light:hover,
.mipg-scope-actions .button-light:focus-visible {
    background:#ff9f2a !important;
    border-color:#ff9f2a !important;
}
.mipg-scope-actions .button-secondary {
    border-color:#f7931e !important;
    background:rgba(247,147,30,.08) !important;
    color:#fff !important;
}
.mipg-scope-actions .button-secondary:hover,
.mipg-scope-actions .button-secondary:focus-visible {
    background:rgba(247,147,30,.16) !important;
}
.mipg-scope-actions .mipg-cta-text-link {
    grid-column:1 / -1;
    justify-self:end;
    color:#f7931e !important;
    font-weight:750;
}

@media (max-width:1180px) {
    .mipg-scope-main { grid-template-columns:1fr; }
    .mipg-scope-copy h2 { max-width:20ch; }
    .mipg-model-visual { max-width:760px; }
    .mipg-scope-actions { grid-template-columns:1fr; }
    .mipg-scope-actions-buttons { max-width:720px; }
    .mipg-scope-actions .mipg-cta-text-link { justify-self:start; }
}
@media (max-width:760px) {
    .mipg-scope-shell { border-radius:16px; }
    .mipg-scope-main { padding:1.25rem; }
    .mipg-scope-copy h2 { max-width:none; }
    .mipg-model-visual { min-height:0; max-width:none; }
    .mipg-model-ring { display:none; }
    .mipg-model-center {
        position:static;
        width:auto;
        height:auto;
        transform:none;
        margin-bottom:.9rem;
        padding:1rem;
        border-radius:14px;
    }
    .mipg-model-dimensions {
        position:static;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.75rem;
    }
    .mipg-model-dimension,
    .mipg-model-dimension-1,
    .mipg-model-dimension-2,
    .mipg-model-dimension-3,
    .mipg-model-dimension-4,
    .mipg-model-dimension-5,
    .mipg-model-dimension-6 {
        position:relative;
        left:auto; right:auto; top:auto; bottom:auto;
        width:auto;
        min-height:150px;
        transform:none;
    }
    .mipg-model-dimension-1:hover,
    .mipg-model-dimension-4:hover,
    .mipg-model-dimension:hover { transform:translateY(-2px); }
    .mipg-scope-actions { padding:1.25rem; }
    .mipg-scope-actions-buttons { grid-template-columns:1fr; }
    .mipg-scope-actions .mipg-cta-text-link { justify-self:start; }
}
@media (max-width:480px) {
    .mipg-model-dimensions { grid-template-columns:1fr; }
    .mipg-model-dimension { min-height:0; }
}

/* MIPG page only: compact shared footer without changing global footer styles */
body:has(#contenido .mipg-scope-shell) .site-footer {
    padding-top: 34px;
    padding-bottom: 16px;
}

body:has(#contenido .mipg-scope-shell) .site-footer .footer-grid {
    gap: 38px;
}

body:has(#contenido .mipg-scope-shell) .site-footer .footer-logo {
    margin-bottom: 10px;
}

body:has(#contenido .mipg-scope-shell) .site-footer p {
    margin-top: .45rem;
    margin-bottom: .45rem;
}

body:has(#contenido .mipg-scope-shell) .site-footer .footer-bottom {
    margin-top: 24px;
    padding-top: 14px;
}

@media (max-width: 760px) {
    body:has(#contenido .mipg-scope-shell) .site-footer {
        padding-top: 28px;
        padding-bottom: 14px;
    }

    body:has(#contenido .mipg-scope-shell) .site-footer .footer-grid {
        gap: 26px;
    }

    body:has(#contenido .mipg-scope-shell) .site-footer .footer-bottom {
        margin-top: 20px;
        padding-top: 12px;
    }
}

/* Contratación pública: transition from introductory context to the three stages */
.mipg-contract-transition {
    margin: 0 0 18px;
    font-weight: 700;
    color: var(--text, #fff);
}
