/* Black Ring Hub · legibilidad y ergonomía móvil */

/* El lujo no debe sentirse microscópico. Conservamos la jerarquía editorial,
   pero elevamos el texto operativo a tamaños cómodos. */
.rail-nav b{font-size:14px}
.rail-profile b{font-size:13px}
.rail-profile small{font-size:11px}
.crumb span{font-size:9px}
.crumb b{font-size:13px}
.eyebrow,.card-label{font-size:10px}
.tiny{font-size:12px}
.text-link{font-size:12px}
.progress-copy p,
.academy-card p,
.course-body p,
.members-card p,
.service p,
.business-profile-copy p{font-size:14px;line-height:1.65}
.brief-card p{font-size:13px;line-height:1.6}
.member-card-head p{font-size:12px}
.member-description{font-size:14px;line-height:1.7}
.capability-ledger small{font-size:9px}
.capability-ledger p{font-size:12px;line-height:1.55}
.member-links a,.member-links button{font-size:11px;min-height:32px}
.passport-public-head p,
.passport-panel>header>p,
.passport-panel>p,
.passport-admin>header>p{font-size:13px;line-height:1.65}
.passport-checks b,
.passport-request-card b,
.passport-admin-person b{font-size:12px}
.passport-checks small,
.passport-request-card small,
.passport-admin-person small{font-size:10px;line-height:1.45}
.passport-request-card p,
.passport-incoming p,
.passport-principles ol{font-size:13px}
.passport-empty{font-size:13px}

/* Tarjeta directa para que el administrador sepa cómo probar el producto. */
.demo-access-guide{
  display:grid;
  grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);
  gap:28px;
  margin:18px 0;
  padding:30px;
  border-radius:24px;
  background:
    radial-gradient(circle at 0 0,rgba(216,189,117,.17),transparent 43%),
    linear-gradient(145deg,#181610,#0d0d0c);
  box-shadow:inset 0 0 0 1px rgba(216,189,117,.24);
}
.demo-access-guide h2{
  margin:10px 0 12px;
  font:600 clamp(32px,4vw,50px)/.95 "Cormorant Garamond",serif;
}
.demo-access-guide>div>p{max-width:520px;margin:0;color:#aaa398;font-size:15px;line-height:1.7}
.demo-access-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:demo-access}
.demo-access-steps li{
  counter-increment:demo-access;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:center;
  min-height:58px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  color:#d7d1c7;
  font-size:14px;
  line-height:1.45;
}
.demo-access-steps li::before{
  content:counter(demo-access,decimal-leading-zero);
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#d8bd75;
  box-shadow:inset 0 0 0 1px rgba(216,189,117,.4);
  font-size:10px;font-weight:700;letter-spacing:.08em;
}
.demo-access-note{
  display:flex;align-items:flex-start;gap:10px;
  margin-top:16px;padding:12px 14px;border-radius:12px;
  background:rgba(184,211,123,.07);color:#b8d37b;
  font-size:12px;line-height:1.5;
}
.demo-access-note svg{width:18px;flex:0 0 18px}
.demo-route{
  display:flex;flex-wrap:wrap;gap:7px;
  margin:14px 0 4px;
}
.demo-route span{
  padding:7px 9px;border-radius:999px;
  background:rgba(216,189,117,.08);color:#c8b274;
  font-size:10px;letter-spacing:.06em;
}

@media(max-width:820px){
  html{-webkit-text-size-adjust:100%}
  body{padding-bottom:126px}
  #app{padding:24px 15px 126px}

  .mobile-nav{
    left:10px;right:10px;
    bottom:calc(18px + env(safe-area-inset-bottom));
    height:76px;
    padding:7px 6px 9px;
    border-radius:25px;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.12),
      0 18px 55px rgba(0,0,0,.58);
  }
  .mobile-nav button{
    min-width:48px;min-height:56px;
    gap:5px;
  }
  body .mobile-nav b{font-size:10px;line-height:1;font-weight:650}
  .mobile-nav svg{width:22px;height:22px;stroke-width:1.55}
  .mobile-ring span{
    width:50px;height:50px;
    margin-top:-23px;
    box-shadow:0 0 0 7px #080807,0 8px 26px rgba(216,189,117,.22);
  }
  .mobile-ring svg{width:23px;height:23px}
  .mobile-ring b{margin-top:1px}

  .lede,.hero-copy .lede{font-size:16px;line-height:1.65}
  .view-head p{font-size:15px;line-height:1.65}
  .btn{min-height:50px;font-size:14px}
  input,select,textarea{font-size:16px!important}

  .member-description,
  .post-text,
  .course-body p,
  .service p,
  .business-profile-copy p{font-size:15px}
  .capability-ledger p{font-size:13px}
  .member-card-head p{font-size:13px}

  .demo-access-guide{grid-template-columns:1fr;gap:20px;padding:24px 18px}
  .demo-access-guide>div>p{font-size:15px}
  .demo-access-steps li{font-size:14px;padding:11px 12px}
  .demo-how{padding:18px 10px;flex-wrap:wrap;font-size:10px;line-height:1.4}
  .demo-persona-body>p,.demo-persona-body>em{font-size:13px;line-height:1.5}
  .demo-persona-body div p{font-size:13px;line-height:1.6}
  .demo-persona-body small{font-size:9px}
  .demo-persona button{min-height:50px;font-size:14px}
  .demo-safety p{font-size:14px}
  .demo-ribbon{bottom:calc(104px + env(safe-area-inset-bottom))}
}

