/* ============================================================
   AKORA — Página Investors (Akora Business)
   Estilos específicos de la página. Se carga DESPUÉS de akora.css.
   Reproduce el diseño entregado (modelos, builder de cartera,
   galería y proceso). El sistema de diseño compartido (.btn, .eyebrow,
   .ak-footer-rich…) vive en akora.css.
   ============================================================ */

.narrow{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
body{background:var(--cream);}

/* ---- Botón dorado (no está en akora.css) ---- */
.btn-gold{background:var(--gold);color:var(--navy);font-weight:700;}
.btn-gold:hover{background:var(--teal);color:#fff;}

/* ---- Hero (espejo del de Owners) ---- */
.own-hero{background:var(--cream);padding:clamp(44px,5vw,64px) 48px clamp(36px,4vw,52px);text-align:center;}
.own-hero .eyebrow{color:var(--teal);margin-bottom:22px;}
.own-hero h1{
  font-family:var(--font-display);color:var(--navy);font-weight:400;
  font-size:clamp(48px,6.4vw,86px);line-height:.97;letter-spacing:-.018em;
  margin:0 auto;max-width:960px;
}
.own-hero h1 em{font-style:italic;color:var(--teal);}
/* ES: el titular es más largo que el inglés; en escritorio se ensancha y se
   ajusta el tamaño para que el salto quede en 2 líneas (no 3). */
html[lang="es"] .own-hero h1{max-width:1200px;font-size:clamp(46px,6vw,78px);}
.own-hero .sub{font-size:clamp(16px,1.4vw,19px);line-height:1.62;color:var(--ink-soft);margin:30px auto 0;max-width:54ch;text-align:center;text-wrap:balance;}
.own-cta{margin-top:40px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---- Barra de métricas ---- */
.own-stats{display:flex;justify-content:center;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;}
.own-stat{text-align:center;padding:0 clamp(28px,3.6vw,54px);border-left:1px solid var(--line);}
.own-stat:first-child{border-left:none;}
.own-stat .n{font-family:var(--font-display);font-size:clamp(32px,4vw,50px);color:var(--navy);line-height:1;display:block;}
.own-stat .l{font-size:12.5px;color:var(--ink-soft);margin-top:9px;letter-spacing:.04em;display:block;}

/* ---- Helpers de sección ---- */
.section{padding:clamp(52px,5.5vw,80px) 0;}
.section--band{background:var(--cream-2);}
.inv-models{background:var(--cream-2);padding:clamp(52px,5vw,72px) 0;}
.inv-portfolio{background:var(--cream);}
.sec-head{text-align:left;max-width:none;margin:0 auto clamp(28px,3vw,40px);}
.sec-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;display:block;}
.sec-head h2{font-family:var(--font-display);color:var(--navy);font-weight:400;font-size:clamp(28px,3.1vw,42px);line-height:1.1;margin:0;}
.sec-head--center{text-align:center;max-width:680px;}
.sec-head--center .eyebrow{text-align:center;}

/* ---- Toggle de modelos ---- */
.mdl-toggle-wrap{display:flex;justify-content:center;margin-bottom:36px;}
.mdl-toggle{display:flex;background:var(--line);border-radius:999px;padding:4px;gap:3px;}
.mdl-btn{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink-soft);background:transparent;border:none;border-radius:999px;padding:10px 24px;cursor:pointer;transition:all .2s;white-space:nowrap;outline:none;}
.mdl-btn.mdl-on{background:var(--navy);color:#fff;}
.mdl-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.mdl-card{border-radius:4px;padding:30px 34px;background:var(--cream-2);border:1px solid var(--line);transition:all .32s;opacity:.55;position:relative;}
.mdl-card.mdl-card--active{background:#fff;border-color:var(--line-cool);opacity:1;box-shadow:var(--shadow-card);}
.mdl-badge{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--navy);border-radius:999px;padding:3px 10px;display:inline-block;margin-bottom:16px;}
.mdl-badge--navy{background:var(--navy);color:var(--cream);}
.mdl-num{font-family:var(--font-display);font-size:13px;color:var(--ink-soft);letter-spacing:.1em;display:block;margin-bottom:12px;opacity:.5;}
.mdl-title{font-family:var(--font-display);font-weight:400;font-size:28px;color:var(--navy);margin:0 0 8px;}
.mdl-lead{font-size:13px;font-weight:700;color:var(--teal);margin:0 0 14px;letter-spacing:.02em;}
.mdl-desc{font-size:14.5px;line-height:1.68;color:var(--ink-soft);margin:0 0 22px;}
.mdl-list{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:9px;}
.mdl-list li{font-size:14px;color:var(--ink-soft);display:flex;align-items:center;gap:9px;}
.mdl-list li::before{content:'';width:18px;height:18px;border-radius:50%;background:var(--teal);flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:11px;}
.mdl-cta{font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--teal);text-decoration:none;}

/* ---- Galería (a sangre, fotos pegadas — espejo de Owners) ---- */
.gal4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;line-height:0;}
.gal4 a{display:block;position:relative;overflow:hidden;aspect-ratio:5/6;text-decoration:none;}
.gal4 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.gal4 a:hover img{transform:scale(1.05);}
.inv-mosaic{padding:0;line-height:0;}
@media(max-width:720px){.gal4{grid-template-columns:repeat(2,1fr);}}

