/*
Theme Name: Nexo Resuelve
Theme URI: https://nexoresuelve.com/
Author: Nexo
Description: Entorno profesional privado. Portada institucional y area de informacion para profesionales.
Version: 1.4.2
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: nexoresuelve
*/
:root {
  --nr-bg: #f7f9fd;
  --nr-white: #ffffff;
  --nr-ink: #0b2553;
  --nr-navy: #072653;
  --nr-deep: #061e40;
  --nr-blue: #0755e7;
  --nr-sky: #35b9ef;
  --nr-orange: #fa681d;
  --nr-text: #354962;
  --nr-muted: #566b80;
  --nr-border: #dce4ef;
  --nr-soft: #f1f6fc;
  --nr-radius: 16px;
  --nr-shadow: 0 18px 45px rgba(9, 36, 77, .07);
  --nr-accent: var(--nr-blue);
  --nr-card: #fff;
  --nr-line: var(--nr-border);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--nr-bg); color: var(--nr-ink); font: 16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
a { color: inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid #fa681d; outline-offset: 3px; }
img { max-width: 100%; height: auto; }
h1,h2,h3,p { overflow-wrap: break-word; }
.nr-site { min-height: 100vh; display: flex; flex-direction: column; overflow-x: clip; }
.nr-main { flex: 1; }
.nr-shell { width: min(1160px,calc(100% - 44px)); margin-inline: auto; }
.nr-skip-link { position: absolute; z-index: 9999; top: -100px; left: 10px; padding: 10px 16px; background: #fff; color: var(--nr-navy); }
.nr-skip-link:focus { top: 10px; }

/* Shared corporate header. The WP site logo is always the primary brand. */
.nr-header { position: sticky; top: 0; z-index: 80; background: rgba(255,255,255,.985); border-bottom: 1px solid #e8edf3; box-shadow: 0 3px 18px rgba(8,36,75,.025); }
.admin-bar .nr-header { top: 32px; }
.nr-header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nr-brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 1 auto; max-width: 236px; min-width: 0; font-size: 20px; line-height: 1.1; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.nr-brand em { font-style: normal; color: var(--nr-blue); }
.nr-site .nr-header .nr-brand img, .nr-site .nr-header .nr-brand img.custom-logo { display: block!important; width: auto!important; height: auto!important; max-width: 212px!important; max-height: 53px!important; object-fit: contain!important; object-position: left center!important; }
.nr-brand-icon { width: 39px; height: 39px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; font-weight: 850; font-size: 23px; background: var(--nr-blue); }
.nr-nav { display: flex; align-items: center; justify-content: flex-end; gap: 27px; margin-left: auto; }
.nr-link { text-decoration: none; color: var(--nr-text); font-size: 13px; font-weight: 670; white-space: nowrap; }
.nr-link:hover, .nr-footer a:hover { color: var(--nr-blue); }
.nr-link-professionals { color: var(--nr-blue); }
.nr-header-tenant { min-width: 0; display: flex; align-items: center; gap: 9px; padding-left: 18px; border-left: 1px solid var(--nr-border); }
.nr-header-tenant-logo { width: 32px; height: 32px; flex: 0 0 auto; display: flex; align-items: center; }
.nr-header-tenant-logo img { max-height: 32px; max-width: 32px; object-fit: contain; }
.nr-header-tenant-name { max-width: 170px; color: var(--nr-muted); font-size: 12px; font-weight: 700; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* Shared actions */
.nr-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 11px 20px; border: 1px solid transparent; border-radius: 10px; font-size: 14px; font-weight: 770; line-height: 1.4; text-decoration: none; text-align: center; cursor: pointer; transition: background-color .15s, border-color .15s, transform .15s; }
.nr-btn:hover { transform: translateY(-1px); }
.nr-btn-primary,.nr-btn-dark { background: var(--nr-navy); color: #fff; border-color: var(--nr-navy); }
.nr-btn-primary:hover,.nr-btn-dark:hover { background: #103f7f; color: #fff; border-color: #103f7f; }
.nr-btn-outline { background: #fff; border-color: #b8c8dc; color: var(--nr-navy); }
.nr-btn-outline:hover { border-color: var(--nr-blue); color: var(--nr-blue); }
.nr-btn-white { background: #fff; color: var(--nr-navy); }
.nr-access-btn { min-height: 44px; padding-inline: 23px; white-space: nowrap; }
.nr-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.nr-eyebrow,.nr-kicker { display: flex; align-items: center; gap: 9px; color: #1659a8; font-size: 11px; line-height: 1.4; letter-spacing: .13em; font-weight: 850; text-transform: uppercase; }
.nr-accent-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--nr-orange); flex: 0 0 auto; }

/* Institutional front page */
.nr-home-hero { position: relative; padding: 104px 0 102px; background: radial-gradient(ellipse at 92% 33%, #edf4ff 0%, #fff 43%, #fff 84%); }
.nr-home-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: 62px; }
.nr-home-intro { min-width: 0; }
.nr-home-hero h1 { color: var(--nr-ink); font-size: clamp(42px,4.75vw,64px); line-height: 1.095; letter-spacing: -.057em; font-weight: 830; margin: 23px 0 25px; }
.nr-home-hero h1 span { color: var(--nr-blue); }
.nr-hero-copy { max-width: 590px; color: #2d435b; font-size: 19px; line-height: 1.66; margin: 0 0 13px; }
.nr-hero-subcopy { max-width: 550px; font-size: 15px; line-height: 1.62; color: var(--nr-muted); margin: 0 0 30px; }
.nr-hero-footnote { display: flex; align-items: center; gap: 9px; color: #5b6f84; font-size: 12px; margin-top: 25px; }
.nr-mini-shield { display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid #acc5e2; border-radius: 50%; color: var(--nr-blue); font-size: 11px; }

/* Static illustration only - not a live client dashboard */
.nr-product-preview { position: relative; min-width: 0; padding: 27px; background: #fff; border: 1px solid #dce6f3; border-radius: 21px; box-shadow: 0 22px 74px rgba(15,50,99,.105); }
.nr-preview-meta { display: flex; align-items: center; gap: 8px; padding-bottom: 19px; border-bottom: 1px solid #edf1f7; color: #6c7b8c; letter-spacing: .095em; font-size: 9px; font-weight: 780; }
.nr-preview-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--nr-orange); }
.nr-preview-meta-right { margin-left: auto; color: #8190a0; }
.nr-preview-top { display: flex; align-items: center; gap: 11px; padding-top: 24px; }
.nr-preview-logo { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 auto; background: var(--nr-navy); border-radius: 11px; color: #fff; font-weight: 850; }
.nr-preview-heading { flex: 1 1 auto; min-width: 0; }
.nr-preview-heading strong,.nr-preview-heading small { display: block; }
.nr-preview-heading strong { color: var(--nr-ink); font-size: 16px; line-height: 1.25; }
.nr-preview-heading small { color: var(--nr-muted); font-size: 11px; margin-top: 4px; }
.nr-preview-pill { flex: 0 0 auto; padding: 6px 8px; background: #f2f6fd; color: #31567f; border-radius: 7px; font-size: 10px; font-weight: 760; }
.nr-preview-tabs { display: flex; align-items: center; gap: 21px; padding: 24px 0 15px; overflow-x: auto; border-bottom: 1px solid #e5ebf2; white-space: nowrap; scrollbar-width: thin; color: #394b64; font-size: 11px; font-weight: 760; }
.nr-preview-tabs .nr-preview-tab-active { color: #0755e7; border-bottom: 2px solid var(--nr-blue); padding-bottom: 13px; margin-bottom: -16px; }
.nr-preview-summary { background: #f4f7fd; border: 1px solid #edf2f9; border-radius: 11px; padding: 18px; margin-top: 23px; }
.nr-preview-summary-label { font-size: 9px; letter-spacing: .13em; color: #426b9c; font-weight: 800; margin: 0 0 7px; }
.nr-preview-summary strong { display: block; color: var(--nr-ink); font-size: 19px; line-height: 1.3; margin-bottom: 5px; }
.nr-preview-summary span { display: block; color: var(--nr-muted); font-size: 11px; line-height: 1.6; }
.nr-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin: 13px 0 21px; }
.nr-preview-grid > div { border: 1px solid #e8edf4; border-radius: 10px; padding: 16px; min-width: 0; }
.nr-preview-stat-icon { display: block; font-size: 10px; color: var(--nr-blue); font-weight: 800; margin-bottom: 13px; }
.nr-preview-grid small,.nr-preview-grid strong { display: block; }
.nr-preview-grid small { color: var(--nr-muted); font-size: 11px; margin-bottom: 5px; }
.nr-preview-grid strong { color: var(--nr-ink); font-size: 12px; line-height: 1.4; }
.nr-preview-section-label { margin-bottom: 10px; color: #64798e; font-size: 9px; font-weight: 780; letter-spacing: .1em; }
.nr-preview-task { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid #e2e9f3; border-radius: 10px; }
.nr-preview-task-symbol { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; background: #f0f5fd; border-radius: 8px; color: #1c62b9; font-size: 15px; }
.nr-preview-task > div { min-width: 0; flex: 1 1 auto; }
.nr-preview-task strong,.nr-preview-task small { display: block; }
.nr-preview-task strong { color: var(--nr-ink); font-size: 12px; }
.nr-preview-task small { color: var(--nr-muted); font-size: 10px; line-height: 1.5; margin-top: 4px; }
.nr-task-chevron { color: #697d90; font-size: 20px; }
.nr-preview-caption { color: #8592a2; font-size: 9px; text-align: right; margin: 12px 0 0; }

/* Common sections */
.nr-section { padding: 96px 0; }
.nr-section-white { background: #fff; }
.nr-section-neutral { background: #f6f8fc; }
.nr-section h2,.nr-discovery h2,.nr-pro-pricing h2 { color: var(--nr-ink); font-size: clamp(31px,3.6vw,45px); line-height: 1.15; letter-spacing: -.046em; margin: 12px 0 0; }
.nr-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 35px; }
.nr-heading-row h2 { max-width: 670px; }
.nr-heading-aside { max-width: 320px; color: var(--nr-muted); font-size: 14px; line-height: 1.73; margin: 0 0 5px; }
.nr-benefit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.nr-benefit { background: #fff; border: 1px solid var(--nr-border); border-radius: 12px; min-height: 212px; padding: 27px 23px; }
.nr-benefit-num { display: flex; align-items: center; gap: 12px; color: #1265cc; font-size: 11px; font-weight: 860; }
.nr-benefit-line { width: 24px; border-top: 1px solid #c8d8ea; }
.nr-benefit h3 { color: var(--nr-ink); font-size: 18px; line-height: 1.3; margin: 32px 0 10px; letter-spacing: -.02em; }
.nr-benefit p { color: var(--nr-muted); font-size: 13px; line-height: 1.75; margin: 0; }
.nr-editorial-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 90px; }
.nr-editorial-layout h2 { max-width: 420px; }
.nr-editorial-copy { padding-top: 7px; color: #4e6179; font-size: 17px; line-height: 1.8; }
.nr-editorial-copy p { margin: 0 0 20px; }
.nr-editorial-copy strong { color: #193b68; font-weight: 680; }
.nr-editorial-rule { display: flex; flex-wrap: wrap; gap: 22px; padding-top: 21px; border-top: 1px solid #d2dce8; margin-top: 27px; color: #1455a5; font-size: 13px; font-weight: 750; }
.nr-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; margin-top: 38px; }
.nr-steps > article { border-top: 2px solid #b7cfe8; padding-top: 24px; }
.nr-steps > article > span { color: var(--nr-blue); font-size: 13px; font-weight: 860; }
.nr-steps h3 { font-size: 20px; line-height: 1.3; margin: 22px 0 11px; letter-spacing: -.02em; }
.nr-steps p { color: var(--nr-muted); font-size: 14px; line-height: 1.73; max-width: 340px; margin: 0; }
.nr-discovery { background: #eef4fc; padding: 65px 0 70px; border-top: 1px solid #dee8f5; }
.nr-discovery-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.nr-discovery-inner > div { max-width: 710px; }
.nr-discovery h2 { font-size: clamp(27px,3vw,38px); }
.nr-discovery p:not(.nr-kicker) { color: #4f6179; line-height: 1.75; font-size: 14px; margin: 14px 0 0; }
.nr-discovery .nr-btn { flex: 0 0 auto; }

/* Separate commercial information page */
.nr-pro-hero { background: radial-gradient(circle at 80% 30%,#eef4ff 0,#fff 50%); border-bottom: 1px solid #e5ecf6; padding: 94px 0 88px; }
.nr-pro-hero-content { max-width: 1160px; }
.nr-pro-hero h1 { max-width: 880px; margin: 24px 0; font-size: clamp(42px,5vw,65px); line-height: 1.09; letter-spacing: -.052em; }
.nr-pro-hero p:not(.nr-eyebrow) { max-width: 780px; color: #344a64; font-size: 19px; line-height: 1.72; margin: 0 0 30px; }
.nr-pro-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 38px; }
.nr-pro-benefits article { border: 1px solid var(--nr-border); background: #fff; border-radius: 12px; padding: 30px; min-height: 230px; }
.nr-pro-benefits h3 { font-size: 21px; margin: 23px 0 10px; }
.nr-pro-benefits p { font-size: 14px; color: var(--nr-muted); line-height: 1.8; margin: 0; }
.nr-pro-specialties { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; }
.nr-pro-specialties article { background: #fff; border: 1px solid var(--nr-border); padding: 34px; border-radius: 12px; }
.nr-pro-specialty-tag { font-size: 10px; color: #1d5aa1; font-weight: 840; letter-spacing: .11em; }
.nr-pro-specialties h3 { font-size: 29px; letter-spacing: -.03em; margin: 26px 0 11px; }
.nr-pro-specialties p { color: var(--nr-muted); font-size: 15px; line-height: 1.8; margin: 0; }
.nr-pro-pricing { background: #edf3fb; padding: 80px 0; }
.nr-pro-pricing-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,400px); align-items: center; gap: 90px; }
.nr-pro-pricing-grid > div:first-child > p:not(.nr-kicker) { color: var(--nr-text); line-height: 1.8; font-size: 16px; }
.nr-pro-pricing-note { color: var(--nr-muted)!important; font-size: 13px!important; }
.nr-price-card { background: #fff; border-radius: 16px; border: 1px solid var(--nr-border); box-shadow: var(--nr-shadow); padding: 30px; }
.nr-price-card > span { color: #3868a1; font-size: 11px; font-weight: 850; letter-spacing: .09em; }
.nr-price-line { display: flex; align-items: baseline; gap: 9px; margin-top: 18px; }
.nr-price-line strong { color: var(--nr-ink); font-size: 55px; letter-spacing: -.065em; line-height: 1; }
.nr-price-line span { color: var(--nr-muted); font-size: 13px; }
.nr-price-card > p { color: var(--nr-ink); font-weight: 720; padding-bottom: 17px; border-bottom: 1px solid var(--nr-border); }
.nr-price-card ul { display: grid; gap: 12px; color: var(--nr-muted); list-style: none; padding: 0; margin: 20px 0 25px; font-size: 13px; }
.nr-price-card li { padding-left: 22px; position: relative; }
.nr-price-card li::before { content: ''; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--nr-blue); }
.nr-price-link { width: 100%; }

/* WordPress pages and private workspaces: preserve existing class contracts */
.nr-page,.nr-content { padding: 65px 0; }
.nr-panel { background: #fff; border: 1px solid var(--nr-border); border-radius: var(--nr-radius); padding: 25px; box-shadow: var(--nr-shadow); }
.nr-page-content { max-width: 920px; margin: auto; }
.nr-page-content h1 { font-size: 39px; line-height: 1.2; margin-top: 0; }
.nr-panel p { color: var(--nr-muted); }
.nr-workspace { padding: 48px 0 85px; }
.nr-login-card { max-width: 590px; margin: 20px auto; }
.nr-login-card h1 { font-size: 32px; }
.nr-login-card p { color: var(--nr-muted); }
.nr-login-card input,.nr-work-form input,.nr-work-form textarea,.nr-work-form select,.nr-form input { display: block; width: 100%; margin-top: 6px; border: 1px solid #cbd9dd; background: #fff; color: var(--nr-ink); border-radius: 9px; padding: 12px; font: inherit; }
.nr-login-card label,.nr-work-form label,.nr-form label { display: block; font-size: 14px; font-weight: 650; margin: 14px 0; }
.nr-login-card input[type=checkbox] { display: inline; width: auto; }
.nr-login-card input[type=submit],.nr-form button { margin-top: 12px; background: var(--nr-navy); color: #fff; border: 0; padding: 12px 24px; border-radius: 10px; font-weight: 700; cursor: pointer; }
.nr-tenant-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.nr-tenant-head h1 { font-size: 40px; letter-spacing: -.045em; margin: 8px 0; }
.nr-tenant-head p { color: var(--nr-muted); margin: 0; }
.nr-tenant-pill { border-radius: 22px; padding: 9px 14px; background: #eaf2ff; color: #18518f; text-transform: capitalize; font-size: 12px; font-weight: 700; }
.nr-tenant-nav { display: flex; gap: 9px; overflow-x: auto; margin: 29px 0 26px; border-bottom: 1px solid var(--nr-border); padding-bottom: 12px; }
.nr-tenant-nav a { white-space: nowrap; text-decoration: none; font-size: 13px; padding: 11px 14px; border-radius: 10px; font-weight: 700; color: #456070; }
.nr-tenant-nav a.is-current,.nr-tenant-nav a:hover { background: var(--nr-navy); color: #fff; }
.nr-tenant-body { min-height: 310px; }
.nr-tenant-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.nr-tenant-cards > a { text-decoration: none; }
.nr-tenant-cards h2 { font-size: 31px; margin: 0 0 15px; color: var(--nr-blue); }
.nr-tenant-cards h3 { margin-top: 0; }
.nr-tenant-cards p { color: var(--nr-muted); }
.nr-tenant-footer { font-size: 12px; color: var(--nr-muted); margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--nr-border); }
.nr-work-form { max-width: 730px; margin-bottom: 22px; }
.nr-work-form button { margin-top: 12px; }
.nr-work-list { display: grid; gap: 11px; }
.nr-work-item { text-decoration: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nr-work-item span { font-size: 13px; color: var(--nr-muted); }
.nr-tenant-table { width: 100%; border-collapse: collapse; }
.nr-tenant-table td,.nr-tenant-table th { padding: 12px 7px; border-bottom: 1px solid var(--nr-border); text-align: left; }
.nr-access { padding-block: 58px; }
.nr-access .nr-panel { max-width: 560px; margin: auto; }

/* Shared corporate footer: hard bounds keep uploaded logos from overflowing */
.nr-footer { background: #fff; border-top: 1px solid #e2e9f3; }
.nr-footer-inner { display: grid; grid-template-columns: minmax(0,270px) 1fr; gap: 25px 60px; align-items: start; padding: 45px 0 20px; }
.nr-footer-identity { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.nr-footer-logo { display: inline-flex; align-items: center; width: 180px; max-width: 100%; height: 54px; overflow: hidden; text-decoration: none; }
.nr-site .nr-footer .nr-footer-logo img,.nr-site .nr-footer .nr-footer-logo img.custom-logo { display: block!important; box-sizing: border-box; width: auto!important; height: auto!important; max-width: 100%!important; max-height: 48px!important; object-fit: contain!important; object-position: left center!important; }
.nr-footer-copy { margin: 10px 0 0; color: #617387; font-size: 12px; line-height: 1.6; }
.nr-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 22px; padding-top: 14px; }
.nr-footer nav a { color: #516980; text-decoration: none; font-size: 12px; font-weight: 650; }
.nr-footer-bottom { grid-column: 1/-1; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 30px; padding-top: 22px; margin-top: 22px; border-top: 1px solid #e7edf4; color: #6f8090; font-size: 11px; }

/* Responsive layouts */
@media(max-width: 1080px) {
  .nr-home-hero-grid { gap: 34px; }
  .nr-header-inner { gap: 15px; }
  .nr-nav { gap: 16px; }
  .nr-link-secondary { display: none; }
  .nr-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nr-editorial-layout { gap: 45px; }
}
@media(max-width: 860px) {
  .nr-home-hero { padding: 66px 0 76px; }
  .nr-home-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .nr-home-intro { max-width: 670px; }
  .nr-home-hero h1 { max-width: 700px; }
  .nr-product-preview { max-width: 680px; width: 100%; margin-inline: auto; }
  .nr-editorial-layout { grid-template-columns: 1fr; gap: 22px; }
  .nr-editorial-layout h2 { max-width: 740px; }
  .nr-pro-pricing-grid { grid-template-columns: 1fr; gap: 30px; }
  .nr-price-card { max-width: 550px; }
  .nr-discovery-inner { align-items: flex-start; flex-direction: column; gap: 22px; }
  .nr-steps { gap: 20px; }
  .nr-header-tenant { display: none; }
}
@media(max-width: 680px) {
  .nr-shell { width: min(100% - 36px,1160px); }
  .nr-header-inner { min-height: 77px; gap: 12px; }
  .nr-site .nr-header .nr-brand img,.nr-site .nr-header .nr-brand img.custom-logo { max-width: 172px!important; max-height: 43px!important; }
  .nr-brand { font-size: 17px; }
  .nr-nav { gap: 9px; }
  .nr-nav .nr-link { display: none; }
  .nr-access-btn { min-height: 42px; padding: 10px 17px; font-size: 12px; }
  .nr-home-hero { padding: 60px 0 63px; }
  .nr-home-hero h1 { font-size: clamp(36px,9vw,46px); line-height: 1.12; margin: 20px 0 19px; }
  .nr-hero-copy { font-size: 16px; }
  .nr-hero-subcopy { font-size: 14px; margin-bottom: 24px; }
  .nr-home-intro .nr-actions { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 365px; }
  .nr-home-intro .nr-btn { width: 100%; justify-content: center; }
  .nr-product-preview { padding: 17px 15px; border-radius: 16px; }
  .nr-preview-meta { font-size: 8px; }
  .nr-preview-heading strong { font-size: 14px; }
  .nr-preview-tabs { gap: 17px; font-size: 10px; }
  .nr-preview-grid > div { padding: 13px; }
  .nr-preview-grid strong { font-size: 11px; }
  .nr-preview-pill { display: none; }
  .nr-section { padding: 66px 0; }
  .nr-section h2,.nr-pro-pricing h2 { font-size: 32px; }
  .nr-heading-row { display: block; margin-bottom: 28px; }
  .nr-heading-aside { max-width: 630px; margin-top: 16px; }
  .nr-benefit-grid,.nr-steps,.nr-pro-benefits,.nr-pro-specialties,.nr-tenant-cards { grid-template-columns: 1fr; }
  .nr-benefit { min-height: 0; padding: 22px; }
  .nr-benefit h3 { margin: 20px 0 9px; }
  .nr-editorial-copy { font-size: 15px; }
  .nr-steps { margin-top: 27px; gap: 29px; }
  .nr-steps h3 { margin: 13px 0 8px; }
  .nr-discovery { padding: 58px 0; }
  .nr-discovery h2 { font-size: 30px; }
  .nr-discovery .nr-btn { width: 100%; max-width: 400px; }
  .nr-pro-hero { padding: 65px 0; }
  .nr-pro-hero h1 { font-size: 41px; }
  .nr-pro-hero p:not(.nr-eyebrow) { font-size: 16px; }
  .nr-pro-hero .nr-actions { align-items: stretch; flex-direction: column; }
  .nr-pro-benefits article { padding: 24px; min-height: 0; }
  .nr-pro-specialties article { padding: 24px; }
  .nr-pro-pricing { padding: 60px 0; }
  .nr-price-card { padding: 22px; }
  .nr-footer-inner { grid-template-columns: 1fr; gap: 24px; padding: 35px 0 21px; }
  .nr-footer-logo { width: 170px; height: 52px; }
  .nr-footer nav { justify-content: flex-start; gap: 14px 20px; padding-top: 0; }
  .nr-footer-bottom { margin-top: 0; }
  .nr-tenant-head { align-items: flex-start; }
  .nr-tenant-head h1 { font-size: 29px; }
  .nr-tenant-pill { font-size: 10px; }
  .nr-tenant-nav { gap: 2px; }
  .nr-tenant-nav a { padding: 9px 10px; }
  .nr-work-item { display: block; }
  .nr-work-item span { display: block; margin-top: 8px; }
  .nr-page-content h1 { font-size: 32px; }
}
@media(max-width: 370px) {
  .nr-shell { width: min(100% - 28px,1160px); }
  .nr-site .nr-header .nr-brand img,.nr-site .nr-header .nr-brand img.custom-logo { max-width: 154px!important; max-height: 40px!important; }
  .nr-access-btn { padding: 9px 12px; }
  .nr-preview-grid { gap: 8px; }
  .nr-preview-grid > div { padding: 12px 9px; }
  .nr-eyebrow { font-size: 10px; }
}
@media(prefers-reduced-motion:reduce){ html { scroll-behavior: auto; } .nr-btn { transition: none; } }

/* Portal publico multiempresa 1.2.0 */
.nr-public-portal{padding:45px 0 85px}.nr-public-breadcrumb{font-size:13px;color:#54718c;margin-bottom:21px}.nr-public-breadcrumb a{text-decoration:underline}.nr-public-hero{background:#fff;border:1px solid #d6e1f1;border-radius:19px;padding:40px;display:flex;gap:26px;align-items:center}.nr-public-hero h1{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:9px 0 13px;color:#102d58}.nr-public-hero p{color:#506982;line-height:1.65;max-width:760px}.nr-public-logo{max-width:150px;max-height:100px;width:auto;height:auto;object-fit:contain;flex:0 0 auto}.nr-client-nav{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 29px;border-bottom:1px solid #d7e4ef;padding-bottom:15px}.nr-client-nav a{display:inline-block;padding:10px 13px;border:1px solid #dbe7f1;background:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;color:#092e53}.nr-client-nav a:hover{border-color:#1f65d8}.nr-public-grid{display:grid;grid-template-columns:minmax(250px,.7fr) 1.3fr;gap:20px}.nr-public-portal h2{color:#0a2a57}.nr-portal-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:17px 0 40px}.nr-portal-services .nr-panel{display:flex;flex-direction:column;gap:12px}.nr-portal-services h3{font-size:17px;color:#113562;margin:0}.nr-portal-services p{font-size:13px;color:#56708b;margin:0 0 10px;flex:1}.nr-portal-services .nr-btn{font-size:12px;text-align:center;padding:10px}.nr-portal-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.nr-request-form{max-width:880px;margin-top:18px}.nr-request-form form{display:grid;gap:16px}.nr-request-form label{display:block;font-weight:650;color:#254563;font-size:14px}.nr-request-form input:not([type=checkbox]),.nr-request-form textarea,.nr-work-form select{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #c9d7e7;border-radius:8px;font:inherit;background:#fff;color:#183a57}.nr-request-form .nr-check{font-size:12px;font-weight:450;display:flex;align-items:flex-start;gap:10px}.nr-request-form .nr-check input{margin-top:4px}.nr-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}.nr-portal-request{padding:18px 0;border-top:1px solid #dfe7f1}.nr-portal-request p{margin:5px 0}.nr-prof-request{margin:12px 0!important}.nr-prof-request summary{cursor:pointer}.nr-prof-request>p{overflow-wrap:anywhere}.nr-portal-action{display:flex;align-items:end;gap:13px;flex-wrap:wrap}.nr-portal-action select{padding:10px;border:1px solid #cbd7e8}.nr-portal-analysis{margin:20px 0;padding:18px;background:#f0f5fa;border-left:4px solid #155bba;white-space:normal}.nr-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nr-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.nr-metrics>div{background:#f2f6fb;border:1px solid #dce7f3;border-radius:12px;padding:18px;display:grid;gap:6px}.nr-metrics small,.nr-metrics span{color:#526b82}.nr-metrics strong{font-size:20px;color:#143f75}.nr-note{font-size:12px!important;color:#667c8e!important}.nr-check{display:flex!important;align-items:center;gap:9px}.nr-check input{width:auto!important;margin:0!important}
@media(max-width:970px){.nr-portal-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.nr-public-portal{padding-top:26px}.nr-public-hero{padding:23px;display:block}.nr-public-logo{max-width:140px;margin-bottom:15px}.nr-public-grid,.nr-portal-row,.nr-portal-services,.nr-rate-grid,.nr-metrics{grid-template-columns:1fr}.nr-portal-services .nr-panel{padding:18px}.nr-request-form{padding:22px}.nr-client-nav{gap:5px}.nr-client-nav a{font-size:12px;padding:8px}.nr-public-hero h1{font-size:30px}}

/* Catálogo público de ayudas de Nexo Extranjería (solo lectura). */
.nr-aid-search{margin:25px 0 40px}.nr-aid-search h3{color:#123a6c;font-size:23px;margin:0 0 10px}.nr-aid-search>p{color:#546c83;font-size:14px}.nr-aid-search-form{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:12px;align-items:end;margin:23px 0}.nr-aid-search-form label{display:block;font-size:13px;font-weight:700;color:#254563}.nr-aid-search-form input,.nr-aid-search-form select{display:block;margin-top:5px;border:1px solid #c9d8e9;background:#fff;border-radius:8px;padding:12px;width:100%;font:inherit;color:#163b64}.nr-aid-search-form .nr-btn{min-height:45px}.nr-search-count{font-weight:700;color:#153c6e!important}.nr-search-error{border-left:4px solid #c85c31;padding:15px;background:#fff4ed;color:#8b401a!important}.nr-aid-result{border-top:1px solid #dfe8f1;padding:21px 0}.nr-aid-result h4{font-size:17px;color:#12365f;margin:0 0 7px;line-height:1.35}.nr-aid-result>small{color:#54718b;font-size:11px}.nr-aid-result p{color:#526f88;line-height:1.6;font-size:13px}.nr-aid-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.nr-aid-actions .nr-btn{font-size:12px;text-align:center}.nr-aid-pagination{display:flex;gap:10px;margin:15px 0}.nr-aid-pagination a{padding:7px 12px;border:1px solid #ccdaeb;background:#fff;border-radius:7px;font-weight:700;text-decoration:none}.nr-aid-pagination a[aria-current=page]{background:#113e78;color:#fff}@media(max-width:900px){.nr-aid-search-form{grid-template-columns:1fr 1fr}.nr-aid-search-form>label:first-child{grid-column:1/-1}}@media(max-width:680px){.nr-aid-search{padding:20px}.nr-aid-search-form{grid-template-columns:1fr}.nr-aid-search-form>label:first-child{grid-column:auto}.nr-aid-actions{display:grid}.nr-aid-actions .nr-btn{width:100%}}

/* 1.3.0 | Política de precios por bloque, sin cuota separada de espacio */
.nr-pricing-hero{padding:75px 0 56px;background:linear-gradient(120deg,#071e43,#123f7d);color:#fff}
.nr-pricing-hero h1{color:#fff;font-size:clamp(32px,4.5vw,54px);max-width:900px;margin:12px 0}
.nr-pricing-hero p{max-width:820px;line-height:1.7;color:#d3e4f8}
.nr-pricing-wrap{padding:65px 0 85px;background:#f5f8fd}
.nr-pricing-table-wrap{background:white;border:1px solid #dbe5f1;border-radius:14px;overflow-x:auto;box-shadow:0 9px 25px #122a560d}
.nr-pricing-table{width:100%;border-collapse:collapse;min-width:700px;font-size:14px;color:#203b5d}
.nr-pricing-table th{text-align:left;background:#102e60;color:#fff;padding:17px 16px}
.nr-pricing-table td{padding:16px;border-bottom:1px solid #e4ebf3}
.nr-pricing-table tr:last-child td{border-bottom:0}
.nr-pricing-table td:not(:first-child){font-weight:700;font-variant-numeric:tabular-nums}
.nr-pricing-table .nr-col-desc{font-size:12px;color:#65768b;font-weight:400;display:block;margin-top:5px}
.nr-pricing-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:30px 0}
.nr-pricing-block{background:white;border:1px solid #d8e3f1;border-radius:13px;padding:22px 22px 20px;box-shadow:0 4px 12px #0c264a08}
.nr-pricing-block h3{color:#0c3263;font-size:23px;margin:0 0 9px}
.nr-pricing-block p{font-size:13px;color:#536a82;line-height:1.6;margin:0 0 15px}
.nr-pricing-block summary{font-weight:700;color:#164fa0;cursor:pointer;margin:12px 0}
.nr-pricing-block ul{margin:7px 0 0;padding-left:18px;font-size:13px;color:#405a73;line-height:1.7}
.nr-pricing-terms{background:#fff;border-left:4px solid #116ef1;border-radius:0 12px 12px 0;padding:23px 25px;margin:23px 0}
.nr-pricing-terms h3{color:#143e76;margin:0 0 10px;font-size:19px}
.nr-pricing-terms p,.nr-pricing-terms li{font-size:14px;line-height:1.68;color:#465d78}
.nr-pricing-action{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
@media(max-width:950px){.nr-pricing-blocks{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.nr-pricing-blocks{grid-template-columns:1fr}.nr-pricing-hero{padding:56px 0 43px}}

@media(min-width:1000px){.nr-pro-specialties{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Self-service registration */
.nr-signup{background:#fff;border-radius:18px;box-shadow:0 12px 28px rgba(15,32,62,.08)}
.nr-signup-form{display:grid;gap:18px}.nr-signup-form label{display:block;font-weight:600;line-height:1.6}.nr-signup-form label input:not([type=checkbox]),.nr-signup-form select{display:block;width:100%;padding:12px 13px;margin-top:5px;border:1px solid #c5d0df;border-radius:9px;font:inherit;box-sizing:border-box}
.nr-signup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nr-signup-form fieldset{border:1px solid #d6dfea;border-radius:12px;padding:13px 18px}.nr-signup-form input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:5px}.nr-signup-message{padding:13px 16px;border:1px solid #9abbc6;border-radius:10px;background:#edf7fa}.nr-signup-form button{cursor:pointer}@media(max-width:650px){.nr-signup-grid{grid-template-columns:1fr}.nr-signup{margin:12px!important;padding:18px!important}}

/* Responsive signup CTA alongside the existing account access button. */
.nr-signup-nav{white-space:nowrap;padding:10px 14px;font-size:13px}
@media(max-width:720px){.nr-signup-nav{padding:8px 10px;font-size:12px}.nr-header .nr-access-btn{padding:8px 10px;font-size:12px}.nr-header .nr-brand{min-width:0}}
@media(max-width:390px){.nr-signup-nav{font-size:11px;padding:8px 9px}.nr-header .nr-access-btn{font-size:11px;padding:8px 9px}}

/* 1.4.2: public motor screens keep the tool and the quote as distinct actions. */
.nr-motor-card.is-selected {border-color:#2c75bd;box-shadow:0 0 0 2px rgba(32,101,174,.10)}
.nr-portal-services .nr-motor-card {gap:10px}
.nr-motor-card .nr-quote-link {font-size:12px;color:#175b9e;text-decoration:underline;text-align:center;font-weight:650;line-height:1.4}
.nr-selected-engine {margin:18px 0 30px;scroll-margin-top:100px;padding:28px}
.nr-selected-engine > h2 {margin:0 0 12px}
.nr-selected-engine .nr-aid-search {margin:0;border:0;box-shadow:none;padding:12px 0 0}
.nr-specific-intake {display:grid;gap:15px;margin-top:23px}
.nr-specific-intake h3 {color:#153e6a;margin:16px 0 2px;font-size:18px}
.nr-specific-intake .nr-engine-questions {display:grid;gap:14px;border-bottom:1px solid #dfE7f1;padding-bottom:18px}
.nr-specific-intake label {display:block;font-size:14px;font-weight:650;color:#234565}
.nr-specific-intake input:not([type=checkbox]),.nr-specific-intake textarea,.nr-specific-intake select {display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #c9d7e7;border-radius:9px;background:#fff;color:#183a57;font:inherit}
.nr-specific-intake select[multiple]{min-height:135px}
.nr-specific-intake .nr-check {display:flex;font-size:12px;font-weight:450;align-items:flex-start;gap:9px}
.nr-specific-intake .nr-check input {margin-top:3px}
.nr-public-secondary{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:24px 0 0;padding:16px;background:#f1f6fc;border-radius:11px;color:#234c78;font-weight:650;font-size:14px}
.nr-prof-motor-answers dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:7px 16px}
.nr-prof-motor-answers dt{font-weight:700;color:#27517d}
.nr-prof-motor-answers dd{margin:0;overflow-wrap:anywhere}
@media(max-width:680px){.nr-selected-engine{padding:18px;scroll-margin-top:75px}.nr-public-secondary{display:grid}.nr-prof-motor-answers dl{grid-template-columns:1fr}.nr-prof-motor-answers dt{margin-top:8px}}
