/* Una identidad compartida, con una composición propia para cada servicio. */
.im-marketing-page .im-interior-hero { padding: 58px 0 44px; }
.im-marketing-page .im-interior-hero::before { display: none; }
.im-interior-art { min-width: 0; }
.im-interior-art figure { margin: 0; }
.im-interior-art figcaption { font-size: 10px; line-height: 1.7; color: #6d8190; margin-top: 17px; }
.im-marketing-page .im-hero-sistema { background: #eff5fa; }
.im-system-stage { padding: 20px 0; }
.im-system-canvas { background: #dce9f4; border-radius: 50px 15px 45px 15px; padding: 32px 18px 18px; }
.im-system-window { background: #fff; border-radius: 7px; overflow: hidden; border: 1px solid #ccdfe9; box-shadow: 0 20px 40px rgba(30,75,110,.13); }
.im-system-body { display: flex; }
.im-system-sidebar { display: flex; flex: 0 0 42px; flex-direction: column; align-items: center; gap: 27px; padding-top: 24px; color: #7d9bad; border-right: 1px solid #e6edf2; }
.im-system-sidebar .fa:first-child { color: #1674b7; }
.im-system-body .im-interior-screen { flex: 1; min-width: 0; padding: 22px 17px; }
.im-system-note { font-size: 12px; color: #47718b; text-align: center; padding-top: 18px; }
.im-system-note .fa { color: #2d9778; margin-right: 5px; }
.im-marketing-page .im-hero-portales { background: #f5faf7; }
.im-portals-stage { padding: 8px 0; }
.im-portals-map { position: relative; display: grid; grid-template-columns: 1fr 1.3fr 1fr; grid-template-rows: 100px 120px 100px; gap: 0 12px; align-items: center; }
.im-portals-map::before { content: ''; position: absolute; inset: -15px 25px; border-radius: 50%; border: 1px solid #d5e8df; background: #e9f4ee; z-index: -1; }
.im-portals-map::after { content: ''; position: absolute; left: 16%; top: 50%; width: 68%; height: 66%; border: 1px dashed #95c4b1; border-radius: 50%; transform: translateY(-50%); z-index: -1; }
.im-portals-hub { grid-column: 2; grid-row: 2; border: 1px solid #d3e5df; border-radius: 12px; background: #fff; padding: 25px 10px; text-align: center; box-shadow: 0 14px 30px rgba(52,105,81,.09); }
.im-portals-hub img { width: 120px; max-width: 100%; height: auto; }
.im-portals-hub span { display: block; color: #5e7c70; font-size: 10px; margin-top: 12px; }
.im-portal-node { display: flex; align-items: center; justify-content: center; min-width: 0; height: 72px; padding: 15px; background: #fff; border: 1px solid #dce8e0; border-radius: 8px; box-shadow: 0 5px 15px rgba(35,80,58,.04); }
.im-portal-node img { max-width: 100%; max-height: 38px; }
.im-node-ml { grid-column: 1; grid-row: 1; transform: translateY(27px); }
.im-node-ap { grid-column: 3; grid-row: 1; transform: translateY(27px); }
.im-node-zp { grid-column: 1; grid-row: 3; transform: translateY(-27px); }
.im-node-web { grid-column: 3; grid-row: 3; transform: translateY(-27px); flex-direction: column; gap: 6px; color: #39806d; }
.im-node-web .fa { font-size: 22px; }
.im-node-web strong { font-size: 11px; font-weight: 600; }
.im-publish-strip { display: flex; align-items: center; gap: 15px; border: 1px solid #dce8e0; background: #fff; padding: 17px 20px; border-radius: 7px; margin-top: 20px; }
.im-publish-strip > .fa { color: #338b70; font-size: 24px; }
.im-publish-strip p { flex: 1; margin: 0; }
.im-publish-strip strong { display: block; font-size: 13px; color: #365d50; }
.im-publish-strip span { display: block; font-size: 11px; color: #688176; margin-top: 5px; }
.im-marketing-page .im-hero-web { background: #edf5f7; border-color: #dce8eb; padding: 65px 0 48px; }
.im-marketing-page .im-hero-web::before { display: block; width: 37%; background: #deedec; }
.im-marketing-page .im-hero-web h1 { color: #203f52 !important; }
.im-marketing-page .im-hero-web .modern-eyebrow { color: #287d87; }
.im-marketing-page .im-hero-web .modern-lead { color: #526e7b; }
.im-hero-web .im-interior-signature { color: #607c8b; }
.im-marketing-page .im-hero-web .modern-btn-primary { background: #1674b7; color: #fff !important; border-color: #1674b7; }
.im-marketing-page .im-hero-web .modern-btn-secondary { background: #fff; color: #246483 !important; border-color: #bdd0d9; }
.im-web-stage { position: relative; padding: 35px 0 0; }
.im-web-desktop { width: 92%; overflow: hidden; border: 1px solid #c8dce1; border-radius: 8px; background: #fff; box-shadow: 0 20px 45px rgba(28,74,100,.12); }
.im-web-desktop > img { display: block; width: 100%; height: auto; }
.im-browser-address { height: 30px; display: flex; align-items: center; gap: 24px; padding: 0 12px; background: #f2f5f7; color: #70838f; font-size: 10px; border-bottom: 1px solid #dbe4e8; }
.im-browser-address > span { color: #a5b6c0; font-size: 8px; letter-spacing: 3px; }
.im-web-phone { position: absolute; right: 0; top: 110px; width: 26%; border: 5px solid #203b4a; border-radius: 22px; background: #203b4a; overflow: hidden; box-shadow: 0 14px 30px rgba(0,0,0,.25); }
.im-web-phone > img { display: block; width: 100%; height: auto; border-radius: 15px; }
.im-phone-speaker { position: absolute; top: 5px; left: 34%; width: 32%; height: 4px; border-radius: 4px; background: #122c40; }
.im-web-signature { display: flex; align-items: center; gap: 12px; width: 68%; padding: 24px 0 12px; }
.im-web-signature > span { font-size: 27px; color: #378e83; }
.im-web-signature p { margin: 0; }
.im-web-signature strong { color: #345b68; display: block; font-size: 13px; line-height: 1.6; font-weight: 600; }
.im-web-signature small { color: #627f8c; display: block; font-size: 10px; line-height: 1.7; margin-top: 4px; }
.im-web-stage figcaption { display: flex; gap: 24px; padding-bottom: 12px; }
.im-web-stage figcaption a { color: #246f86; font-size: 11px; }
.im-marketing-page .im-hero-alquileres { background: #f7f3ed; border-bottom-color: #eae3d8; }
.im-hero-alquileres .modern-eyebrow { color: #91723a; }
.im-admin-stage { position: relative; padding-bottom: 30px; }
.im-admin-photo { display: block; width: 100%; height: 440px; object-fit: cover; object-position: 65% center; border-radius: 10px 70px 10px 10px; }
.im-admin-overlay { position: relative; margin: -155px 20px 0 -15px; padding: 18px 22px 9px; background: #fff; border: 1px solid #e4dfd4; border-radius: 7px; box-shadow: 0 16px 35px rgba(85,66,41,.12); }
.im-admin-overlay-heading { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; }
.im-admin-overlay-heading > .fa { color: #9e8048; font-size: 25px; }
.im-admin-overlay-heading span { display: block; color: #8a7c68; font-size: 10px; margin-bottom: 4px; }
.im-admin-overlay-heading strong { display: block; color: #514a40; font-size: 17px; font-weight: 600; }
.im-marketing-page .im-hero-ia { background: #f1f2f9; }
.im-hero-ia .modern-eyebrow { color: #6269a1; }
.im-writing-stage { position: relative; padding: 10px 6px 10px 20px; }
.im-writing-source { display: flex; gap: 13px; align-items: center; margin: 0 20px 0 0; border: 1px solid #dcdfee; padding: 17px; background: #e8ebf6; border-radius: 6px 6px 0 0; }
.im-writing-source .fa { color: #6d79ab; font-size: 24px; }
.im-writing-source span { font-size: 10px; display: block; color: #737c9c; margin-bottom: 5px; }
.im-writing-source strong { font-size: 12px; display: block; color: #535f87; font-weight: 600; line-height: 1.6; }
.im-writing-paper { position: relative; padding: 30px; background: #fff; border: 1px solid #dcdfee; border-radius: 0 6px 6px 6px; box-shadow: 0 18px 35px rgba(67,77,129,.1); }
.im-writing-label { font-size: 11px; color: #626d9e; margin-bottom: 20px; }
.im-writing-label .fa { margin-right: 7px; }
.im-marketing-page .im-writing-paper h2 { font-family: Georgia, serif; font-size: 27px; font-weight: 400; line-height: 1.35; color: #384664; margin: 0 0 19px; }
.im-writing-paper p { font-size: 14px; line-height: 1.8; color: #67718b; }
.im-writing-review { border-top: 1px solid #e9ebf3; padding-top: 15px; margin-top: 22px; color: #7d86a0; font-size: 11px; }
.im-writing-review .fa { margin-right: 6px; }
.im-writing-note { display: inline-block; margin: 14px 0 0 25px; padding: 12px 16px; background: #596b91; color: #fff; font-size: 12px; border-radius: 5px; }
.im-writing-note .fa { color: #b6decd; margin-right: 6px; }
.im-marketing-page .im-hero-planes { background: #f2f6f8; padding-top: 43px; }
.im-hero-planes .row { display: block !important; }
.im-hero-planes .im-interior-copy, .im-hero-planes .im-interior-art { width: 100%; float: none; }
.im-hero-planes .im-interior-copy { text-align: center; padding-right: 15px; }
.im-marketing-page .im-hero-planes h1 { max-width: 760px; margin-left: auto; margin-right: auto; }
.im-marketing-page .im-hero-planes .modern-lead { max-width: 700px; margin-left: auto; margin-right: auto; }
.im-hero-planes .modern-actions { display: none; }
.im-hero-planes .im-interior-signature { display: none; }
.im-plan-paths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; max-width: 820px; margin: 30px auto 0; }
.im-plan-path { display: block; position: relative; padding: 28px; background: #fff; border: 1px solid #dce6ed; border-radius: 8px; color: #304e60; transition: transform .2s, box-shadow .2s; }
.im-plan-path:hover, .im-plan-path:focus { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(33,65,80,.09); text-decoration: none; }
.im-path-icon { position: absolute; right: 25px; top: 27px; font-size: 31px; color: #5b9bc4; }
.im-plan-path > p { color: #527c98; font-size: 12px; margin: 0 0 15px; }
.im-marketing-page .im-plan-path h2 { color: #2f526b; font-size: 27px; line-height: 1.2; margin: 0 0 17px; font-weight: 600; }
.im-path-detail { display: block; color: #6d818e; font-size: 12px; line-height: 1.7; }
.im-plan-path > strong { display: flex; justify-content: space-between; color: #1674b7; font-size: 12px; font-weight: 600; border-top: 1px solid #dce6ed; padding-top: 18px; margin-top: 22px; }
.im-plan-path.im-path-rentals { background: #e8f2ed; border-color: #d3e4da; }
.im-path-rentals .im-path-icon, .im-path-rentals > p, .im-path-rentals > strong { color: #398466; }
.im-marketing-page .im-path-rentals h2 { color: #305e4c; }
.im-path-rentals > strong { border-color: #cedfd5; }
.im-marketing-page .im-hero-contacto { min-height: 570px; padding: 75px 0; background: #ecefea; overflow: hidden; }
.im-contact-backdrop { position: absolute; inset: 0; z-index: -1; }
.im-contact-backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.im-contact-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(246,249,247,.95),rgba(246,249,247,.92) 36%,rgba(246,249,247,.12) 65%,transparent); }
.im-hero-contacto .im-interior-copy { padding-right: 32px; }
.im-marketing-page .im-hero-contacto h1 { font-size: 49px; }
.im-website-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; margin-top: 30px; }
.im-site-example { min-width: 0; }
.im-site-preview { display: block; overflow: hidden; border: 1px solid #d4e0e7; border-radius: 7px; background: #fff; transition: transform .2s, box-shadow .2s; }
.im-site-preview:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(33,65,80,.1); }
.im-site-preview > img { display: block; width: 100%; height: auto; }
.im-site-example h3 { font-size: 22px; color: #304e60; margin: 22px 0 10px; }
.im-site-example p { color: #627a87; font-size: 14px; line-height: 1.8; }
.im-site-example > a:last-child { color: #1674b7; font-size: 13px; font-weight: 600; }
.im-plan-site-preview { display: block; width: 100%; max-width: 100%; }
@media (min-width:992px) and (max-width:1199px) {
    .im-system-body .im-interior-screen { padding: 20px 12px; }
    .im-system-sidebar { flex-basis: 30px; }
    .im-admin-overlay { margin-left: 0; padding: 17px; }
    .im-marketing-page .im-hero-contacto h1 { font-size: 42px; }
}
@media (max-width:991px) {
    .im-marketing-page .im-interior-hero { padding: 38px 0; }
    .im-interior-art { max-width: 650px; margin-left: auto; margin-right: auto; float: none; }
    .im-marketing-page .im-hero-web { padding-bottom: 42px; }
    .im-web-stage { max-width: 620px; margin-left: auto !important; margin-right: auto !important; }
    .im-web-signature { min-height: 115px; }
    .im-hero-planes .im-interior-art { max-width: none; }
    .im-hero-planes .row > .im-interior-art { margin-top: 0; }
    .im-marketing-page .im-hero-contacto .im-interior-copy { width: 62%; }
    .im-contact-backdrop img { object-position: 62% center; }
    .im-contact-backdrop::after { background: linear-gradient(90deg,rgba(246,249,247,.98),rgba(246,249,247,.88) 45%,rgba(246,249,247,.08) 78%); }
}
@media (max-width:767px) {
    .im-marketing-page .im-interior-hero { padding: 32px 0 28px; }
    .im-system-canvas { padding: 18px 10px 14px; border-radius: 25px 8px; }
    .im-system-stage { padding: 0; }
    .im-system-sidebar { display: none; }
    .im-system-body .im-interior-screen { padding: 18px 12px; }
    .im-system-note { font-size: 10px; }
    .im-portals-map { grid-template-columns: 1fr 1.15fr 1fr; grid-template-rows: 90px 100px 90px; gap: 0 8px; }
    .im-portals-hub { padding: 20px 8px; }
    .im-portals-hub span { font-size: 8px; }
    .im-portal-node { height: 60px; padding: 10px; }
    .im-publish-strip { padding: 16px 13px; gap: 10px; }
    .im-publish-strip strong { font-size: 12px; }
    .im-publish-strip span { font-size: 10px; }
    .im-web-stage { padding-top: 5px; }
    .im-web-desktop { width: 95%; }
    .im-browser-address { font-size: 8px; gap: 12px; height: 25px; }
    .im-web-phone { top: 70px; width: 28%; border-width: 4px; border-radius: 15px; }
    .im-web-phone > img { border-radius: 10px; }
    .im-web-signature { padding-top: 21px; min-height: 110px; }
    .im-web-signature strong { font-size: 12px; }
    .im-web-stage figcaption { margin-top: 8px; }
    .im-admin-photo { height: 340px; border-top-right-radius: 45px; }
    .im-admin-overlay { margin: -90px 10px 0; padding: 17px 13px 4px; }
    .im-admin-overlay-heading strong { font-size: 15px; }
    .im-admin-overlay .im-screen-row strong { font-size: 11px; }
    .im-admin-stage { padding-bottom: 0; }
    .im-writing-stage { padding: 0; }
    .im-writing-source { margin-right: 15px; padding: 14px; }
    .im-writing-paper { padding: 25px 20px; }
    .im-marketing-page .im-writing-paper h2 { font-size: 25px; }
    .im-writing-note { margin-left: 0; padding: 11px 12px; font-size: 11px; }
    .im-plan-paths { grid-template-columns: 1fr; gap: 15px; margin-top: 24px; }
    .im-plan-path { padding: 24px; }
    .im-marketing-page .im-plan-path h2 br { display: none; }
    .im-marketing-page .im-plan-path h2 { font-size: 24px; }
    .im-marketing-page .im-hero-contacto { padding: 30px 0 290px; min-height: 0; background: #f6f9f7; }
    .im-marketing-page .im-hero-contacto .im-interior-copy { width: 100%; padding-right: 15px; }
    .im-marketing-page .im-hero-contacto h1 { font-size: 37px; }
    .im-contact-backdrop img { position: absolute; bottom: 0; height: 280px; object-fit: cover; object-position: 70% 35%; }
    .im-contact-backdrop::after { top: auto; height: 290px; background: linear-gradient(180deg,#f6f9f7,rgba(246,249,247,0) 30%); }
    .im-website-gallery { grid-template-columns: 1fr; gap: 35px; }
}
@media (prefers-reduced-motion:reduce) {
    .im-plan-path, .im-site-preview { transition: none; }
}