/* ---- Testimonio ---- */
/* Centrado (petición cliente jul 2026): caja centrada Y texto centrado */
.inv-quote .narrow{max-width:820px;text-align:center;}
.inv-quote blockquote{margin:0 0 24px;}
.inv-quote__p{font-family:var(--font-display);font-style:italic;font-size:clamp(22px,2.6vw,32px);color:var(--navy);line-height:1.52;margin:0;}
.inv-quote cite{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}

/* ---- Proceso / Working with Akora (fondo fachada, scrim cálido, texto crema) ---- */
.proc{position:relative;padding:clamp(48px,5vw,72px) 0;overflow:hidden;}
.proc__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:0;}
.proc__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(16,14,12,.86) 0%,rgba(18,16,13,.74) 55%,rgba(22,19,15,.56) 100%);}
/* Sin max-width en el wrapper: encajonaba TODA la sección a la izquierda del
   viewport. El .narrow interior alinea el contenido con el eje del logo de la
   cabecera; la columna se acota abajo (sec-head, a-wrap, foot). */
.proc__in{position:relative;z-index:2;}
.proc .sec-head{max-width:660px;margin-left:0;margin-right:auto;}
.proc .sec-head .eyebrow{color:rgba(255,255,255,.55);}
.proc .sec-head h2{color:var(--cream);}
.proc__foot{display:flex;align-items:center;gap:24px;margin-top:48px;padding-top:38px;border-top:1px solid rgba(255,255,255,.15);flex-wrap:wrap;max-width:660px;}
.proc__foot p{font-size:16px;color:rgba(255,255,255,.72);font-style:italic;font-family:var(--font-display);line-height:1.4;flex:1;min-width:240px;}
.proc__foot .btn{flex-shrink:0;}

.a-wrap{display:grid;grid-template-columns:184px 1fr;gap:0 44px;max-width:660px;align-items:stretch;}
.a-nav{display:flex;flex-direction:column;justify-content:space-between;min-height:330px;}
.a-nav-item{display:flex;align-items:baseline;gap:18px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14);cursor:pointer;position:relative;transition:all .2s;}
.a-nav-item:last-child{border-bottom:none;}
.a-nav-item::after{content:'';position:absolute;left:-2px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s;}
.a-nav-item.active::after{background:var(--gold);}
.a-nav-item__n{font-family:var(--font-display);font-size:13px;color:var(--gold);opacity:.85;min-width:20px;transition:all .2s;}
.a-nav-item.active .a-nav-item__n{opacity:1;}
.a-nav-item__label{font-size:14px;font-weight:600;color:var(--cream);opacity:.45;transition:all .2s;}
.a-nav-item.active .a-nav-item__label{opacity:1;}
#a-content{min-height:330px;position:relative;}
.a-panel{opacity:0;position:absolute;inset:0;pointer-events:none;transition:opacity .25s ease;}
.a-panel.active{opacity:1;pointer-events:auto;}
.a-panel__step{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin-bottom:18px;}
.a-panel__n{font-family:var(--font-display);font-size:128px;color:var(--gold);opacity:.26;line-height:.85;margin-bottom:18px;}
.a-panel h3{font-family:var(--font-display);font-size:34px;font-weight:400;color:var(--cream);line-height:1.1;margin:0 0 14px;}
.a-panel p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.72);max-width:46ch;margin:0 0 12px;}

