/* V34: presentation only; hidden attributes and application permissions stay intact. */
body:has(#portalShell:not([hidden]) .home-v34:not([hidden])) {
  background: radial-gradient(ellipse at 90% 20%, #dff5fa 0, transparent 42%),linear-gradient(130deg,#fff,#f0f9fc 65%,#fff);
}
body:has(#portalShell:not([hidden]) .home-v34:not([hidden]))::before {
  opacity: .8;
  background: url("portal-air-v34.svg") center bottom / cover no-repeat;
  mask-image: none;
}
#portalShell:has(.home-v34:not([hidden])) { width:min(1320px,calc(100% - 64px)); }
.home-v34 { grid-template-columns:minmax(0,1.2fr) minmax(350px,1fr); gap:clamp(32px,5vw,76px); padding:54px 0; min-height:calc(100vh - 160px); }
.home-v34 .hero-copy { min-width:0; }
.home-v34 .eyebrow { font-size:.8rem; letter-spacing:.17em; margin-bottom:30px; }
.home-v34 h1 { max-width:none; letter-spacing:-.05em; line-height:1.08; font-weight:750; }
.home-v34 .home-brand { display:block; font-size:clamp(3.1rem,5.9vw,5.7rem); }
.home-v34 .home-subtitle { display:block; font-size:clamp(2rem,3.55vw,3.35rem); margin-top:12px; letter-spacing:-.04em; }
.home-v34 .hero-text { max-width:550px; font-size:clamp(1.1rem,1.7vw,1.55rem); line-height:1.6; margin:28px 0 0; color:#688399; }
.home-v34 .hero-panel { padding:32px; border-radius:30px; background:rgba(255,255,255,.9); box-shadow:0 24px 65px #073f6114; }
.home-v34 .panel-label { margin:5px 0 22px; color:#617d95; }
.home-v34 .tool-grid { gap:12px; }
.home-v34 .tool-card { min-height:88px; padding:17px; border-radius:19px; background:#ffffffdc; border-color:#d9e5ed; transition:box-shadow .18s,border-color .18s,transform .18s; }
.home-v34 a.tool-card:hover { transform:translateY(-2px); border-color:#58b8d5; box-shadow:0 8px 20px #073f6110; }
.home-v34 a.tool-card:focus-visible { outline:3px solid #0586bb; outline-offset:3px; }
.home-v34 .tool-icon { width:52px; height:52px; border-radius:14px; font-size:1.2rem; }
.home-v34 .soporte-tool .tool-icon { background:linear-gradient(145deg,#074468,#049bca); }
.home-v34 .tool-card h2 { font-size:1rem; margin-bottom:5px; }
.home-v34 .tool-card p { font-size:.82rem; line-height:1.45; }
@media(max-width:1000px) {
  .home-v34 { gap:28px; grid-template-columns:minmax(0,1fr) minmax(310px,1fr); }
  .home-v34 .hero-panel { padding:22px; }
  #portalShell:has(.home-v34:not([hidden])) .brand span { display:none; }
}
@media(max-width:760px) {
  #portalShell:has(.home-v34:not([hidden])) { width:calc(100% - 32px); }
  #portalShell:has(.home-v34:not([hidden])) .site-header { flex-wrap:wrap; gap:14px; padding:18px 0; }
  #portalShell:has(.home-v34:not([hidden])) .header-actions { flex-wrap:wrap; gap:10px; }
  .home-v34 { grid-template-columns:minmax(0,1fr); padding:38px 0; gap:32px; min-height:0; }
  .home-v34 .eyebrow { font-size:.65rem; margin-bottom:22px; }
  .home-v34 .home-brand { font-size:clamp(2.8rem,10vw,4.5rem); }
  .home-v34 .home-subtitle { font-size:clamp(1.7rem,6vw,2.8rem); }
  .home-v34 .hero-text { margin-top:20px; }
  .home-v34 .hero-panel { padding:22px; }
  .home-v34 .tool-card { padding:14px; gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .home-v34 .tool-card { transition:none; } }
