/* InmunoSec: mobile layout refinement. Shared business and tracking styles remain in app.css. */
:root{--ink-fg-3:#97A7BF;--paper-fg-3:#596B83}
[hidden]{display:none!important}
html{scroll-padding-top:88px}
.btn,.nav__burger,.txtlink{min-height:44px}
.grid>*{min-width:0}
.hero--home .hero__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.hero--home .hero__copy{min-width:0}
.hero--home h1.hero__seo{font-size:clamp(2.3rem,4.2vw,3.9rem);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
.hero--home .hero__claim{color:var(--brand);font-size:1.12rem;line-height:1.5;margin:20px 0 16px}
.hero--home .hero__steps{font-size:.66rem;letter-spacing:.06em;gap:8px 12px;margin:0 0 18px}
.hero--home .hero__steps span{gap:6px}
.hero--home .lede{font-size:1.05rem;line-height:1.65;margin-bottom:24px}
.hero--home .hero__note{font-size:.8rem;line-height:1.7;margin:18px 0 0}
.hero--home .closure{margin:0;border-color:#283E50;box-shadow:0 24px 65px -32px #000}
.hero--home .bar__fill{display:block}
.hero--home .closure__grid{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)}
.hero--home .closure__sep{height:auto}
.hero--home .closure__col{min-width:0;padding:22px 18px}
.hero--home .closure__bar{padding:16px;gap:8px;font-size:.63rem;letter-spacing:.08em}
.hero--home .closure__bar b{letter-spacing:.08em}
.hero--home .closure__live{margin-left:0;width:100%}
.hero--home .closure__label{margin-bottom:20px;font-size:.69rem;letter-spacing:.13em}
.hero--home .metric{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.hero--home .metric__n{font-size:2.55rem}
.hero--home .metric__t{font-size:.79rem;line-height:1.45;min-height:2.9em}
.hero--home .bar__cap{font-family:var(--font-body);font-size:.7rem;letter-spacing:0;text-transform:none;gap:8px;flex-wrap:wrap}
.hero--home .closure__foot{font-size:.62rem;letter-spacing:.04em;gap:12px;padding:16px}
.hero--home .closure__foot>span:last-child{width:100%;margin-left:0!important;letter-spacing:0!important;font-family:var(--font-body);font-size:.75rem}
.hero--home .btns>.btn{width:100%}
.hero--home .btn--ghost{font-size:.9rem;min-height:44px;padding:10px 0;border-color:transparent;justify-content:flex-start;color:var(--ink-fg-2);box-shadow:none}
.hero--home .btn--ghost:hover{color:var(--brand);background:none}
.trust-detail{border-bottom:1px solid var(--line-c)}
.trust-detail:first-child{border-top:1px solid var(--line-c)}
.trust-detail summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:18px 0;cursor:pointer;font-family:var(--font-display);font-size:1.07rem;font-weight:600;list-style:none}
.trust-detail summary::-webkit-details-marker{display:none}
.trust-detail summary::after{content:'+';font-size:1.4rem;color:var(--accent);font-weight:400}
.trust-detail[open] summary::after{content:'−'}
.trust-detail .trust__v{padding:0 0 24px;max-width:75ch}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(28px,5vw,72px);align-items:start}
.contact-intro{grid-column:1;grid-row:1}
.contact-form{grid-column:2;grid-row:1 / span 2;min-width:0}
.contact-details{grid-column:1;grid-row:2}
body[data-page='/contacto'] .mobar,body[data-page='/security-profile'] .mobar{display:none!important}
body:has(.cookie:not([hidden])) .mobar,body:has(.nav.is-open) .mobar{visibility:hidden}
.cookie{bottom:max(16px,env(safe-area-inset-bottom));max-height:calc(100dvh - 100px);overflow-y:auto}
.cookie .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cookie .btns .btn{min-height:44px;padding:10px 8px}
.cookie .btn--primary{background:transparent;color:var(--ink-fg);border-color:#45556D;box-shadow:none}
.cookie .btn--ghost{border-color:#45556D}
.nav__burger{width:46px;height:46px}
.nav.is-open .nav__panel{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:1051px){.nav__panel{margin-left:auto}}
@media(max-width:1050px){
  .hero--home .hero__in{grid-template-columns:1fr;gap:32px}
  .hero--home .hero__copy{max-width:680px}
  .hero--home .closure{max-width:680px;width:100%}
  .foot{padding-bottom:110px}
  body[data-page='/contacto'] .foot,body[data-page='/security-profile'] .foot{padding-bottom:32px}
}
@media(max-width:860px){
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .contact-intro,.contact-form,.contact-details{grid-column:auto;grid-row:auto}
  .contact-intro>.lede{margin-bottom:0}
  .contact-details .reassure{margin-top:0}
}
@media(max-width:640px){
  :root{--pad:20px;--sec:56px}
  body{font-size:16px;line-height:1.65}
  .nav__in{height:68px}
  .nav.is-open .nav__panel{top:68px;max-height:calc(100dvh - 68px);padding-bottom:24px}
  .nav .brand img{height:34px}
  h2{font-size:clamp(1.7rem,7.3vw,2.2rem);line-height:1.14;text-wrap:balance}
  .section--tight{padding-block:48px}
  .head{margin-bottom:26px}
  .head .lede{margin-top:16px}
  .kicker{font-size:.67rem;letter-spacing:.14em;margin-bottom:16px}
  .hero--home{padding-top:34px;padding-bottom:40px}
  .hero--home h1.hero__seo{font-size:clamp(2rem,8.8vw,2.7rem);line-height:1.08;text-wrap:initial}
  .hero--home .hero__claim{font-size:1rem;margin:16px 0}
  .hero--home .hero__steps{font-size:.61rem;gap:7px 10px;letter-spacing:.02em}
  .hero--home .lede{font-size:1rem;line-height:1.6;margin-bottom:20px}
  .hero--home .btns{gap:4px}
  .hero--home .hero__note{margin-top:12px}
  .hero--home .closure__col{padding:20px 14px}
  .hero--home .closure__bar>span:not(.closure__live){letter-spacing:0}
  .hero--home .metric__n{font-size:2.2rem}
  .hero--home .closure__foot{gap:8px 16px}
  .btns>.btn{width:100%}
  .btn--lg{font-size:.97rem;padding:15px 18px;min-height:52px}
  .quote{padding:22px;gap:12px;border-radius:14px}
  .quote p{margin:0}
  .quote__q{font-size:1.16rem;line-height:1.35}
  .quote__a{padding-top:6px;min-height:38px}
  .grid{gap:14px}
  .card,.fork,.deliver{padding:22px}
  .cycle{gap:18px}
  .cycle__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0}
  .cycle__btn{min-height:52px;padding:12px 10px;gap:8px;border:1px solid var(--line-c);border-radius:8px}
  .cycle__btn .l{font-size:.87rem}
  .cycle__btn .n{font-size:.62rem;width:auto}
  .cycle__btn .k,.cycle__btn::before{display:none}
  .cycle__btn:hover,.cycle__btn[aria-selected='true']{padding-left:10px}
  .cycle__btn[aria-selected='true']{border-color:var(--accent-line);background:var(--accent-dim)}
  .cycle__panel{padding:24px;min-height:280px}
  .cycle__panel .lede{font-size:.97rem}
  .tag{font-size:.64rem;letter-spacing:.03em}
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}
  .foot__grid>div:first-child{grid-column:1 / -1}
  .foot ul{gap:0}
  .foot li a{display:flex;align-items:center;min-height:44px;font-size:.87rem;overflow-wrap:anywhere}
  .foot h4{margin-bottom:8px}
  .foot__bot{gap:8px 18px}
  .foot__bot a{min-height:44px;display:inline-flex;align-items:center}
  .foot__bot>.mono{margin-left:0!important;font-size:.6rem!important}
  .cookie{left:12px;right:12px;padding:16px;border-radius:16px}
  .cookie p{font-size:.81rem;line-height:1.5;margin-bottom:12px}
  .cookie .btns .btn{width:auto;font-size:.8rem}
  .phero{padding-block:34px}
  .phero h1{font-size:clamp(1.85rem,8vw,2.5rem);line-height:1.12;overflow-wrap:anywhere}
  .phero .lede{font-size:1rem}
  .contact-intro h1{font-size:clamp(1.9rem,8vw,2.4rem)!important;line-height:1.13}
  .contact-intro>.lede{font-size:1rem;margin-top:18px!important}
  .contact-form .deliver{border-color:#2B4254;border-radius:18px;background:linear-gradient(160deg,#101E2A,#0C1220 50%)}
  .contact-form .deliver h4{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em;text-transform:none;color:var(--text)}
  .field input,.field select{min-height:50px}
  .consent{min-height:44px;color:var(--ink-fg-2)}
  .consent input{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){.mobar{transition:none}}