/* ---- Scroll reveal ---- */
@media(prefers-reduced-motion:no-preference){
  .rdy .reveal{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
  .rdy .reveal:not(.in){opacity:0;transform:translateY(22px);}
}

@media(max-width:900px){
  .svc-grid{grid-template-columns:1fr;}
  .a-wrap{grid-template-columns:1fr;gap:24px;}
  #a-content,.a-nav{min-height:0;}
  .a-panel{position:static;opacity:1;pointer-events:auto;}
  .a-panel:not(.active){display:none;}
}
@media(max-width:760px){
  .mdl-grid{grid-template-columns:1fr;}
  /* En móvil el toggle REEMPLAZA la tarjeta, como en Owners (cliente, 23 jul). */
  .mdl-grid .mdl-card:not(.mdl-card--active){display:none;}
  .own-stats{flex-wrap:wrap;gap:0;}
  .own-stat{flex:1 1 40%;padding:16px 20px;}
}

/* ════════════════════════════════════════════════════════════
   BUILDER DE CARTERA (todos los selectores .ip*, sin colisiones)
   ════════════════════════════════════════════════════════════ */
.ip { max-width: 1140px; margin: 0 auto; padding: 0 40px; }
.ip-head { margin-bottom: 26px; }
@media(max-width:620px){
  .ip { padding: 0 20px; }
  .ip-head { margin-bottom: 22px; }
}
.ip-head .eyebrow { color: var(--teal); margin-bottom: 12px; }
.ip-head h2 { font-family: var(--font-display); font-weight: 400; color: var(--navy); font-size: clamp(28px,3.1vw,42px); line-height: 1.1; letter-spacing: -.01em; margin: 0; }
.ip-head p { font-size: 15.5px; color: var(--ink-soft); line-height: 1.6; max-width: 60ch; margin: 14px 0 0; }
.ip-grid { display: flex; flex-direction: column; gap: 22px; }
.ip-card { background: #fff; border: 1px solid var(--line-cool); border-radius: 8px; box-shadow: 0 2px 8px rgba(24,30,58,.05), 0 18px 50px -22px rgba(24,30,58,.16); overflow: hidden; }
.ip-builder__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; background: #F2EFE9; border-bottom: 1px solid #E8E4DF; }
.ip-builder__title .lbl { font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: var(--teal); }
.ip-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; border-top: none; }
.ip-cell { padding: 13px 22px; border-bottom: 1px solid var(--line-cool); border-right: 1px solid var(--line-cool); }
.ip-cell:nth-child(2n) { border-right: none; }
.ip-cell__lbl { font-size: 9.5px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: var(--teal); display: block; margin-bottom: 6px; }
.ip-cell select, .ip-cell input { font-family: var(--font-body); font-size: 15px; font-weight: 600; color: var(--navy); background: transparent; border: none; outline: none; width: 100%; padding: 0; }
.ip-cell select { appearance: none; cursor: pointer; padding-right: 20px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23468186' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0 center; background-size: 14px; }
.ip-cell input[type=number] { -moz-appearance: textfield; }
.ip-cell input::-webkit-outer-spin-button, .ip-cell input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ip-cell--model { grid-column: 1 / -1; border-right: none; background: #fff; }
.ip-cell--eff { grid-column: 1 / -1; border-right: none; }
.ip-eff-inline { font-size: 15px; font-weight: 600; color: var(--navy); }
.ip-seg { display: inline-flex; background: #f7f2e6; border: 2px solid rgba(0,0,0,.07); border-radius: 999px; padding: 3px; gap: 2px; }
.ip-seg button { font-family: var(--font-body); font-size: 13px; font-weight: 700; letter-spacing: .01em; border: none; background: transparent; color: var(--ink-soft); cursor: pointer; padding: 8px 18px; border-radius: 999px; transition: background .16s, color .16s; white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; }
.ip-seg button.on { background: var(--navy); color: var(--cream); box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.ip-seg button:disabled { color: #C0C6D0; cursor: not-allowed; box-shadow: none; }
.seg-tag { font-size: 8.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: var(--gold); color: var(--navy); border-radius: 4px; padding: 2px 6px; line-height: 1; }
.ip-seg button:not(.on) .seg-tag { background: #E7DDC6; color: #8A8270; }
.ip-builder__foot { display: grid; grid-template-columns: 1fr auto; gap: 18px 24px; align-items: end; padding: 18px 22px; background: #FAFBFB; border-top: 1px solid var(--line-cool); }
.ip-preview__lbl { font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #A0A8B8; display:block; margin-bottom:6px; }
.ip-preview__fig { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ip-preview__mo { font-size: 12px; font-weight: 700; color: var(--ink-soft); margin-top: 4px; }
.ip-preview__iva { font-size: 12px; font-weight: 700; color: var(--ink-soft); letter-spacing: .02em; }
.ip-gsvg text.gval { fill: #181E3A; font-size: 8px; font-weight: 800; }
.ip-dlform__just { display: block; width: 100%; margin-top: 10px; background: none; border: none; color: var(--teal); font-family: var(--font-body); font-size: 12.5px; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ip-dlform__just:hover { color: var(--navy); }
.ip-dlform__fine { font-size: 11px; color: var(--ink-soft); line-height: 1.5; margin: 10px 0 0; text-align: center; }
.ip-preview__amt { font-family: var(--font-display); font-size: 56px; color: var(--navy); line-height: 1; letter-spacing: -.015em; }
.ip-preview__amt.is-rtr { color: var(--navy); }
.ip-preview__per { font-size: 13px; color: #A0A8B8; }
.ip-preview__break { font-size: 11.5px; color: var(--ink-soft); margin-top: 8px; line-height: 1.5; }
.ip-preview__break b { color: var(--navy); font-weight: 700; }
.ip-preview__break .net { color: var(--teal); font-weight: 700; }
.ip-add { font-family: var(--font-body); font-size: 14px; font-weight: 800; letter-spacing: .01em; background: var(--gold); color: var(--navy); border: none; border-radius: 999px; padding: 13px 24px; cursor: pointer; white-space: nowrap; transition: filter .16s; flex-shrink: 0; display: inline-flex; align-items: center; gap: 9px; align-self: center; }
.ip-add:hover { filter: brightness(.94); }
.ip-add svg { width: 16px; height: 16px; stroke: var(--navy); fill: none; stroke-width: 2.4; stroke-linecap: round; }
.ip-pf { background: #fff; color: var(--ink); border: 1px solid var(--line-cool); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(24,30,58,.05), 0 18px 50px -22px rgba(24,30,58,.16); }
.ip-pf__head { padding: 20px 26px 18px; border-bottom: 1px solid #E8E4DF; background: #F2EFE9; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ip-pf__head .t { font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--teal); }
.ip-pf__head .t b { color: var(--navy); font-weight: 800; }
.ip-pf__units { display: flex; align-items: baseline; gap: 6px; }
.ip-pf__units b { font-family: var(--font-display); font-size: 26px; color: var(--navy); font-weight: 400; line-height: 1; }
.ip-pf__units span { font-size: 11px; color: var(--ink-soft); letter-spacing: .04em; }
.ip-pf__list { padding: 4px 26px; }
.ip-empty { text-align: center; padding: 42px 16px; }
.ip-empty__big { font-family: var(--font-display); font-style: italic; font-size: 25px; color: var(--navy); margin: 0 0 8px; line-height: 1.05; }
.ip-empty p { font-size: 13.5px; color: var(--ink-soft); margin: 0; line-height: 1.6; }
.ipn-row { display: grid; grid-template-columns: 1fr auto; gap: 9px 14px; align-items: center; padding: 15px 0; border-top: 1px solid var(--line-cool); animation: ipIn .26s ease; }
.ip-pf__list .ipn-row:first-child { border-top: none; }
@keyframes ipIn { from { transform: translateY(5px); } to { transform: none; } }
.ipn-row__l { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.ipn-row__spec { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.ipn-row__barrio { font-family: var(--font-display); font-size: 19px; color: var(--navy); line-height: 1; }
.ipn-row__meta { font-size: 12px; color: var(--ink-soft); }
.ipn-row__meta .dot { color: #C8CDD8; margin: 0 3px; }
.ipn-flip { display: inline-flex; background: #f7f2e6; border: 1.5px solid rgba(0,0,0,.06); border-radius: 999px; padding: 2px; gap: 1px; width: max-content; }
.ipn-flip button { font-family: var(--font-body); font-size: 11px; font-weight: 800; letter-spacing: .03em; border: none; background: transparent; color: var(--ink-soft); cursor: pointer; padding: 5px 14px; border-radius: 999px; transition: background .16s, color .16s; }
.ipn-flip button.on { background: var(--navy); color: var(--cream); box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.ipn-flip button:disabled { color: #C0C6D0; cursor: not-allowed; box-shadow: none; }
.ipn-row__r { display: flex; align-items: center; gap: 14px; justify-self: end; }
.ipn-row__money { text-align: right; }
.ipn-row__inc { font-family: var(--font-display); font-size: 21px; color: var(--navy); line-height: 1; white-space: nowrap; }
.ipn-row__inc.is-rtr { color: var(--teal); }
.ipn-row__inc small { font-size: 11px; color: var(--ink-soft); font-family: var(--font-body); }
.ipn-row__sub { font-size: 10.5px; color: var(--ink-soft); margin-top: 5px; white-space: nowrap; }
.ipn-row__sub .tag-r2r { color: var(--teal); font-weight: 800; }
.ipn-row__sub .tag-pm { color: var(--navy); font-weight: 800; }
.ipn-del { flex-shrink: 0; width: 28px; height: 28px; border-radius: 999px; border: 1px solid var(--line-cool); background: transparent; color: var(--ink-soft); cursor: pointer; display: grid; place-items: center; transition: all .15s; }
.ipn-del:hover { border-color: #D98A8A; color: #C0673E; background: #FBF0EC; }
.ipn-del svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }
.ip-pf__totals { padding: 22px 26px 8px; border-top: 1px solid var(--line-cool); margin-top: 4px; }
.ip-growth { margin-top: 16px; padding: 17px 18px 15px; background: var(--cream); border: 1px solid var(--line-cool); border-radius: 10px; }
.ip-growth__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ip-growth__head .k { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.ip-growth__tag { font-size: 11px; font-weight: 800; color: var(--navy); background: var(--gold); border-radius: 999px; padding: 3px 10px; letter-spacing: .02em; }
.ip-growth__chart { width: 100%; }
.ip-gsvg { width: 100%; height: auto; display: block; overflow: visible; }
.ip-gsvg text { font-family: var(--font-body); fill: #9aa0ac; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.ip-growth__empty { font-size: 12.5px; color: var(--ink-soft); padding: 30px 0; text-align: center; }
.ip-growth__foot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.ip-growth__foot > div { display: flex; flex-direction: column; gap: 4px; }
.ip-growth__foot .gl { font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.ip-growth__foot .gv { font-family: var(--font-display); font-size: 19px; color: var(--navy); line-height: 1; }
.ip-growth__foot > div:last-child .gv { color: var(--teal); }
.ip-growth__note { font-size: 11px; color: var(--ink-soft); line-height: 1.5; margin: 11px 0 0; }
.ip-growth__ctrl { display: flex; align-items: center; gap: 8px; }
.ip-term { display: inline-flex; background: #f7f2e6; border: 1.5px solid rgba(0,0,0,.06); border-radius: 999px; padding: 2px; gap: 1px; }
.ip-term button { font-family: var(--font-body); font-size: 10.5px; font-weight: 800; letter-spacing: .04em; border: none; background: transparent; color: var(--ink-soft); cursor: pointer; padding: 5px 11px; border-radius: 999px; transition: background .16s, color .16s; }
.ip-term button.on { background: var(--navy); color: var(--cream); box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.ip-stab { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; margin-bottom: 22px; border: 1px solid var(--line-cool); border-radius: 8px; overflow: hidden; background: var(--cream); }
.ip-stab__l, .ip-stab__r { padding: 16px 18px; display: flex; flex-direction: column; }
.ip-stab__r { border-left: 1px solid var(--line-cool); background: #fff; align-items: center; text-align: center; }
.ip-stab__lbl { font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--teal); display: block; margin-bottom: 14px; align-self: flex-start; }
.ip-stab__r .ip-stab__lbl { align-self: center; }
.ip-stab__pct { font-family: var(--font-display); font-size: 42px; color: var(--navy); line-height: .86; letter-spacing: -.02em; }
.ip-stab__pct-sub { font-family: var(--font-display); font-style: italic; font-size: 15px; color: var(--teal); display: block; margin-top: 6px; }
.ip-stab__split { position: relative; height: 8px; border-radius: 999px; overflow: hidden; background: var(--navy); margin: 15px 0 10px; }
.ip-stab__split-g { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--teal); transition: width .5s cubic-bezier(.2,.7,.2,1); }
.ip-stab__read { font-size: 11.5px; color: var(--ink-soft); line-height: 1.5; margin: 0; }
.ip-stab__read b { color: var(--navy); font-weight: 700; }
.ip-stab__colwrap { flex: 1; display: flex; align-items: flex-end; justify-content: center; min-height: 116px; }
.ip-stab__col { display: flex; flex-direction: column-reverse; width: 44px; height: 116px; border-radius: 6px 6px 4px 4px; background: var(--cream-2); overflow: hidden; box-shadow: inset 0 0 0 1px rgba(24,30,58,.05); }
.ip-stab__col-solid { width: 100%; flex: 0 0 auto; min-height: 0; background: var(--teal); }
.ip-stab__col-range { width: 100%; flex: 0 0 auto; min-height: 0; background: #A9CBC8; }
.ip-stab__range-read { font-size: 11.5px; color: var(--ink-soft); line-height: 1.5; margin: 12px 0 0; }
.ip-stab__range-read b { color: var(--navy); font-weight: 700; }
.ip-stab__range-read i { font-style: italic; color: var(--teal); }
.ip-num { padding: 15px 0; border-top: 1px solid var(--line-cool); }
.ip-num .row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ip-num .k { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ip-num.floor .k { color: var(--teal); }
.ip-num.upside .k { color: var(--ink-soft); }
.ip-num .v { font-family: var(--font-display); font-size: 26px; line-height: 1; letter-spacing: -.01em; white-space: nowrap; }
.ip-num.floor .v { color: var(--navy); }
.ip-num.upside .v { color: var(--ink); font-size: 21px; }
.ip-num .note { font-size: 10.5px; color: var(--ink-soft); margin: 6px 0 0; line-height: 1.5; }
.ip-absorb { margin: 4px 0 0; padding: 11px 13px; background: var(--teal-tint); border: 1px solid #CFDEDC; border-radius: 6px; }
.ip-absorb .ah { font-size: 9.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); display: block; margin-bottom: 5px; }
.ip-absorb p { font-size: 11px; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.ip-absorb p b { color: var(--navy); font-weight: 700; }
.ip-blend { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0 2px; border-top: 1px solid var(--line-cool); }
.ip-blend .k { font-size: 11px; color: var(--ink-soft); letter-spacing: .04em; }
.ip-blend .v { font-size: 13.5px; font-weight: 700; color: var(--navy); }
.ip-summary { margin: 18px 26px 0; padding: 16px 18px; background: var(--cream-2); border: 1px solid var(--line); border-radius: 6px; font-size: 13px; line-height: 1.6; color: var(--ink); }
.ip-summary b { color: var(--navy); font-weight: 700; }
.ip-summary .g { color: var(--teal); font-weight: 700; }
.ip-export { padding: 18px 26px 24px; }
.ip-export__row{display:flex;gap:10px;align-items:stretch;}
.ip-export__cta,.ip-export__ghost{flex:1;font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:.01em;border-radius:999px;padding:10px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:all .16s;white-space:nowrap;}
.ip-export__cta{background:var(--gold);color:var(--navy);border:1.5px solid var(--gold);}
.ip-export__cta:hover{filter:brightness(.94);}
.ip-export__ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy);}
.ip-export__ghost:hover{background:var(--navy);color:#fff;}
.ip-export__ghost:disabled{border-color:var(--line-cool);color:#B0B5C0;cursor:not-allowed;background:transparent;}
.ip-export__cta svg,.ip-export__ghost svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ip-dlform{display:none;margin-top:14px;padding:16px 16px 18px;background:var(--cream-2);border:1px solid var(--line);border-radius:8px;animation:ipIn .26s ease;}
.ip-dlform.open{display:block;}
.ip-dlform__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ip-dlfield{display:flex;flex-direction:column;gap:5px;}
.ip-dlfield.full{grid-column:1/-1;}
.ip-dlfield label{font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--teal);}
.ip-dlfield label .opt{color:var(--ink-soft);font-weight:600;letter-spacing:.02em;text-transform:none;}
.ip-dlfield input{font-family:var(--font-body);font-size:13.5px;color:var(--navy);background:#fff;border:1px solid var(--line-cool);border-radius:5px;padding:10px 12px;outline:none;transition:border-color .16s;}
.ip-dlfield input:focus{border-color:var(--teal);}
.ip-dlform__go{width:100%;margin-top:12px;background:var(--gold);color:var(--navy);border:none;border-radius:999px;padding:13px;font-family:var(--font-body);font-weight:800;font-size:13.5px;letter-spacing:.01em;cursor:pointer;transition:filter .16s;}
.ip-dlform__go:hover{filter:brightness(.94);}
.ip-dlform__err{font-size:11px;color:#C0673E;margin:9px 0 0;display:none;}
.ip-dlform__err.show{display:block;}
/* Estado del envío de la propuesta (enviando / enviada / error) */
.ip-dlform__status{font-size:11px;color:var(--ink-soft);margin:9px 0 0;display:none;}
.ip-dlform__status.show{display:block;}
.ip-dlform__status.ok{color:var(--teal);}
.ip-dlform__status.err{color:#C0673E;}
.ip-export__sub { font-size: 11px; color: var(--ink-soft); text-align: center; margin: 11px 0 0; line-height: 1.5; }
.ip-disc { margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line-cool); font-size: 11px; line-height: 1.6; color: var(--ink-soft); }
.ip-disc p { margin: 0 0 8px; }
.ip-disc p:last-child { margin-bottom: 0; }
.ip-disc b { color: var(--navy); font-weight: 700; }
.ip-foot-note { font-size: 11px; color: var(--ink-soft); text-align: center; margin: 18px auto 0; max-width: 62ch; line-height: 1.55; }
@media (min-width: 900px) {
  .ip-grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 26px; align-items: start; }
  .ip-col-left { position: sticky; top: 90px; }
  .ip-inputs { grid-template-columns: 1.25fr 1fr; }
}
/* Móvil: lo que no cabe a dos columnas se apila en vertical, para que ningún
   botón (Gestión, Añadir a la cartera, Descargar propuesta) quede cortado.
   Va al final de la sección para ganar a las reglas base por orden. */
@media (max-width: 620px) {
  .ip-inputs { grid-template-columns: 1fr; }
  .ip-cell { border-right: none; }
  .ip-seg { display: flex; flex-direction: column; width: 100%; border-radius: 16px; }
  .ip-seg button { width: 100%; justify-content: center; white-space: normal; }
  .ip-builder__foot { grid-template-columns: 1fr; align-items: stretch; }
  .ip-add { width: 100%; justify-content: center; white-space: normal; }
  .ip-export__row { flex-direction: column; }
  .ip-export__cta, .ip-export__ghost { white-space: normal; width: 100%; }
  .ip-dlform__grid { grid-template-columns: 1fr; }
  .ip-summary { margin: 18px 20px 0; }
  .ip-export { padding: 18px 20px 24px; }
}
.ip-print { display: none; }
@media print {
  html, body { background: var(--cream); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ak-header, .ak-footer-rich, .own-hero, .own-stats, .inv-models, .inv-portfolio, .inv-mosaic, .inv-quote, .proc, .ip-app { display: none !important; }
  .ip-print { display: block; }
  @page { margin: 0; }
}
