
/* v1.20 — páginas interiores públicas alineadas visualmente con la portada */
body.inner-page{background:#fff;color:var(--navy)}
body.inner-page .landing{min-height:100vh}
body.inner-page .center-content{
  justify-content:flex-start;
  padding-top:42px;
  padding-bottom:180px;
}
body.inner-page .main-logo{
  width:112px;
  max-width:24%;
  margin:4px auto 14px;
}
body.inner-page .brand-name{
  margin:0 0 12px;
  font-size:clamp(2.2rem,3vw,3.55rem);
}
body.inner-page .inner-wrap{
  width:min(100%,760px);
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-top:48px;
}
body.inner-page .inner-title{
  margin:0;
  max-width:720px;
  text-align:center;
  font-size:clamp(1.9rem,2.5vw,3rem);
  line-height:1.08;
  letter-spacing:-.04em;
  color:var(--brand-dark);
}
body.inner-page .inner-subtitle{
  max-width:620px;
  margin:12px auto 22px;
  text-align:center;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.45;
}
body.inner-page .language-grid{
  width:min(100%,540px);
  margin-bottom:18px;
}
body.inner-page .back-link{
  width:min(100%,720px);
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  color:#454348;
  font-weight:800;
  font-size:.96rem;
}
body.inner-page .card-panel,
body.inner-page .form-box,
body.inner-page .privacy-panel,
body.inner-page .success-panel{
  width:min(100%,720px);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(214,214,210,.9);
  border-radius:24px;
  padding:26px;
  box-shadow:0 18px 40px rgba(7,91,58,.08);
  backdrop-filter:blur(2px);
}
body.inner-page .form-box{padding:24px}
body.inner-page .success-panel{text-align:center}
body.inner-page .options{
  width:min(100%,560px);
  display:grid;
  gap:14px;
}
body.inner-page .option{
  display:grid;
  grid-template-columns:58px 1fr 22px;
  gap:15px;
  align-items:center;
  padding:18px 20px;
  border-radius:20px;
  text-decoration:none;
  font-size:1.08rem;
  font-weight:850;
  border:1px solid transparent;
  box-shadow:0 8px 22px rgba(56,70,58,.035);
  transition:.18s ease;
}
body.inner-page .option:hover{transform:translateY(-2px)}
body.inner-page .option .icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:1.7rem}
body.inner-page .option.suggestion{background:#e8f6ed;color:#125f3f} body.inner-page .option.suggestion .icon{background:#d4efde}
body.inner-page .option.problem{background:#fff0e4;color:#9a4a00} body.inner-page .option.problem .icon{background:#ffe2c6}
body.inner-page .option.serious{background:#fff3dd;color:#a55400} body.inner-page .option.serious .icon{background:#ffe8c1}
body.inner-page .option.delegate{background:#f0f9e6;color:#376d10} body.inner-page .option.delegate .icon{background:#e1f5c8}
body.inner-page .microcopy{
  margin-top:18px;
  text-align:center;
  color:#7b838c;
  font-size:.9rem;
}
body.inner-page .microcopy a{text-decoration:none;color:#5d6570}
body.inner-page label.section-label{display:block;font-size:1.08rem;font-weight:850;margin:20px 0 10px}
body.inner-page textarea,
body.inner-page input[type="text"],
body.inner-page input[type="tel"],
body.inner-page input[type="password"],
body.inner-page input[type="email"],
body.inner-page select{
  width:100%;
  border:1px solid #D6D6D2;
  border-radius:13px;
  padding:14px 15px;
  color:var(--brand-dark);
  background:#fff;
}
body.inner-page textarea{min-height:145px;resize:vertical}
body.inner-page .categories{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
body.inner-page .cat input{display:none}
body.inner-page .cat span{display:flex;min-height:78px;align-items:center;justify-content:center;text-align:center;border:1px solid #D6D6D2;border-radius:14px;padding:8px;background:#fff;font-weight:750;font-size:.89rem}
body.inner-page .cat input:checked+span{border-color:var(--green);background:#ebf6f0;box-shadow:0 0 0 1px rgba(13,123,79,.15)}
body.inner-page .upload{border:1px solid #D6D6D2;border-radius:14px;padding:14px;background:#fff}
body.inner-page .mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.inner-page .mode input{display:none}
body.inner-page .mode span{display:block;border:1px solid #D6D6D2;border-radius:15px;padding:15px;min-height:108px;background:#fff}
body.inner-page .mode strong{display:block;font-size:1.05rem;margin-bottom:5px}
body.inner-page .mode small{color:#68717b;line-height:1.35}
body.inner-page .mode input:checked+span{border-color:var(--brand-orange);background:#fff0f1}
body.inner-page .contact-fields{display:none;gap:10px;margin-top:10px}
body.inner-page .contact-fields.show{display:grid}
body.inner-page .notice{font-size:.86rem;color:#69727c;background:#f6f8f8;border-radius:10px;padding:10px 12px;margin:10px 0}
body.inner-page .error-box{width:min(100%,720px);background:#FFF0EF;border:1px solid #F2C4BF;color:#B42318;border-radius:12px;padding:12px;margin:0 0 14px}
body.inner-page .btn{border:none;border-radius:16px;padding:16px 20px;font-weight:850;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:.18s ease}
body.inner-page .btn:hover{transform:translateY(-1px)}
body.inner-page .btn-primary{width:100%;background:var(--brand-dark);color:#fff;box-shadow:0 12px 28px rgba(56,70,58,.20)}
body.inner-page .btn-outline{border:2px solid var(--brand-orange);color:var(--brand-orange-dark);background:#fff;width:100%}
body.inner-page .check{width:132px;height:132px;border-radius:50%;background:#dcf2e3;display:grid;place-items:center;margin:6px auto 18px;color:#15934f;font-size:4rem;font-weight:900;box-shadow:inset 0 0 0 12px rgba(255,255,255,.35)}
body.inner-page .refbox{background:#f6f8f9;border:1px solid #e0e5e8;border-radius:16px;padding:20px;margin:20px 0}
body.inner-page .ref{font-size:2.8rem;font-weight:900;color:var(--brand-orange-dark);letter-spacing:.02em}
body.inner-page .privacy-panel{line-height:1.65}
body.inner-page .privacy-panel h2{margin-top:0}
body.inner-page .privacy-panel h3{margin-bottom:6px}
body.inner-page.rtl .top-script{right:auto;left:46px;transform:rotate(7deg)}
body.inner-page.rtl .privacy-link{right:auto;left:16px}
body.inner-page.rtl .option{grid-template-columns:22px 1fr 58px}
body.inner-page.rtl .option .icon{order:3}
body.inner-page.rtl .option span:last-child{order:1}
body.inner-page.rtl .back-link{align-self:flex-end}
body.inner-page.rtl .eco-copy{left:auto;right:50%}
@media(max-width:980px){
  body.inner-page .center-content{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(118px,calc(105px + env(safe-area-inset-bottom)))}
  body.inner-page .inner-wrap{width:100%;margin-top:8px}
  body.inner-page .main-logo{width:126px;max-width:36vw;margin:6px auto 16px}
  body.inner-page .brand-name{font-size:clamp(2rem,9vw,2.7rem);margin-bottom:10px}
  body.inner-page .inner-title{max-width:100%;font-size:clamp(1.45rem,6.6vw,2rem)}
  body.inner-page .inner-subtitle{max-width:360px;margin:10px auto 18px;font-size:.99rem}
  body.inner-page .language-grid{width:100%;max-width:520px;gap:9px;margin-bottom:14px}
  body.inner-page .card-panel, body.inner-page .form-box, body.inner-page .privacy-panel, body.inner-page .success-panel{width:100%;padding:18px;border-radius:20px}
  body.inner-page .options{width:100%}
  body.inner-page .back-link{width:100%;margin-bottom:12px}
}
@media(max-width:520px){
  body.inner-page .categories{grid-template-columns:repeat(2,1fr)}
  body.inner-page .mode-grid{grid-template-columns:1fr}
  body.inner-page .option{grid-template-columns:48px 1fr 18px;padding:15px;font-size:1rem}
  body.inner-page .option .icon{width:44px;height:44px}
  body.inner-page .ref{font-size:2.25rem}
}


/* v1.21 — compactación y consistencia de interiores */
@media (min-width:981px){
  body.inner-page,
  body.inner-page html{overflow:hidden}
  body.inner-page .landing{height:100vh;overflow:hidden}
  body.inner-page .center-content{
    min-height:100vh;
    height:100vh;
    padding-top:20px;
    padding-bottom:92px;
  }
  body.inner-page .inner-wrap{
    width:min(100%,700px);
    max-height:calc(100vh - 118px);
    margin-top:0;
  }
  body.inner-page .main-logo{
    width:84px;
    max-width:20%;
    margin:0 auto 10px;
  }
  body.inner-page .brand-name{
    margin:0 0 6px;
    font-size:clamp(1.95rem,2.6vw,2.85rem);
    line-height:1;
  }
  body.inner-page .inner-title{
    font-size:clamp(1.45rem,2vw,2.35rem);
    line-height:1.03;
  }
  body.inner-page .inner-subtitle{
    margin:8px auto 12px;
    font-size:.96rem;
  }
  body.inner-page .language-grid{
    max-width:520px;
    margin-bottom:12px;
  }
  body.inner-page .language-grid a{
    min-height:50px;
    border-radius:13px;
    font-size:.95rem;
  }
  body.inner-page .back-link{
    width:min(100%,680px);
    margin:0 0 8px;
    font-size:.92rem;
  }
  body.inner-page.menu-page .inner-wrap,
  body.inner-page.success-page .inner-wrap,
  body.inner-page.privacy-page .inner-wrap{
    justify-content:flex-start;
  }
  body.inner-page.menu-page .options{
    width:min(100%,520px);
    gap:10px;
  }
  body.inner-page.menu-page .option{
    padding:14px 18px;
    font-size:1rem;
    border-radius:18px;
  }
  body.inner-page.menu-page .option .icon{
    width:44px;height:44px;font-size:1.45rem;border-radius:14px;
  }
  body.inner-page.form-page .inner-wrap{width:min(100%,680px)}
  body.inner-page .form-box,
  body.inner-page .privacy-panel{
    scrollbar-gutter:stable;
  }
  body.inner-page.form-page .form-box{
    width:min(100%,680px);
    max-height:calc(100vh - 318px);
    overflow-y:auto;
    padding:18px 18px 16px;
  }
  body.inner-page.privacy-page .privacy-panel{
    width:min(100%,720px);
    max-height:calc(100vh - 320px);
    overflow-y:auto;
    padding:22px 24px;
  }
  body.inner-page.success-page .success-panel{
    width:min(100%,620px);
    padding:22px;
  }
  body.inner-page label.section-label{
    margin:14px 0 8px;
    font-size:1rem;
  }
  body.inner-page textarea{
    min-height:108px;
  }
  body.inner-page .categories{gap:8px}
  body.inner-page .cat span{
    min-height:58px;
    font-size:.84rem;
    line-height:1.2;
    padding:6px;
  }
  body.inner-page .upload{
    padding:10px 12px;
  }
  body.inner-page .mode-grid{gap:8px}
  body.inner-page .mode span{
    min-height:84px;
    padding:12px;
  }
  body.inner-page .mode strong{font-size:1rem}
  body.inner-page .mode small{font-size:.94rem;line-height:1.3}
  body.inner-page .contact-fields.show{grid-template-columns:1fr 1fr}
  body.inner-page .notice{
    padding:9px 11px;
    margin:8px 0;
    font-size:.82rem;
  }
  body.inner-page .btn{
    padding:14px 18px;
  }
  body.inner-page .check{width:110px;height:110px;font-size:3.3rem;margin-bottom:14px}
  body.inner-page .refbox{padding:16px;margin:16px 0}
  body.inner-page .ref{font-size:2.25rem}
  body.inner-page .form-box::-webkit-scrollbar,
  body.inner-page .privacy-panel::-webkit-scrollbar{width:10px}
  body.inner-page .form-box::-webkit-scrollbar-thumb,
  body.inner-page .privacy-panel::-webkit-scrollbar-thumb{background:rgba(7,91,58,.25);border-radius:999px;border:2px solid rgba(255,255,255,.5)}
  body.inner-page .form-box::-webkit-scrollbar-track,
  body.inner-page .privacy-panel::-webkit-scrollbar-track{background:transparent}
}


/* v1.22 — revisión fina página por página */
body.inner-page .inner-wrap{gap:0}
body.inner-page.menu-page .inner-title,
body.inner-page.success-page .inner-title,
body.inner-page.privacy-page .inner-title,
body.inner-page.form-page .inner-title{letter-spacing:-.045em}
body.inner-page.form-page .error-box{margin-bottom:12px}
body.inner-page .form-box{display:flex;flex-direction:column}
body.inner-page .form-actions{margin-top:14px}
body.inner-page .form-actions .btn{width:100%}
@media (min-width:981px){
  body.inner-page .inner-wrap{width:min(100%,690px)}
  body.inner-page.menu-page .inner-wrap,
  body.inner-page.success-page .inner-wrap{width:min(100%,620px)}
  body.inner-page.form-page .inner-wrap,
  body.inner-page.privacy-page .inner-wrap{width:min(100%,690px)}

  body.inner-page.menu-page .main-logo,
  body.inner-page.form-page .main-logo,
  body.inner-page.success-page .main-logo,
  body.inner-page.privacy-page .main-logo{width:82px}

  body.inner-page.menu-page .brand-name,
  body.inner-page.form-page .brand-name,
  body.inner-page.success-page .brand-name,
  body.inner-page.privacy-page .brand-name{font-size:clamp(1.9rem,2.55vw,2.8rem)}

  body.inner-page.menu-page .inner-title,
  body.inner-page.form-page .inner-title,
  body.inner-page.success-page .inner-title,
  body.inner-page.privacy-page .inner-title{font-size:clamp(1.6rem,2.2vw,2.65rem)}

  body.inner-page.menu-page .inner-subtitle,
  body.inner-page.form-page .inner-subtitle,
  body.inner-page.success-page .inner-subtitle,
  body.inner-page.privacy-page .inner-subtitle{margin:8px auto 10px;font-size:.94rem}

  body.inner-page.menu-page .options{width:min(100%,500px)}
  body.inner-page.menu-page .option{padding:13px 16px;font-size:.98rem}

  body.inner-page.form-page .back-link,
  body.inner-page.privacy-page .back-link{margin-bottom:6px}
  body.inner-page.form-page .language-grid,
  body.inner-page.menu-page .language-grid,
  body.inner-page.success-page .language-grid,
  body.inner-page.privacy-page .language-grid{margin-bottom:10px}

  body.inner-page.form-page .form-box{
    width:min(100%,670px);
    max-height:calc(100vh - 286px);
    padding:16px 16px 14px;
    border-radius:22px;
  }
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box{
    max-height:calc(100vh - 300px);
  }
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 264px);
  }
  body.inner-page.form-page textarea{min-height:90px;padding:12px 14px}
  body.inner-page.form-page .categories{gap:7px}
  body.inner-page.form-page .cat span{min-height:52px;font-size:.82rem}
  body.inner-page.form-page .upload{padding:10px 10px 8px}
  body.inner-page.form-page .mode span{min-height:76px;padding:11px}
  body.inner-page.form-page .mode strong{font-size:.97rem}
  body.inner-page.form-page .mode small{font-size:.88rem;line-height:1.22}
  body.inner-page.form-page input[type="text"],
  body.inner-page.form-page input[type="tel"],
  body.inner-page.form-page input[type="email"],
  body.inner-page.form-page input[type="password"],
  body.inner-page.form-page select{padding:12px 13px}
  body.inner-page.form-page .notice{font-size:.8rem;line-height:1.28}
  body.inner-page.form-page .form-actions{
    position:sticky;
    bottom:-14px;
    padding-top:12px;
    margin-top:12px;
    background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.88) 22%, rgba(255,255,255,.98) 50%);
  }
  body.inner-page.form-page .btn-primary{box-shadow:0 10px 22px rgba(56,70,58,.18)}

  body.inner-page.privacy-page .privacy-panel{
    width:min(100%,690px);
    max-height:calc(100vh - 270px);
    padding:18px 20px;
    border-radius:22px;
  }
  body.inner-page.privacy-page .privacy-panel h2{font-size:1.2rem;margin-bottom:6px}
  body.inner-page.privacy-page .privacy-panel h3{font-size:1rem;margin-top:12px}
  body.inner-page.privacy-page .privacy-panel p{margin:0 0 10px;font-size:.94rem;line-height:1.5}

  body.inner-page.success-page .success-panel{width:min(100%,540px);padding:20px;border-radius:22px}
  body.inner-page.success-page .refbox{margin:14px 0 12px}
  body.inner-page.success-page .btn{padding:13px 18px}
}
@media (max-width:980px){
  body.inner-page.form-page .back-link,
  body.inner-page.privacy-page .back-link{margin-bottom:10px}
  body.inner-page.form-page .form-box,
  body.inner-page.privacy-page .privacy-panel,
  body.inner-page.success-page .success-panel{box-shadow:0 14px 30px rgba(7,91,58,.07)}
  body.inner-page.form-page .form-actions{margin-top:12px}
}
@media (max-width:520px){
  body.inner-page.form-page .brand-name,
  body.inner-page.success-page .brand-name,
  body.inner-page.privacy-page .brand-name,
  body.inner-page.menu-page .brand-name{font-size:clamp(2rem,8.8vw,2.55rem)}
  body.inner-page.form-page .inner-title,
  body.inner-page.menu-page .inner-title,
  body.inner-page.success-page .inner-title,
  body.inner-page.privacy-page .inner-title{font-size:clamp(1.55rem,7vw,2rem)}
  body.inner-page.form-page textarea{min-height:110px}
  body.inner-page.form-page .form-box{padding:16px}
}


/* v1.23 — ajuste milimétrico de balance vertical y respiración visual */
@media (min-width:981px){
  body.inner-page .center-content{
    justify-content:flex-start;
    padding-top:72px;
    padding-bottom:136px;
  }
  body.inner-page .inner-wrap{
    max-height:calc(100vh - 176px);
    margin-top:24px;
  }
  body.inner-page.menu-page .inner-wrap,
  body.inner-page.success-page .inner-wrap{
    margin-top:38px;
  }
  body.inner-page.form-page .inner-wrap,
  body.inner-page.privacy-page .inner-wrap{
    margin-top:20px;
  }
  body.inner-page.form-page .back-link,
  body.inner-page.privacy-page .back-link{
    margin-bottom:10px;
  }
  body.inner-page.menu-page .main-logo,
  body.inner-page.form-page .main-logo,
  body.inner-page.success-page .main-logo,
  body.inner-page.privacy-page .main-logo{
    margin-bottom:12px;
  }
  body.inner-page.menu-page .brand-name,
  body.inner-page.form-page .brand-name,
  body.inner-page.success-page .brand-name,
  body.inner-page.privacy-page .brand-name{
    margin-bottom:8px;
  }
  body.inner-page.menu-page .inner-subtitle,
  body.inner-page.form-page .inner-subtitle,
  body.inner-page.success-page .inner-subtitle,
  body.inner-page.privacy-page .inner-subtitle{
    margin:9px auto 12px;
  }
  body.inner-page.menu-page .language-grid,
  body.inner-page.form-page .language-grid,
  body.inner-page.success-page .language-grid,
  body.inner-page.privacy-page .language-grid{
    margin-bottom:12px;
  }
  body.inner-page.menu-page .options{gap:12px}
  body.inner-page.menu-page .option{padding:14px 16px}
  body.inner-page.form-page .form-box{
    max-height:calc(100vh - 312px);
  }
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box{
    max-height:calc(100vh - 326px);
  }
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 292px);
  }
  body.inner-page.privacy-page .privacy-panel{
    max-height:calc(100vh - 292px);
  }
  body.inner-page.success-page .success-panel{
    width:min(100%,530px);
  }
}

@media (max-width:980px){
  body.inner-page .center-content{
    padding-top:max(30px,env(safe-area-inset-top));
    padding-bottom:max(124px,calc(108px + env(safe-area-inset-bottom)));
  }
  body.inner-page .inner-wrap{margin-top:16px}
  body.inner-page.menu-page .inner-wrap,
  body.inner-page.success-page .inner-wrap{margin-top:22px}
  body.inner-page.form-page .inner-wrap,
  body.inner-page.privacy-page .inner-wrap{margin-top:10px}
}

@media (max-width:520px){
  body.inner-page.menu-page .inner-wrap,
  body.inner-page.success-page .inner-wrap{margin-top:18px}
  body.inner-page .inner-subtitle{margin-bottom:16px}
}


/* v1.24 — compatibilidad vertical Chrome/Safari en formularios */
@media (min-width:981px){
  /* Evita que Chrome cree un segundo scroll dentro del formulario */
  body.inner-page.form-page .form-box{
    overflow:visible;
    max-height:none;
    scrollbar-gutter:auto;
  }
  body.inner-page.form-page .form-actions{
    position:static;
    padding-top:0;
    margin-top:12px;
    background:none;
  }
  /* Mantiene el pie decorativo por debajo del formulario */
  body.inner-page.form-page .eco-copy{
    bottom:28px;
    z-index:0;
  }
  body.inner-page.form-page .eco-decoration,
  body.inner-page.form-page .privacy-link{
    z-index:1;
  }
  body.inner-page.form-page .inner-wrap{z-index:2}
}

/* Ventanas de poca altura (caso Chrome con barra/viewport útil menor) */
@media (min-width:981px) and (max-height:860px){
  body.inner-page.form-page .center-content{
    padding-top:34px;
    padding-bottom:96px;
  }
  body.inner-page.form-page .inner-wrap{
    margin-top:6px;
    width:min(100%,650px);
    max-height:none;
  }
  body.inner-page.form-page .back-link{
    margin-bottom:4px;
    font-size:.86rem;
  }
  body.inner-page.form-page .main-logo{
    width:66px;
    margin-bottom:6px;
  }
  body.inner-page.form-page .brand-name{
    font-size:clamp(1.65rem,2.2vw,2.25rem);
    margin-bottom:4px;
  }
  body.inner-page.form-page .inner-title{
    font-size:clamp(1.35rem,1.9vw,2rem);
    line-height:1.02;
  }
  body.inner-page.form-page .inner-subtitle{
    margin:5px auto 7px;
    font-size:.84rem;
  }
  body.inner-page.form-page .language-grid{
    max-width:500px;
    margin-bottom:8px;
    gap:8px;
  }
  body.inner-page.form-page .language-grid a{
    min-height:42px;
    padding:6px;
    font-size:.88rem;
    border-radius:12px;
  }
  body.inner-page.form-page .form-box{
    width:min(100%,650px);
    padding:12px 14px 12px;
    border-radius:20px;
  }
  body.inner-page.form-page textarea{
    min-height:74px;
    padding:10px 12px;
    font-size:.9rem;
  }
  body.inner-page.form-page label.section-label{
    margin:9px 0 6px;
    font-size:.91rem;
  }
  body.inner-page.form-page .categories{gap:6px}
  body.inner-page.form-page .cat span{
    min-height:42px;
    font-size:.76rem;
    line-height:1.1;
    border-radius:11px;
    padding:5px;
  }
  body.inner-page.form-page .upload{
    padding:7px 9px 6px;
    border-radius:12px;
  }
  body.inner-page.form-page .upload input[type=file]{font-size:.78rem}
  body.inner-page.form-page .notice{
    margin:6px 0;
    padding:6px 9px;
    font-size:.73rem;
    line-height:1.22;
  }
  body.inner-page.form-page .mode-grid{gap:7px}
  body.inner-page.form-page .mode span{
    min-height:62px;
    padding:8px 10px;
    border-radius:12px;
  }
  body.inner-page.form-page .mode strong{
    font-size:.88rem;
    margin-bottom:2px;
  }
  body.inner-page.form-page .mode small{
    font-size:.76rem;
    line-height:1.18;
  }
  body.inner-page.form-page .contact-fields{
    gap:7px;
    margin-top:7px;
  }
  body.inner-page.form-page input[type="text"],
  body.inner-page.form-page input[type="tel"]{
    padding:9px 10px;
    font-size:.82rem;
  }
  body.inner-page.form-page .form-actions{
    margin-top:8px;
  }
  body.inner-page.form-page .btn{
    padding:10px 14px;
    border-radius:13px;
    font-size:.9rem;
  }
  body.inner-page.form-page .eco-copy{
    bottom:18px;
    font-size:.76rem;
  }
}

@media (min-width:981px) and (max-height:720px){
  body.inner-page.form-page .center-content{padding-top:22px;padding-bottom:78px}
  body.inner-page.form-page .main-logo{width:56px}
  body.inner-page.form-page .brand-name{font-size:1.75rem}
  body.inner-page.form-page .inner-title{font-size:1.5rem}
  body.inner-page.form-page .form-box{padding:10px 12px}
  body.inner-page.form-page textarea{min-height:62px}
  body.inner-page.form-page .cat span{min-height:38px}
  body.inner-page.form-page .mode span{min-height:56px}
  body.inner-page.form-page .eco-copy{display:none}
}


/* v1.25 — normalización visual final Chrome/Safari en interiores */
@media (min-width:981px){
  body.inner-page.form-page .center-content{
    justify-content:flex-start;
    padding-top:56px;
    padding-bottom:118px;
  }
  body.inner-page.form-page .inner-wrap{
    width:min(100%,650px);
    max-height:none;
    margin-top:10px;
    z-index:2;
  }
  body.inner-page.form-page .back-link{
    width:min(100%,650px);
    margin:0 0 6px;
    font-size:.9rem;
  }
  body.inner-page.form-page .main-logo{
    width:72px;
    max-width:18%;
    margin:0 auto 8px;
  }
  body.inner-page.form-page .brand-name{
    margin:0 0 6px;
    font-size:clamp(1.8rem,2.25vw,2.5rem);
    line-height:1;
  }
  body.inner-page.form-page .inner-title{
    font-size:clamp(1.55rem,1.95vw,2.18rem);
    line-height:1.03;
  }
  body.inner-page.form-page .inner-subtitle{
    margin:6px auto 8px;
    font-size:.9rem;
  }
  body.inner-page.form-page .language-grid{
    width:min(100%,500px);
    gap:8px;
    margin-bottom:10px;
  }
  body.inner-page.form-page .language-grid a{
    min-height:44px;
    padding:6px 8px;
    border-radius:12px;
    font-size:.88rem;
  }
  body.inner-page.form-page .form-box{
    width:min(100%,640px);
    max-height:none;
    overflow:visible;
    scrollbar-gutter:auto;
    padding:14px;
    border-radius:22px;
    box-shadow:0 16px 34px rgba(7,91,58,.07);
  }
  body.inner-page.form-page textarea{
    min-height:84px;
    padding:11px 13px;
    font-size:.9rem;
  }
  body.inner-page.form-page label.section-label{
    margin:11px 0 6px;
    font-size:.95rem;
  }
  body.inner-page.form-page .categories{
    gap:7px;
  }
  body.inner-page.form-page .cat span{
    min-height:48px;
    padding:5px 6px;
    border-radius:12px;
    font-size:.8rem;
    line-height:1.15;
  }
  body.inner-page.form-page .upload{
    padding:9px 10px 8px;
    border-radius:12px;
  }
  body.inner-page.form-page .upload input[type=file]{
    font-size:.84rem;
  }
  body.inner-page.form-page .mode-grid{
    gap:8px;
  }
  body.inner-page.form-page .mode span{
    min-height:72px;
    padding:10px 11px;
    border-radius:14px;
  }
  body.inner-page.form-page .mode strong{
    font-size:.95rem;
    margin-bottom:3px;
  }
  body.inner-page.form-page .mode small{
    font-size:.84rem;
    line-height:1.22;
  }
  body.inner-page.form-page .contact-fields{
    gap:8px;
    margin-top:8px;
  }
  body.inner-page.form-page .contact-fields.show{
    grid-template-columns:1fr 1fr;
  }
  body.inner-page.form-page input[type="text"],
  body.inner-page.form-page input[type="tel"],
  body.inner-page.form-page input[type="email"],
  body.inner-page.form-page input[type="password"],
  body.inner-page.form-page select{
    padding:10px 11px;
    font-size:.84rem;
  }
  body.inner-page.form-page .notice{
    margin:8px 0 0;
    padding:8px 10px;
    font-size:.78rem;
    line-height:1.24;
  }
  body.inner-page.form-page .form-actions{
    position:static;
    margin-top:10px;
    padding-top:0;
    background:none;
  }
  body.inner-page.form-page .btn{
    padding:12px 16px;
    border-radius:14px;
    font-size:.94rem;
  }
  body.inner-page.form-page .btn-primary{
    box-shadow:0 10px 22px rgba(56,70,58,.16);
  }
  body.inner-page.form-page .eco-copy{
    bottom:14px;
    font-size:.78rem;
    z-index:0;
  }
  body.inner-page.form-page .eco-decoration{
    bottom:-10px;
    width:200px;
    z-index:0;
  }
  body.inner-page.form-page .privacy-link{
    bottom:12px;
    z-index:1;
  }
  body.inner-page.form-page .inner-wrap{z-index:2}
}

@media (min-width:981px) and (max-height:930px){
  body.inner-page.form-page .center-content{
    padding-top:42px;
    padding-bottom:98px;
  }
  body.inner-page.form-page .inner-wrap{
    width:min(100%,630px);
    margin-top:4px;
  }
  body.inner-page.form-page .back-link{
    margin-bottom:4px;
    font-size:.86rem;
  }
  body.inner-page.form-page .main-logo{
    width:64px;
    margin-bottom:6px;
  }
  body.inner-page.form-page .brand-name{
    font-size:clamp(1.65rem,2.05vw,2.2rem);
    margin-bottom:4px;
  }
  body.inner-page.form-page .inner-title{
    font-size:clamp(1.42rem,1.8vw,1.95rem);
  }
  body.inner-page.form-page .inner-subtitle{
    margin:4px auto 7px;
    font-size:.84rem;
  }
  body.inner-page.form-page .language-grid{
    width:min(100%,480px);
    gap:7px;
    margin-bottom:8px;
  }
  body.inner-page.form-page .language-grid a{
    min-height:40px;
    font-size:.84rem;
  }
  body.inner-page.form-page .form-box{
    width:min(100%,620px);
    padding:12px;
    border-radius:20px;
  }
  body.inner-page.form-page textarea{
    min-height:74px;
    padding:10px 12px;
    font-size:.86rem;
  }
  body.inner-page.form-page label.section-label{
    margin:9px 0 6px;
    font-size:.9rem;
  }
  body.inner-page.form-page .cat span{
    min-height:42px;
    font-size:.76rem;
  }
  body.inner-page.form-page .upload{
    padding:8px 9px 7px;
  }
  body.inner-page.form-page .upload input[type=file]{
    font-size:.78rem;
  }
  body.inner-page.form-page .mode span{
    min-height:66px;
    padding:9px 10px;
  }
  body.inner-page.form-page .mode strong{
    font-size:.9rem;
  }
  body.inner-page.form-page .mode small{
    font-size:.78rem;
    line-height:1.18;
  }
  body.inner-page.form-page input[type="text"],
  body.inner-page.form-page input[type="tel"]{
    padding:9px 10px;
    font-size:.8rem;
  }
  body.inner-page.form-page .notice{
    padding:7px 9px;
    font-size:.74rem;
  }
  body.inner-page.form-page .form-actions{
    margin-top:8px;
  }
  body.inner-page.form-page .btn{
    padding:10px 14px;
    font-size:.88rem;
  }
  body.inner-page.form-page .eco-copy{
    bottom:12px;
    font-size:.74rem;
  }
}


/* v1.35 — portátiles de poca altura: ningún CTA queda fuera del viewport.
   En desktop compacto el formulario se convierte en el único panel desplazable,
   manteniendo el botón de envío siempre accesible y sin mover la composición lateral. */
@media (min-width:981px) and (max-height:950px){
  body.inner-page.form-page .form-box{
    max-height:calc(100vh - 300px);
    max-height:calc(100dvh - 300px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
  }
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box{
    max-height:calc(100vh - 314px);
    max-height:calc(100dvh - 314px);
  }
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 282px);
    max-height:calc(100dvh - 282px);
  }
  body.inner-page.form-page .form-actions{
    position:sticky;
    bottom:-2px;
    z-index:8;
    margin:8px -2px -2px;
    padding:10px 2px 2px;
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.94) 32%,#fff 58%);
  }
  body.inner-page.form-page .btn-primary{
    box-shadow:0 8px 20px rgba(56,70,58,.18);
  }
}

/* Alturas especialmente reducidas (1366×768, 1280×720 y equivalentes con barras del navegador). */
@media (min-width:981px) and (max-height:800px){
  body.inner-page.form-page .center-content{padding-top:24px;padding-bottom:72px}
  body.inner-page.form-page .inner-wrap{margin-top:0}
  body.inner-page.form-page .back-link{margin-bottom:2px}
  body.inner-page.form-page .main-logo{width:54px;margin-bottom:4px}
  body.inner-page.form-page .brand-name{font-size:1.65rem;margin-bottom:2px}
  body.inner-page.form-page .inner-title{font-size:1.42rem}
  body.inner-page.form-page .inner-subtitle{margin:2px auto 5px}
  body.inner-page.form-page .language-grid{margin-bottom:6px}
  body.inner-page.form-page .language-grid a{min-height:36px}
  body.inner-page.form-page .form-box,
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box,
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 238px);
    max-height:calc(100dvh - 238px);
  }
  body.inner-page.form-page .eco-copy{display:none}
}

/* v1.38 — recuperación de la estabilidad visual de v1.36 + mejoras accesibles sin regresiones. */
body.inner-page .menu-home-back{
  color:var(--brand-dark);
  text-decoration:none;
}
/* El enlace del logo no debe convertirse en el contenedor de referencia de max-width (%),
   que fue lo que redujo el isotipo en v1.37. */
body.inner-page .menu-logo-link{
  display:flex;
  justify-content:center;
  align-items:center;
  align-self:center;
  width:auto;
  text-decoration:none;
  line-height:0;
}
body.inner-page.menu-page .menu-logo-link .main-logo{
  max-width:none;
}
body.inner-page .form-context{
  width:min(100%,640px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  margin:0 auto 10px;
  padding:8px 12px;
  border:1px solid rgba(7,91,58,.13);
  border-radius:999px;
  background:rgba(241,248,244,.94);
  color:#597066;
  font-size:.84rem;
  line-height:1.2;
}
body.inner-page .form-context strong{color:var(--brand-dark);font-weight:850}
body.inner-page .form-context-problema{background:#fff8f1;border-color:rgba(255,101,0,.18)}
body.inner-page .form-context-grave{background:#fff8e9;border-color:rgba(199,111,0,.18)}
body.inner-page .form-context-delegado{background:#f3faea;border-color:rgba(79,132,27,.18)}

/* iOS/Safari hace zoom automático si el control enfocado usa menos de 16px. */
@media (max-width:980px){
  body.inner-page textarea,
  body.inner-page input[type="text"],
  body.inner-page input[type="tel"],
  body.inner-page input[type="email"],
  body.inner-page input[type="password"],
  body.inner-page input[type="search"],
  body.inner-page input[type="number"],
  body.inner-page select{font-size:16px !important}

  /* Mismo porte del logo que la v1.36, aun estando dentro de un enlace. */
  body.inner-page.menu-page .menu-logo-link{width:min(126px,36vw)}
  body.inner-page.menu-page .menu-logo-link .main-logo{
    width:100%;
    max-width:none;
    margin:6px auto 16px;
  }
  body.inner-page .form-context{
    width:100%;
    margin:-2px auto 10px;
    padding:9px 12px;
    font-size:.88rem;
  }
  body.inner-page.menu-page .menu-home-back{
    width:auto;
    align-self:flex-start;
    margin:0 0 4px;
    padding:7px 2px;
    font-size:.9rem;
  }
}
@media (max-width:520px){
  body.inner-page .form-context{
    justify-content:flex-start;
    border-radius:14px;
    font-size:.86rem;
  }
}

/* Desktop: mantener exactamente el porte estable del logo de v1.36. */
@media (min-width:981px){
  body.inner-page.menu-page .menu-logo-link{width:82px}
  body.inner-page.menu-page .menu-logo-link .main-logo{
    width:82px;
    max-width:none;
    margin:0 auto 12px;
  }
  /* El nuevo contexto ocupa altura real. El panel de formulario se recalcula para que
     el CTA sticky siempre quede dentro del viewport y el scroll ocurra dentro del panel. */
  body.inner-page.form-page .form-box{
    max-height:calc(100vh - 350px);
    max-height:calc(100dvh - 350px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box{
    max-height:calc(100vh - 364px);
    max-height:calc(100dvh - 364px);
  }
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 332px);
    max-height:calc(100dvh - 332px);
  }
  body.inner-page.form-page .form-actions{
    position:sticky;
    bottom:-2px;
    z-index:12;
    flex:0 0 auto;
    margin:8px -2px -2px;
    padding:10px 2px 2px;
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.95) 32%,#fff 58%);
  }
}

/* Portátiles de poca altura: la cabecera + "Estás en" no deben expulsar el CTA del monitor. */
@media (min-width:981px) and (max-height:950px){
  body.inner-page.form-page .form-box{
    max-height:calc(100vh - 340px);
    max-height:calc(100dvh - 340px);
  }
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box{
    max-height:calc(100vh - 354px);
    max-height:calc(100dvh - 354px);
  }
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 322px);
    max-height:calc(100dvh - 322px);
  }
}
@media (min-width:981px) and (max-height:800px){
  body.inner-page.form-page .form-context{
    margin-bottom:6px;
    padding:6px 10px;
    font-size:.78rem;
  }
  body.inner-page.form-page .form-box,
  body.inner-page.form-page.form-page-sugerencia .form-box,
  body.inner-page.form-page.form-page-delegado .form-box,
  body.inner-page.form-page.form-page-problema .form-box,
  body.inner-page.form-page.form-page-grave .form-box{
    max-height:calc(100vh - 286px);
    max-height:calc(100dvh - 286px);
  }
}

/* v1.39 — shell público móvil tipo app, sin alterar desktop estable. */
body.inner-page .option .icon svg{
  width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
body.inner-page .form-logo-link{display:flex;justify-content:center;align-items:center;text-decoration:none;line-height:0}
body.inner-page .form-logo-link .main-logo{max-width:none}

@media (max-width:980px){
  /* Un solo viewport de aplicación: no hay rebotes de página en menú/formularios. */
  html{height:100%;overflow:hidden}
  body.inner-page{height:100%;overflow:hidden;overscroll-behavior:none;background:#e7f1ea}
  body.inner-page .landing{height:100vh;height:100svh;height:100dvh;min-height:0;overflow:hidden}
  body.inner-page .center-content{
    height:100vh;height:100svh;height:100dvh;min-height:0;
    overflow:hidden;
    padding:max(8px,env(safe-area-inset-top)) 14px calc(30px + env(safe-area-inset-bottom));
  }
  body.inner-page .inner-wrap{
    width:100%;height:100%;min-height:0;max-height:none;margin:0;
    display:flex;flex-direction:column;align-items:center;overflow:hidden;
  }

  /* Feedback táctil inmediato. */
  body.inner-page a,body.inner-page button,body.inner-page label{ -webkit-tap-highlight-color:transparent }
  body.inner-page .option,body.inner-page .language-grid a,body.inner-page .back-link{
    touch-action:manipulation;
  }
  body.inner-page .option:active,body.inner-page .option.is-pressed{transform:scale(.975)!important;filter:saturate(1.04)}

  /* MENÚ: dashboard 2x2, sin scroll en retrato normal. */
  body.inner-page.menu-page .inner-wrap{justify-content:flex-start}
  body.inner-page.menu-page .menu-home-back{
    position:absolute;left:14px;top:max(8px,env(safe-area-inset-top));z-index:4;
    margin:0;padding:8px 6px;font-size:.82rem;
  }
  body.inner-page.menu-page .menu-logo-link{width:66px!important;margin-top:12px}
  body.inner-page.menu-page .menu-logo-link .main-logo{width:66px!important;margin:0 auto 5px!important}
  body.inner-page.menu-page .brand-name{font-size:clamp(1.72rem,7.7vw,2.15rem);margin:0 0 3px;line-height:1}
  body.inner-page.menu-page .inner-title{font-size:clamp(1.18rem,5.7vw,1.55rem);margin:0;line-height:1.05}
  body.inner-page.menu-page .inner-subtitle{font-size:.82rem;margin:5px auto 8px;line-height:1.2}
  body.inner-page.menu-page .language-grid{max-width:430px;margin:0 0 10px;gap:7px}
  body.inner-page.menu-page .language-grid a{min-height:42px;border-radius:12px;font-size:.8rem;padding:5px}
  body.inner-page.menu-page .options.app-menu-grid{
    width:min(100%,430px);flex:1;min-height:0;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));
    gap:10px;margin:0 auto 24px;
  }
  body.inner-page.menu-page .option{
    min-width:0;min-height:0;
    grid-template-columns:1fr;grid-template-rows:auto auto;
    align-content:center;justify-items:center;gap:8px;
    padding:12px 8px;border-radius:22px;text-align:center;
    box-shadow:0 10px 24px rgba(7,91,58,.055);
    transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
  }
  body.inner-page.menu-page .option .icon{
    width:56px;height:56px;border-radius:18px;font-size:0;display:grid;place-items:center;
  }
  body.inner-page.menu-page .option .icon svg{width:29px;height:29px;stroke-width:1.85}
  body.inner-page.menu-page .option .option-label{
    display:block;max-width:150px;font-size:.88rem;line-height:1.15;font-weight:850;
  }
  body.inner-page.menu-page .option .option-chevron{display:none}
  body.inner-page.menu-page.rtl .option{grid-template-columns:1fr;grid-template-rows:auto auto}
  body.inner-page.menu-page.rtl .option .icon{order:0}

  /* FORMULARIOS: cabecera fija y solo el panel central desplaza. */
  body.inner-page.form-page .inner-wrap{justify-content:flex-start}
  body.inner-page.form-page .back-link{
    width:auto;align-self:flex-start;flex:0 0 auto;margin:0 0 1px;padding:7px 3px;font-size:.82rem;
  }
  body.inner-page.form-page .form-logo-link{width:54px;flex:0 0 auto;margin:0 auto 3px}
  body.inner-page.form-page .form-logo-link .main-logo{width:54px!important;max-width:none!important;margin:0!important}
  body.inner-page.form-page .brand-name{font-size:1.7rem;margin:0 0 2px;line-height:1}
  /* El contexto ya dice dónde está: evitamos dos líneas redundantes en móvil. */
  body.inner-page.form-page .inner-title,body.inner-page.form-page .inner-subtitle{display:none}
  body.inner-page.form-page .language-grid{width:min(100%,430px);flex:0 0 auto;margin:3px 0 7px;gap:7px}
  body.inner-page.form-page .language-grid a{min-height:40px;border-radius:12px;font-size:.79rem;padding:5px}
  body.inner-page.form-page .form-context{
    width:min(100%,540px);flex:0 0 auto;margin:0 auto 7px;padding:7px 10px;border-radius:12px;
    font-size:.8rem;justify-content:center;
  }
  body.inner-page.form-page .error-box{flex:0 0 auto;width:min(100%,540px);margin:0 0 6px;padding:9px;font-size:.8rem}
  body.inner-page.form-page .form-box{
    width:min(100%,540px)!important;min-height:0!important;max-height:none!important;flex:1 1 auto;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;scrollbar-gutter:auto!important;
    padding:13px 13px 10px!important;border-radius:19px;
  }
  body.inner-page.form-page textarea{min-height:96px}
  body.inner-page.form-page .form-actions{
    position:sticky!important;bottom:-10px!important;z-index:10;
    margin:9px -1px -1px!important;padding:10px 1px 1px!important;
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.96) 35%,#fff 62%)!important;
  }
  body.inner-page.form-page .btn-primary{min-height:48px}
  body.inner-page.form-page .eco-decoration,body.inner-page.form-page .eco-copy{display:none!important}
  body.inner-page.form-page .privacy-link{display:none}

  /* Cambio de vista sin flash; la pantalla actual permanece hasta tener la siguiente lista. */
  body.inner-page .inner-wrap.app-shell-swapping{pointer-events:none}
  body.inner-page .inner-wrap.app-shell-enter{animation:tvcShellIn .15s ease-out both}
  @keyframes tvcShellIn{from{opacity:.72;transform:translateX(7px)}to{opacity:1;transform:none}}
}

@media (max-width:980px) and (max-height:700px) and (orientation:portrait){
  body.inner-page.menu-page .menu-logo-link{width:52px!important;margin-top:4px}
  body.inner-page.menu-page .menu-logo-link .main-logo{width:52px!important}
  body.inner-page.menu-page .brand-name{font-size:1.55rem}
  body.inner-page.menu-page .inner-title{font-size:1.08rem}
  body.inner-page.menu-page .inner-subtitle{display:none}
  body.inner-page.menu-page .language-grid{margin:4px 0 7px}
  body.inner-page.menu-page .language-grid a{min-height:37px}
  body.inner-page.menu-page .options.app-menu-grid{gap:8px;margin-bottom:18px}
  body.inner-page.menu-page .option{border-radius:18px;padding:7px}
  body.inner-page.menu-page .option .icon{width:47px;height:47px;border-radius:15px}
  body.inner-page.menu-page .option .icon svg{width:25px;height:25px}
  body.inner-page.menu-page .option .option-label{font-size:.8rem}

  body.inner-page.form-page .form-logo-link{width:44px;margin-bottom:1px}
  body.inner-page.form-page .form-logo-link .main-logo{width:44px!important}
  body.inner-page.form-page .brand-name{font-size:1.45rem}
  body.inner-page.form-page .language-grid{margin:1px 0 5px}
  body.inner-page.form-page .language-grid a{min-height:36px}
  body.inner-page.form-page .form-context{padding:5px 9px;margin-bottom:5px;font-size:.75rem}
}

@media (max-width:980px) and (orientation:landscape){
  /* En horizontal muy bajo permitimos scroll interno, nunca recortamos acciones. */
  body.inner-page.menu-page .options.app-menu-grid{margin-bottom:14px}
  body.inner-page.form-page .form-logo-link{display:none}
  body.inner-page.form-page .brand-name{font-size:1.35rem}
}

@media (prefers-reduced-motion:reduce){
  body.inner-page .option,body.inner-page .inner-wrap.app-shell-enter{transition:none!important;animation:none!important}
}


/* v1.40 — acabado premium del hub móvil + privacidad móvil desplazable y localizada */
@media (max-width:980px){
  /* Hub: tarjetas con lectura más premium, iconografía más fuerte y jerarquía tipo app. */
  body.inner-page.menu-page .options.app-menu-grid{gap:12px;margin-bottom:22px;padding:1px}
  body.inner-page.menu-page .option{
    position:relative;overflow:hidden;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(7,91,58,.10)!important;
    box-shadow:0 12px 30px rgba(7,91,58,.09),inset 0 1px 0 rgba(255,255,255,.9)!important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    padding:13px 9px 12px!important;
  }
  body.inner-page.menu-page .option::before{
    content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--card-accent,#167a50);opacity:.9;
  }
  body.inner-page.menu-page .option::after{
    content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-40px;top:-42px;
    background:var(--card-wash,rgba(22,122,80,.10));pointer-events:none;
  }
  body.inner-page.menu-page .option.suggestion{--card-accent:#198754;--card-wash:rgba(25,135,84,.12);color:#0f6440}
  body.inner-page.menu-page .option.problem{--card-accent:#ef7d21;--card-wash:rgba(239,125,33,.14);color:#9a4a00}
  body.inner-page.menu-page .option.serious{--card-accent:#d69a1d;--card-wash:rgba(214,154,29,.15);color:#8e5b00}
  body.inner-page.menu-page .option.delegate{--card-accent:#5c9e2f;--card-wash:rgba(92,158,47,.14);color:#376d10}
  body.inner-page.menu-page .option .icon{
    width:60px;height:60px;border-radius:20px!important;
    background:color-mix(in srgb,var(--card-accent) 12%,white)!important;
    border:1px solid color-mix(in srgb,var(--card-accent) 20%,white);
    box-shadow:0 8px 18px color-mix(in srgb,var(--card-accent) 13%,transparent);
    color:var(--card-accent);z-index:1;
  }
  @supports not (background:color-mix(in srgb,red,white)){
    body.inner-page.menu-page .option .icon{background:#f4f8f5!important;border-color:#dce9e1}
  }
  body.inner-page.menu-page .option .icon svg{width:31px;height:31px;stroke-width:2.05}
  body.inner-page.menu-page .option .option-label{z-index:1;font-size:.9rem;line-height:1.18;letter-spacing:-.01em}
  body.inner-page.menu-page .option:active,body.inner-page.menu-page .option.is-pressed{
    transform:scale(.97)!important;box-shadow:0 6px 16px rgba(7,91,58,.08)!important;
  }

  /* Privacidad: misma sensación de app, pero el contenido SIEMPRE puede desplazarse. */
  body.inner-page.privacy-page .inner-wrap{justify-content:flex-start;overflow:hidden;min-height:0}
  body.inner-page.privacy-page .back-link{flex:0 0 auto;width:auto;align-self:flex-start;margin:0 0 4px;padding:7px 3px;font-size:.82rem}
  body.inner-page.privacy-page .main-logo{flex:0 0 auto;width:58px!important;max-width:none!important;margin:0 auto 3px!important}
  body.inner-page.privacy-page .brand-name{flex:0 0 auto;font-size:1.7rem!important;line-height:1;margin:0 0 2px!important}
  body.inner-page.privacy-page .inner-title{flex:0 0 auto;font-size:1.25rem!important;line-height:1.05;margin:0!important}
  body.inner-page.privacy-page .inner-subtitle{flex:0 0 auto;font-size:.82rem!important;line-height:1.25;margin:5px auto 8px!important;max-width:360px}
  body.inner-page.privacy-page .privacy-panel{
    flex:1 1 auto;min-height:0!important;max-height:none!important;width:min(100%,540px)!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;scrollbar-gutter:auto!important;
    padding:16px 16px calc(18px + env(safe-area-inset-bottom))!important;border-radius:19px;
  }
  body.inner-page.privacy-page .privacy-panel:focus{outline:none}
  body.inner-page.privacy-page .privacy-panel h2{font-size:1.08rem;margin:0 0 7px}
  body.inner-page.privacy-page .privacy-panel h3{font-size:.98rem;margin:15px 0 5px}
  body.inner-page.privacy-page .privacy-panel p{font-size:.9rem;line-height:1.52;margin:0 0 9px}
  body.inner-page.privacy-page .privacy-panel .notice{font-size:.8rem;line-height:1.4;margin-top:12px}
  body.inner-page.privacy-page .privacy-link{display:none}
}

@media (max-width:520px){
  body.inner-page.menu-page .option .icon{width:56px;height:56px;border-radius:18px!important}
  body.inner-page.menu-page .option .icon svg{width:29px;height:29px}
  body.inner-page.privacy-page .brand-name{font-size:1.55rem!important}
}