/* v59 · acceso único a Oficina Black Ring */
.office-vr-entry{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,.72fr) 1.28fr;
  min-height:390px;
  margin:0 0 24px;
  overflow:hidden;
  border:1px solid rgba(216,189,117,.3);
  border-radius:28px;
  background:
    radial-gradient(circle at 15% 50%,rgba(216,189,117,.15),transparent 30%),
    linear-gradient(120deg,#090908,#17140e 65%,#0b0b09);
}
.office-vr-entry:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.03) 50%,transparent 52%);mix-blend-mode:screen}
.office-vr-tower{position:relative;display:grid;place-items:center;min-height:390px;isolation:isolate;overflow:hidden;border-right:1px solid rgba(216,189,117,.18);background:radial-gradient(ellipse at 50% 84%,rgba(216,189,117,.18),transparent 34%),linear-gradient(155deg,#12110e 0%,#050505 72%)}
.office-vr-tower:before{content:"";position:absolute;z-index:-2;inset:32% -18% -20%;opacity:.38;background:linear-gradient(90deg,transparent 3%,#111 3% 10%,transparent 10% 14%,#181713 14% 25%,transparent 25% 31%,#0d0d0c 31% 43%,transparent 43% 58%,#151410 58% 68%,transparent 68% 74%,#0c0c0b 74% 88%,transparent 88%);clip-path:polygon(0 38%,8% 38%,8% 18%,15% 18%,15% 31%,25% 31%,25% 10%,32% 10%,32% 43%,41% 43%,41% 24%,50% 24%,50% 36%,61% 36%,61% 4%,68% 4%,68% 30%,77% 30%,77% 17%,88% 17%,88% 42%,100% 42%,100% 100%,0 100%)}
.office-vr-tower:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 32%,rgba(216,189,117,.07) 49%,transparent 55%)}
.office-vr-tower>span{position:absolute;z-index:4;top:31px;color:var(--champagne);font-size:8px;letter-spacing:.2em}
.office-vr-tower>small{position:absolute;z-index:4;bottom:24px;color:#777166;font-size:8px;letter-spacing:.15em}
.office-tower-scene{position:relative;width:180px;height:306px;margin-top:24px;filter:drop-shadow(0 25px 30px rgba(0,0,0,.7));transform:perspective(700px) rotateY(-9deg)}
.office-tower-spire{position:absolute;z-index:3;left:50%;top:0;width:2px;height:36px;background:linear-gradient(#ead997,#8d7436);box-shadow:0 0 14px rgba(216,189,117,.7);transform:translateX(-50%)}
.office-tower-spire:after{content:"";position:absolute;left:50%;bottom:-5px;width:48px;height:9px;border-top:1px solid rgba(216,189,117,.75);background:linear-gradient(90deg,transparent,rgba(216,189,117,.15),transparent);transform:translateX(-50%) skewX(-18deg)}
.office-tower-building{position:absolute;left:25px;right:18px;top:32px;bottom:22px;overflow:hidden;border:1px solid rgba(216,189,117,.34);clip-path:polygon(17% 0,83% 0,100% 100%,0 100%);background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(216,189,117,.1) 12px 13px),repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 16px,rgba(216,189,117,.15) 16px 17px),linear-gradient(105deg,#050505 4%,#1b1914 47%,#080808 48% 100%);box-shadow:inset 10px 0 28px rgba(216,189,117,.06),inset -1px 0 rgba(239,215,152,.5)}
.office-tower-building:before{content:"";position:absolute;inset:12% 18% 17%;opacity:.72;background:repeating-linear-gradient(0deg,rgba(216,189,117,.62) 0 3px,transparent 3px 17px),repeating-linear-gradient(90deg,transparent 0 15px,rgba(216,189,117,.38) 15px 18px);filter:drop-shadow(0 0 4px rgba(216,189,117,.24))}
.office-tower-building:after{content:"";position:absolute;left:50%;top:0;width:1px;height:100%;background:linear-gradient(transparent,rgba(235,211,146,.75),transparent);box-shadow:0 0 16px rgba(216,189,117,.35)}
.office-tower-building em{position:absolute;z-index:2;left:50%;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(216,189,117,.55);border-radius:50%;background:#080807;color:#dbc47f;font:500 12px/1 "Cormorant Garamond",serif;letter-spacing:.12em;transform:translateX(-50%)}
.office-tower-base{position:absolute;left:2px;right:0;bottom:10px;height:14px;border-top:1px solid rgba(216,189,117,.45);background:linear-gradient(90deg,transparent,#201b10 20% 80%,transparent);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}
.office-vr-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:48px clamp(28px,5vw,72px)}
.office-vr-copy h2{margin:10px 0 16px;font:500 clamp(42px,5vw,68px)/.88 "Cormorant Garamond",serif;letter-spacing:-.035em}.office-vr-copy h2 em{color:var(--champagne);font-weight:500}
.office-vr-copy>p{max-width:610px;margin:0;color:#aaa49a;font-size:14px;line-height:1.75}
.office-vr-copy>div{display:flex;align-items:center;gap:18px;margin-top:28px}.office-vr-copy>div small{max-width:180px;color:var(--muted);font-size:9px;line-height:1.5;letter-spacing:.1em}

@media(max-width:820px){
  .office-vr-entry{grid-template-columns:1fr;min-height:auto;border-radius:23px}
  .office-vr-tower{min-height:330px;border-right:0;border-bottom:1px solid rgba(216,189,117,.18)}
  .office-vr-tower>span{top:22px;font-size:9px!important}.office-vr-tower>small{bottom:16px;font-size:9px!important}
  .office-tower-scene{width:164px;height:268px;margin-top:18px}
  .office-vr-copy{padding:30px 20px 32px}.office-vr-copy h2{font-size:44px}.office-vr-copy>p{font-size:15px!important}
  .office-vr-copy>div{display:grid;gap:12px}.office-vr-copy .btn{width:100%;justify-content:center}.office-vr-copy>div small{max-width:none;font-size:11px!important;text-align:center}
}


/* v57 · activación de confianza y contacto */
.passport-pending-desk{
  overflow:hidden;
  border:1px solid rgba(216,189,117,.28);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(216,189,117,.12),transparent 35%),
    linear-gradient(145deg,#15130f,#0b0b0a 72%);
}
.passport-pending-desk>header{display:grid;grid-template-columns:1fr minmax(250px,.6fr);gap:28px;align-items:end;padding:25px 27px;border-bottom:1px solid var(--hairline)}
.passport-pending-desk>header h2{margin:8px 0 0;font:500 clamp(30px,4vw,46px)/.96 "Cormorant Garamond",serif}
.passport-pending-desk>header>p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.passport-pending-desk>div{display:grid;gap:1px;background:rgba(255,255,255,.06)}
.passport-pending-review{background:#0e0e0c}
.passport-pending-person{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:17px 22px}
.passport-pending-person span,.passport-pending-person h3,.passport-pending-person p{display:block;margin:0}
.passport-pending-person span{color:var(--champagne);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.passport-pending-person h3{margin-top:3px;font:500 24px/1 "Cormorant Garamond",serif}
.passport-pending-person p{margin-top:4px;color:var(--muted);font-size:10px}
.passport-pending-person>b{color:var(--champagne);font-size:9px;letter-spacing:.11em}
.passport-pending-review details{border-top:1px solid var(--hairline)}
.passport-pending-review summary{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:0 22px;color:#d9d2c6;font-size:12px;cursor:pointer;list-style:none}
.passport-pending-review summary::-webkit-details-marker{display:none}
.passport-pending-review summary span{color:var(--champagne);letter-spacing:3px}
.passport-pending-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:5px 22px 22px}
.passport-pending-form>label{display:grid;gap:6px}.passport-pending-form>label.wide,.passport-pending-form>.passport-rating-fields,.passport-pending-form>.form-error{grid-column:1/-1}
.passport-pending-form label>span{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.passport-pending-form input,.passport-pending-form select,.passport-pending-form textarea{width:100%;min-width:0;padding:13px;border:1px solid var(--hairline);border-radius:11px;background:#090909;color:var(--paper);font:inherit}
.directory-consent{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:0 0 22px;padding:17px 19px;border:1px solid rgba(150,57,63,.34);border-radius:18px;background:linear-gradient(135deg,rgba(97,29,34,.18),rgba(255,255,255,.025))}
.directory-consent>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(199,111,116,.4);border-radius:50%;color:#d69ba0;font:600 17px/1 "Inter",sans-serif}
.directory-consent small{color:#d69ba0;font-size:9px;letter-spacing:.12em}.directory-consent h3{margin:4px 0;font:500 23px/1 "Cormorant Garamond",serif}.directory-consent p{margin:0;color:var(--muted);font-size:11px}
.directory-consent button{min-height:44px;padding:0 15px;border:1px solid rgba(216,189,117,.28);border-radius:11px;background:transparent;color:var(--champagne);cursor:pointer}
.directory-consent.enabled{border-color:rgba(216,189,117,.25);background:rgba(216,189,117,.055)}
.directory-consent.enabled>span{border-color:rgba(216,189,117,.4);color:var(--champagne)}.directory-consent.enabled small{color:var(--champagne)}

@media(max-width:820px){
  .passport-pending-desk>header{grid-template-columns:1fr;padding:22px 17px}
  .passport-pending-desk>header>p{font-size:14px!important}
  .passport-pending-person{grid-template-columns:auto 1fr;padding:16px}.passport-pending-person>b{grid-column:2}
  .passport-pending-form{grid-template-columns:1fr;padding:5px 15px 20px}
  .passport-pending-form>label.wide,.passport-pending-form>.passport-rating-fields,.passport-pending-form>.form-error{grid-column:auto}
  .directory-consent{grid-template-columns:auto 1fr;padding:16px}
  .directory-consent>button{grid-column:1/-1;width:100%}
  .directory-consent small,.passport-pending-person span,.passport-pending-person>b{font-size:11px!important}
  .directory-consent p,.passport-pending-person p{font-size:13px!important;line-height:1.5}
}

@media(max-width:390px){
  .mobile-nav{left:7px;right:7px}
  body .mobile-nav b{font-size:9px}
  .mobile-nav svg{width:21px;height:21px}
}

@media(prefers-reduced-motion:reduce){
  .mobile-nav{scroll-behavior:auto}
}

/* ─────────────────────────────────────────────────────────────
   v49 · lectura real en teléfono
   El inventario móvil mostró etiquetas de 7–10 px en casi todos
   los módulos. Este piso prioriza comprensión sobre miniaturización.
   ───────────────────────────────────────────────────────────── */
@media(max-width:820px){
  #app p{font-size:15px!important;line-height:1.72!important}
  #app small{font-size:12px!important;line-height:1.48}
  #app .eyebrow,
  #app .card-label,
  #app .guide-kicker,
  #app .course-index,
  #app .course-foot,
  #app .member-city,
  #app .industry-tag,
  #app .md-where,
  #app .md-chip,
  #app .md-board span,
  #app .md-board small,
  #app .md-kpi small,
  #app .md-kpi span,
  #app .md-gauge small,
  #app .md-analysis small,
  #app .md-news-pulse small,
  #app .md-deal-id small,
  #app .md-deal-next small,
  #app .md-deal-val small{
    font-size:12px!important;
    line-height:1.35;
    letter-spacing:.1em;
  }
  #app .field label,
  #app .profile-master-form label,
  #app .passport-panel label>span,
  #app fieldset legend{
    font-size:13px!important;
    line-height:1.4;
    letter-spacing:.06em;
  }
  #app button:not(.icon-btn):not(.md-btn),
  #app .profile-links a{
    font-size:13px;
  }
  #app .profile-passport-launch,
  #app .profile-admin-launch,
  #app .member-links button,
  #app .member-links a,
  #app .admin-tabs button,
  #app .admin-member-actions button,
  #app .news-filters button{
    min-height:44px;
    font-size:13px!important;
  }
  #app .admin-member-identity b,
  #app .admin-member-identity span,
  #app .admin-member-identity small,
  #app .admin-member-access small,
  #app .admin-member-activity small,
  #app .admin-member-activity span{
    font-size:12px!important;
    line-height:1.45;
  }
  #app .member-profile-card .passport-mini b,
  #app .passport-mini,
  #app .passport-public-ledger small,
  #app .passport-checks small,
  #app .passport-state span,
  #app .passport-state b{
    font-size:11.5px!important;
    line-height:1.4;
  }
  #app .guide-rail i{font-size:11px}
  #app .guide-step>p,
  #app .guide-hero p,
  #app .guide-example span,
  #app .guide-deep p,
  #app .guide-deep li,
  #app .guide-module p{font-size:15px!important}
  #app .guide-module button{font-size:13px}
  #app .guide-memberships p{font-size:14px!important}
  #app .md-deal-id span,
  #app .md-deal-next span,
  #app .md-tl-body p,
  #app .md-person span{font-size:14px!important}
  #app .md-topic span,
  #app .md-risk p,
  #app .md-analysis p{font-size:14px!important}
  #app .md-funnel .lbl{font-size:14px}
  #app .md-funnel .sub{font-size:12px}
  #app .md-radar text{font-size:11px!important}
  #app .md-radar text.val{font-size:12px!important}
  #app .course-body p,
  #app .post-text,
  #app .comment p,
  #app .service p,
  #app .channel-copy p{font-size:15px!important}

  /* v50 · controles que todavía heredaban microtexto */
  body{padding-bottom:138px}
  .mobile-nav{
    bottom:calc(24px + env(safe-area-inset-bottom));
    height:84px;
    padding:8px 7px 11px;
  }
  .mobile-nav button{min-height:64px;gap:6px}
  body .mobile-nav b{font-size:12px!important;line-height:1.05}
  .mobile-nav svg{width:24px;height:24px}
  .mobile-ring span{width:54px;height:54px;margin-top:-25px}
  .mobile-ring svg{width:25px;height:25px}
  .demo-ribbon{bottom:calc(118px + env(safe-area-inset-bottom))}

  #app .member-card-cta,
  #app .member-card-cta span,
  #app .member-card-cta b{font-size:13px!important;line-height:1.3}
  #app .member-profile-card .passport-mini b,
  #app .passport-mini{font-size:12.5px!important}
  #app small,
  #app .passport-state span,
  #app .passport-state b,
  #app .passport-public-ledger small,
  #app .passport-checks small{font-size:12.5px!important;line-height:1.45}
  #app summary{
    min-height:44px;
    display:flex;
    align-items:center;
    font-size:13px!important;
    line-height:1.4;
  }
  #app .guide-rail i{font-size:12px!important}
  #app .demo-persona-body small,
  #app .demo-route span,
  #app .demo-how{font-size:12px!important}
}

@media(max-width:390px){
  body .mobile-nav b{font-size:12px!important}
}

/* ─────────────────────────────────────────────────────────────
   v53 · acceso completo en cualquier pantalla
   El panel anterior perdía ancho útil por el padding basado en vw
   y podía cortar "Crear acceso" en pantallas de poca altura.
   ───────────────────────────────────────────────────────────── */
.auth-screen{
  grid-template-columns:minmax(0,1fr) clamp(480px,34vw,600px);
  width:100%;
  max-width:100vw;
  overflow:hidden;
}
.auth-visual{
  min-width:0;
  overflow:hidden;
}
.auth-copy{
  left:clamp(40px,6vw,104px);
  right:clamp(40px,5vw,88px);
  bottom:clamp(38px,7vh,76px);
  max-width:720px;
}
.auth-copy h1{
  max-width:100%;
  font-size:clamp(58px,6.4vw,108px);
}
.auth-panel{
  min-width:0;
  max-height:100dvh;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:clamp(28px,5vh,64px) clamp(32px,4vw,72px);
  scrollbar-width:thin;
  scrollbar-color:rgba(216,189,117,.38) transparent;
}
.auth-box{
  width:100%;
  min-width:0;
  max-width:460px;
  margin:auto;
  padding:8px 0;
}
.auth-box .brand-words{
  margin-bottom:clamp(28px,6vh,56px);
}
.auth-box h2{
  font-size:clamp(38px,3vw,48px);
  line-height:.98;
}
.auth-box>p{
  max-width:410px;
  margin-bottom:clamp(22px,3vh,32px);
  font-size:14px;
}
.auth-box .field label{
  font-size:11px;
}
.auth-box .field input{
  min-width:0;
  min-height:56px;
  font-size:16px;
}
.auth-box .btn{
  min-height:58px;
  font-size:14px;
}
.auth-switch{
  margin:20px 0 0;
  padding-bottom:2px;
  font-size:13px;
  line-height:1.5;
}

@media(max-width:1280px){
  .auth-screen{grid-template-columns:minmax(0,1fr) clamp(460px,40vw,540px)}
  .auth-copy h1{font-size:clamp(52px,6.4vw,82px)}
  .auth-panel{padding-inline:clamp(30px,3.5vw,48px)}
}

@media(max-width:1040px){
  .auth-screen{display:block}
  .auth-visual{position:absolute;inset:0}
  .auth-visual::after{opacity:.52}
  .auth-visual::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,rgba(5,5,4,.25),rgba(5,5,4,.76) 48%,#080807 100%);
  }
  .auth-copy{display:none}
  .auth-panel{
    width:min(100%,560px);
    min-height:100dvh;
    margin-left:auto;
    padding-inline:clamp(30px,6vw,64px);
    background:linear-gradient(90deg,rgba(8,8,7,.8),rgba(8,8,7,.97) 18%);
    backdrop-filter:blur(16px);
    box-shadow:-30px 0 90px rgba(0,0,0,.34);
  }
}

@media(max-height:900px) and (min-width:681px){
  .auth-box .brand-words{margin-bottom:28px}
  .auth-box h2{font-size:40px}
  .auth-box>p{margin-bottom:20px}
  .auth-box .field{margin:10px 0}
  .auth-box .field input{min-height:52px}
  .auth-box .btn{min-height:54px;margin-top:14px}
  .auth-switch{margin-top:16px}
}

@media(max-width:680px){
  .auth-visual::before{
    background:linear-gradient(180deg,rgba(5,5,4,.28),rgba(5,5,4,.86) 36%,#080807 100%);
  }
  .auth-panel{
    width:100%;
    align-items:flex-start;
    padding:calc(28px + env(safe-area-inset-top)) 22px
      calc(28px + env(safe-area-inset-bottom));
    background:rgba(7,7,6,.48);
    backdrop-filter:blur(10px);
    box-shadow:none;
  }
  .auth-box{
    max-width:480px;
    padding:0;
  }
  .auth-box .brand-words{margin-bottom:clamp(34px,8vh,64px)}
  .auth-box h2{font-size:clamp(38px,12vw,48px)}
  .auth-box>p{margin-bottom:24px;font-size:15px}
  .auth-box .field{margin:12px 0}
  .auth-box .field label{font-size:12px}
  .auth-box .field input{min-height:58px}
  .auth-box .btn{min-height:58px}
  .auth-switch{font-size:14px}
}

@media(max-height:680px){
  .auth-panel{align-items:flex-start}
  .auth-box .brand-words{margin-bottom:20px}
  .auth-box h2{font-size:34px}
  .auth-box>p{margin-bottom:14px;line-height:1.5}
  .auth-box .field{margin:8px 0}
  .auth-box .field input{min-height:48px}
  .auth-box .btn{min-height:50px;margin-top:10px}
  .auth-switch{margin-top:12px}
}

/* ─────────────────────────────────────────────────────────────
   Casos demo: un deal se entiende como historia, no como fila.
   ───────────────────────────────────────────────────────────── */
.demo-deal-showcase{
  margin:22px 0 28px;
  padding:34px;
  border-radius:28px;
  background:
    radial-gradient(circle at 0 0,rgba(216,189,117,.16),transparent 38%),
    linear-gradient(145deg,#17150f,#0c0c0b 70%);
  box-shadow:inset 0 0 0 1px rgba(216,189,117,.22);
}
.demo-deal-showcase>header{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.65fr);
  gap:36px;
  align-items:end;
}
.demo-deal-showcase h2{
  margin:10px 0 0;
  font:500 clamp(40px,5vw,68px)/.9 "Cormorant Garamond",serif;
  letter-spacing:-.035em;
}
.demo-deal-showcase h2 em{color:var(--champagne);font-weight:500}
.demo-deal-showcase>header>p{margin:0;color:var(--muted);font-size:14px;line-height:1.72}
.demo-deal-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin:28px 0 18px;
  overflow:hidden;
  border-radius:18px;
  background:rgba(255,255,255,.07);
}
.demo-deal-metrics span{padding:18px;background:#11110f}
.demo-deal-metrics b,.demo-deal-metrics small{display:block}
.demo-deal-metrics b{font:500 34px/1 "Cormorant Garamond",serif;color:var(--champagne)}
.demo-deal-metrics small{margin-top:6px;color:var(--muted);font-size:10px}
.demo-deal-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.demo-deal-case{
  min-height:330px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border-radius:20px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.demo-deal-case:hover,.demo-deal-case:focus-visible{
  transform:translateY(-3px);
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 0 0 1px rgba(216,189,117,.28);
  outline:0;
}
.demo-deal-case-top{display:flex;justify-content:space-between;gap:12px;color:var(--champagne);font-size:10px;letter-spacing:.11em}
.demo-deal-case-top b{color:var(--muted);font-weight:500}
.demo-deal-parties{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:22px 0 16px}
.demo-deal-parties>div{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.demo-deal-parties>div b{font-size:12px;text-align:center}
.demo-deal-parties>div i{color:var(--champagne);font-style:normal}
.demo-deal-case h3{margin:0 0 10px;font:500 30px/1 "Cormorant Garamond",serif}
.demo-deal-case>p{margin:0;color:#b9b3a9;font-size:13px;line-height:1.65}
.demo-deal-case-foot{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:auto;padding-top:20px}
.demo-deal-case-foot>span{color:var(--muted);font-size:11px;line-height:1.45}
.demo-deal-case-foot button{border:0;background:none;color:var(--champagne);cursor:pointer;font-size:11px}
.demo-deal-story{
  overflow:hidden;
  border-radius:24px;
  background:#11110f;
  box-shadow:inset 0 0 0 1px rgba(216,189,117,.18);
}
.demo-story-lead{padding:28px 30px;background:linear-gradient(135deg,rgba(216,189,117,.15),transparent)}
.demo-story-lead h2{max-width:720px;margin:10px 0 8px;font:500 clamp(30px,4vw,48px)/.98 "Cormorant Garamond",serif}
.demo-story-lead p{margin:0;color:var(--muted);font-size:12px}
.demo-story-grid{display:grid;grid-template-columns:1fr 1fr}
.demo-story-grid section{min-height:210px;padding:25px 28px;border-top:1px solid var(--hairline)}
.demo-story-grid section:nth-child(even){border-left:1px solid var(--hairline)}
.demo-story-grid small{color:var(--champagne);font-size:9px;letter-spacing:.14em}
.demo-story-grid h3{margin:11px 0 8px;font:500 25px/1 "Cormorant Garamond",serif}
.demo-story-grid p{margin:0;color:#aaa49b;font-size:13px;line-height:1.65}
.demo-readonly-note{margin:14px 0 20px;padding:13px 15px;border-radius:12px;background:rgba(216,189,117,.08);color:#cdbb89!important}
.md-stages button:disabled{cursor:default}
.demo-parties-panel{display:grid;gap:10px}
.demo-party{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:13px;border-radius:13px;background:rgba(255,255,255,.035)}
.demo-party b,.demo-party span{display:block}
.demo-party b{font-size:13px}.demo-party span{margin-top:3px;color:var(--muted);font-size:11px}

@media(max-width:820px){
  .demo-deal-showcase{padding:25px 17px;border-radius:23px}
  .demo-deal-showcase>header{grid-template-columns:1fr;gap:18px}
  .demo-deal-showcase>header>p{font-size:15px!important}
  .demo-deal-metrics{grid-template-columns:1fr 1fr}
  .demo-deal-metrics small{font-size:12px!important}
  .demo-deal-cases{grid-template-columns:1fr}
  .demo-deal-case{min-height:360px;padding:22px 18px}
  .demo-deal-case-top{font-size:12px;line-height:1.4}
  .demo-deal-parties>div{display:grid;gap:3px}
  .demo-deal-parties>div b{font-size:13px}
  .demo-deal-case h3{font-size:33px}
  .demo-deal-case>p{font-size:15px!important}
  .demo-deal-case-foot{grid-template-columns:1fr}
  .demo-deal-case-foot>span{font-size:13px}
  .demo-deal-case-foot button{min-height:46px;padding:0 14px;border-radius:12px;background:var(--champagne);color:var(--ink);font-size:13px!important}
  .demo-story-lead{padding:25px 20px}
  .demo-story-grid{grid-template-columns:1fr}
  .demo-story-grid section{min-height:auto;padding:23px 20px}
  .demo-story-grid section:nth-child(even){border-left:0}
  .demo-story-grid small{font-size:12px!important}
  .demo-story-grid h3{font-size:28px}
  .demo-story-grid p{font-size:15px!important}
  .demo-party b{font-size:14px}.demo-party span{font-size:13px}
}

/* v54 · Passport social + Directorio descargable */
.directory-intro{align-items:center}
.directory-intro>div:first-child>p{max-width:560px;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.directory-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.directory-actions .btn{text-decoration:none}
.contact-consent-toggle{margin-top:10px!important;border-color:rgba(216,189,117,.25)!important;background:rgba(216,189,117,.06)!important}
.profile-contact-primary{background:var(--champagne)!important;color:var(--ink)!important;font-weight:700!important}
.contact-private-note{margin:0;padding:12px 2px;color:var(--muted);font-size:12px;line-height:1.55}

.dossier-passport-section{display:grid;gap:18px}
.dossier-passport-section>header{padding:4px 2px}
.dossier-passport-section>header h2,.passport-preview>header h2{margin:8px 0 6px;font:500 clamp(32px,4vw,48px)/.95 "Cormorant Garamond",serif}
.dossier-passport-section>header p,.passport-preview>header p{max-width:650px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.passport-preview{display:grid;gap:18px}
.passport-preview .passport-public-card{margin:0}
.passport-seal-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}
.passport-seal-ledger>span{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;min-height:52px;padding:8px 11px;border:1px solid var(--hairline);border-radius:13px;color:#77736d;background:rgba(255,255,255,.025)}
.passport-seal-ledger>span.earned{border-color:rgba(216,189,117,.36);color:var(--champagne);background:rgba(216,189,117,.08)}
.passport-seal-ledger i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.05);font-style:normal}
.passport-seal-ledger b{font-size:11px}
.passport-seal-ledger small{font:600 16px/1 "Inter",sans-serif}
.passport-quotes blockquote>span,.passport-seal-label{display:inline-flex;width:max-content;margin:0 0 7px;padding:5px 8px;border-radius:999px;background:rgba(216,189,117,.12);color:var(--champagne);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.passport-no-seals{margin:15px 0 0;padding:16px;border:1px dashed var(--hairline);border-radius:14px;color:var(--muted);font-size:12px;text-align:center}
.passport-give-seal{overflow:hidden;border:1px solid rgba(216,189,117,.3);border-radius:20px;background:linear-gradient(145deg,rgba(216,189,117,.1),rgba(255,255,255,.025))}
.passport-give-seal>summary{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:0 20px;color:var(--champagne);font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.passport-give-seal>summary::-webkit-details-marker{display:none}
.passport-give-seal>form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:0 20px 20px}
.passport-give-seal label{display:grid;gap:7px}
.passport-give-seal label.wide,.passport-give-seal .form-error,.passport-give-seal>form>small{grid-column:1/-1}
.passport-give-seal label>span{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.passport-give-seal input,.passport-give-seal select,.passport-give-seal textarea{width:100%;min-width:0;padding:13px;border:1px solid var(--hairline);border-radius:11px;background:#0b0b0a;color:var(--paper);font:inherit}
.passport-give-seal textarea{resize:vertical}
.passport-give-seal>form>small{color:var(--muted);font-size:10px;line-height:1.5}

@media(max-width:820px){
  .directory-intro{align-items:stretch}
  .directory-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}
  .directory-actions .btn{width:100%;justify-content:center}
  .passport-seal-ledger{grid-template-columns:1fr 1fr}
  .passport-give-seal>form{grid-template-columns:1fr;padding:0 15px 18px}
  .passport-give-seal label.wide,.passport-give-seal .form-error,.passport-give-seal>form>small{grid-column:auto}
}

@media(max-width:460px){
  .passport-seal-ledger{grid-template-columns:1fr}
}

/* v55 · reputación comunitaria Black Ring */
.passport-reputation{
  display:grid;
  grid-template-columns:minmax(240px,.75fr) 1.25fr;
  gap:1px;
  margin-top:15px;
  overflow:hidden;
  border:1px solid rgba(216,189,117,.24);
  border-radius:18px;
  background:rgba(216,189,117,.16);
}
.passport-reputation>div,.passport-reputation>dl{margin:0;padding:20px;background:linear-gradient(145deg,#15130f,#0c0c0b)}
.passport-reputation>div>small{color:var(--champagne);font-size:9px;letter-spacing:.13em}
.passport-reputation>div>p{max-width:380px;margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.passport-reputation dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.passport-reputation dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--hairline);border-radius:11px}
.passport-reputation dt{color:var(--muted);font-size:10px}.passport-reputation dd{margin:0;color:var(--champagne);font:600 15px/1 "Inter",sans-serif}
.passport-reputation dl>div:last-child{grid-column:1/-1}
.passport-stars{position:relative;display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:9px;width:max-content;margin-top:7px}
.passport-stars i,.passport-stars b{grid-area:1/1;color:#3d3830;font:600 19px/1 "Inter",sans-serif;letter-spacing:2px;font-style:normal}
.passport-stars b{width:calc(var(--rating,0)/5*100%);overflow:hidden;color:var(--champagne);white-space:nowrap}
.passport-stars strong{grid-area:1/2;color:var(--paper);font:600 16px/1 "Inter",sans-serif}
.passport-stars.empty{display:inline-flex;padding:6px 9px;border:1px solid var(--hairline);border-radius:999px;color:var(--muted);font-size:8px;letter-spacing:.1em}
.member-card-head .passport-stars{margin-top:8px}.member-card-head .passport-stars i,.member-card-head .passport-stars b{font-size:13px}.member-card-head .passport-stars strong{font-size:12px}
.directory-review-count{display:inline-block;margin:5px 0 0 7px;color:var(--champagne);font-size:9px;font-style:normal;text-transform:uppercase}
.passport-rating-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;padding:14px;border:1px solid rgba(216,189,117,.22);border-radius:14px;background:rgba(216,189,117,.05)}
.passport-rating-fields legend{padding:0 7px;color:var(--champagne);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.passport-rating-fields label{display:grid;gap:6px}.passport-rating-fields select{color:var(--champagne)}
.passport-rating-fields .passport-return{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:10px 0 0}
.passport-rating-fields .passport-return input{width:18px;height:18px;min-height:0}
.passport-rating-fields>small{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.5}
.passport-review-proof{display:inline-flex!important;width:max-content;margin:7px 0 0;padding:5px 8px;border:1px solid var(--hairline);border-radius:999px;color:var(--muted)!important;font-size:8px!important;font-style:normal;letter-spacing:.08em}
.passport-review-proof.verified{border-color:rgba(216,189,117,.35);color:var(--champagne)!important;background:rgba(216,189,117,.07)}

@media(max-width:820px){
  .passport-reputation{grid-template-columns:1fr}
  .passport-reputation dl{grid-template-columns:1fr}
  .passport-reputation dl>div:last-child{grid-column:auto}
  .passport-reputation>div>small,.passport-reputation dt{font-size:12px!important}
  .passport-reputation>div>p{font-size:13px!important}
  .passport-rating-fields{grid-template-columns:1fr}
  .passport-rating-fields .passport-return,.passport-rating-fields>small{grid-column:auto}
}
