/* Ajuste visual de la portada pública. No altera lógica ni contenido. */
.landing .hero{
  grid-template-columns:minmax(0,.94fr) minmax(500px,1.06fr);
  gap:46px;
  padding-top:44px;
  padding-bottom:44px;
}
.landing .hero-copy{align-self:center;padding-bottom:12px}
.landing .hero h1{margin:22px 0 24px}
.landing .hero-visual{min-height:490px}
.landing .hero-ui-scene{inset:54px 10px 18px}
.landing .hero-real-board{right:1%;width:88%;transform:rotate(-4deg)}
.landing .hero-stats-backdrop{right:2%;bottom:0;width:80%}
.landing .hero-integrated-mode .float-one{top:24%;left:0;width:198px}
.landing .hero-integrated-mode .float-two{right:0;bottom:21%;width:226px}

.landing-features{
  grid-column:1/-1;
  width:100%;
  max-width:none;
  padding:34px 0 4px;
}
.landing-features-inner>header{margin-bottom:20px}
.landing-features-inner h2{max-width:760px}
.feature-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px}
.feature-grid article{
  min-height:158px;
  padding:23px 21px;
  border-color:#dde4ef;
  border-radius:16px;
  box-shadow:0 12px 32px #182a4b0b;
}
.feature-grid .feature-icon{
  display:grid;
  width:42px;
  height:42px;
  margin:0 0 16px;
  place-items:center;
  border-radius:11px;
  background:#eef2ff;
  color:var(--blue);
}
.feature-grid .feature-icon svg{width:21px;height:21px}
.feature-grid h3{margin-bottom:8px;font-size:15px}
.feature-grid p{font-size:12px;line-height:1.65}

.home-free-tools{padding-top:60px;padding-bottom:68px}
.home-free-tools>header{gap:14px 54px;margin-bottom:28px}
.home-tools-grid{align-items:stretch;gap:16px}
.home-tool-card{
  min-height:535px;
  padding:28px;
  border-color:#dce3ee;
  border-radius:19px;
  box-shadow:0 16px 42px #172b4c0d;
}
.home-tool-heading h3{min-height:52px;margin:11px 0 19px;font-size:22px}
#home-mini-board{min-height:300px}
.library-mini-list{gap:11px}
.library-mini-list a{padding:19px}
.mini-callup-form{padding:20px;gap:13px}
.home-tool-link{padding-top:20px;font-size:12px}
.future-tool{margin:17px 0 50px;padding:22px 28px}

.home-exercise-search{padding:38px;border-radius:22px;box-shadow:0 20px 50px #101b3030}
.home-exercise-search>div:first-child{gap:10px 52px}
.home-exercise-search>label{margin-top:23px}
.home-exercise-search input{min-height:52px;padding:15px 18px}
.popular-categories{gap:9px;margin:14px 0 24px}
.popular-categories button{padding:9px 14px;font-size:10px}
.home-exercise-results{gap:14px}
.home-exercise-card{
  display:flex;
  min-height:150px;
  flex-direction:column;
  padding:21px;
  border-color:#dce3ef;
  border-radius:14px;
  box-shadow:0 10px 26px #0c18351a;
}
.home-exercise-card>span{font-size:9px}
.home-exercise-card h4{margin:10px 0 8px;font-size:15px;line-height:1.35}
.home-exercise-card p{font-size:10px;line-height:1.5}
.home-exercise-card a{margin-top:auto;padding-top:15px;font-size:10px}

.home-featured{padding:54px 0 48px}
.home-featured>header{margin-bottom:20px}
.home-featured>div{gap:16px}
.home-featured .home-exercise-card{min-height:178px;padding:24px;box-shadow:0 14px 34px #172b4c0d}
.home-featured .home-exercise-card h4{font-size:17px}
.home-account-benefits{gap:50px;padding:44px 48px}
.home-account-benefits li{padding:17px 19px}

@media(max-width:1080px){
  .landing .hero{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:30px;padding-left:30px;padding-right:30px}
  .landing .hero h1{font-size:clamp(46px,5vw,64px)}
  .landing .hero-visual{min-height:455px}
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feature-grid article{min-height:145px}
}

@media(max-width:850px){
  .landing .hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:38px}
  .landing .hero-copy{padding-bottom:0}
  .landing .hero-visual{width:100%;min-height:480px}
  .landing .hero-integrated-mode .float-one{left:2%}
  .landing .hero-integrated-mode .float-two{right:2%}
  .landing-features{padding-top:22px}
  .home-free-tools{padding-top:50px;padding-bottom:58px}
  .home-tool-card{min-height:510px}
  .home-tool-card:last-child{min-height:440px}
  .home-exercise-search{padding:32px}
  .home-exercise-results{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-account-benefits{gap:34px;padding:38px}
}

@media(max-width:600px){
  .landing .hero{gap:28px;padding:28px 20px 32px}
  .landing .hero h1{font-size:clamp(43px,13vw,56px);line-height:1.05}
  .landing .hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .landing .hero-actions .btn{min-width:0;white-space:normal;text-align:center}
  .landing .hero-visual{min-height:405px}
  .landing .hero-ui-scene{inset:48px 4px 14px}
  .landing .hero-real-board{width:98%}
  .landing .hero-integrated-mode .float-one{top:20%;left:1%;width:160px}
  .landing .hero-integrated-mode .float-two{right:1%;bottom:24%;width:178px}
  .landing-features{padding-top:16px}
  .landing-features-inner>header{margin-bottom:16px}
  .feature-grid{grid-template-columns:1fr;gap:11px;margin-top:18px}
  .feature-grid article{min-height:0;padding:20px}
  .feature-grid .feature-icon{width:38px;height:38px;margin-bottom:13px}
  .feature-grid h3{font-size:15px}
  .feature-grid p{font-size:12px}
  .home-free-tools{padding:44px 18px 48px}
  .home-free-tools>header{margin-bottom:24px}
  .home-free-tools>header h2{font-size:38px}
  .home-tools-grid{gap:13px}
  .home-tool-card,.home-tool-card:last-child{min-height:0;padding:22px}
  .home-tool-heading h3{min-height:0;font-size:20px}
  #home-mini-board{min-height:0}
  .future-tool{margin:14px 0 38px;padding:20px}
  .home-exercise-search{padding:25px 18px}
  .home-exercise-search h2{font-size:27px}
  .home-exercise-search>div:first-child p{font-size:12px}
  .popular-categories{gap:7px}
  .popular-categories button{padding:8px 10px;font-size:9px}
  .home-exercise-results{grid-template-columns:1fr;gap:11px}
  .home-exercise-card{min-height:142px;padding:19px}
  .home-exercise-card h4{font-size:15px}
  .home-featured{padding:42px 0 38px}
  .home-featured>header{align-items:start;flex-direction:column}
  .home-featured>div{gap:11px}
  .home-featured .home-exercise-card{min-height:152px;padding:20px}
  .home-account-benefits{gap:26px;padding:28px 20px}
}

/* landing-wow.css se incorpora de forma dinámica; estas reglas mantienen la
   prioridad visual cuando termina de cargar. */
html[data-page="home"] body{font-size:0;line-height:0;color:transparent}
html[data-page="home"] #root,
html[data-page="home"] dialog,
html[data-page="home"] #toast{font-size:14px;line-height:normal;color:var(--ink)}
.landing .hero{column-gap:46px;row-gap:18px}
.landing .hero .landing-features{grid-column:1/-1;justify-self:stretch;width:100%;max-width:none;padding:26px 0 0}
.landing .landing-features .feature-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px}
.landing .landing-features .feature-grid article{min-height:158px;padding:23px 21px;border-color:#dde4ef;border-radius:16px;box-shadow:0 12px 32px #182a4b0b}
.landing .landing-features .feature-grid .feature-icon{display:grid;width:42px;height:42px;margin:0 0 16px;place-items:center;border-radius:11px;background:#eef2ff;color:var(--blue)}
.landing .landing-features .feature-grid .feature-icon svg{width:21px;height:21px}
.landing .landing-features .feature-grid h3{margin-bottom:8px;font-size:15px}
.landing .landing-features .feature-grid p{font-size:12px;line-height:1.65}
.landing .home-free-tools{padding-top:48px;padding-bottom:60px}
.landing .home-tools-grid{gap:16px}
.landing .home-tool-card{min-height:535px;padding:28px;border-radius:19px;box-shadow:0 16px 42px #172b4c0d}
.landing .future-tool{margin-bottom:46px}
.landing .home-exercise-search{padding:38px;box-shadow:0 20px 50px #101b3030}
.landing .home-exercise-results{gap:14px}
.landing .home-exercise-card{min-height:150px;padding:21px;border-radius:14px;box-shadow:0 10px 26px #0c18351a}
.landing .home-exercise-card h4{font-size:15px;line-height:1.35}
.landing .home-exercise-card p{font-size:10px;line-height:1.5}
.landing .home-exercise-card a{margin-top:auto;padding-top:15px;font-size:10px}
.landing .home-featured{padding:50px 0 44px}
.landing .home-featured>div{gap:16px}
.landing .home-account-benefits{gap:50px;padding:44px 48px}
@media(max-width:1080px){.landing .landing-features .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.landing .home-free-tools{padding-top:42px}.landing .home-exercise-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .landing .hero{row-gap:12px}
  .landing .hero .landing-features{padding-top:12px}
  .landing .landing-features .feature-grid{grid-template-columns:1fr;gap:11px}
  .landing .landing-features .feature-grid article{min-height:0;padding:20px}
  .landing .home-free-tools{padding:38px 18px 44px}
  .landing .home-tool-card,.landing .home-tool-card:last-child{min-height:0;padding:22px}
  .landing .home-exercise-search{padding:25px 18px}
  .landing .home-exercise-results{grid-template-columns:1fr;gap:11px}
  .landing .home-featured{padding:40px 0 36px}
  .landing .home-account-benefits{gap:26px;padding:28px 20px}
}

/* Pulido final de las secciones públicas. Solo presentación. */
html[data-page="home"] .landing{overflow-x:clip}

.landing .home-exercise-results{align-items:stretch}
.landing .home-exercise-results .home-exercise-card{
  min-height:128px;
  padding:17px 18px;
}
.landing .home-exercise-results .home-exercise-card h4{margin:8px 0 6px}
.landing .home-exercise-results .home-exercise-card a{padding-top:11px}

.landing .home-featured{padding:46px 0 42px}
.landing .home-featured>header{
  display:block;
  margin-bottom:15px;
  text-align:left;
}
.landing .home-featured>header .eyebrow,.landing .home-featured>header h2{display:block;text-align:left}
.landing .home-featured>header h2{margin:8px 0 0}
.landing .home-featured>div{align-items:stretch}
.landing .home-featured .home-exercise-card{
  display:flex;
  min-height:164px;
  height:100%;
  flex-direction:column;
  padding:22px;
}

.landing .home-tools-grid{align-items:stretch}
.landing .home-tool-card{
  min-height:510px;
  height:100%;
  padding:25px;
}
.landing .home-tool-heading h3{margin-bottom:17px}
.landing #home-mini-board{width:100%;max-width:100%;min-width:0}
.landing .library-mini-list,.landing .mini-callup-form{min-width:0}
.landing .library-mini-list a,.landing .mini-callup-form input{min-width:0;max-width:100%}

.landing .home-account-benefits{align-items:stretch}
.landing .home-account-benefits ul{grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}
.landing .home-account-benefits li{display:flex;min-height:74px;flex-direction:column;justify-content:center}

.landing .public-footer{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  padding-top:30px;
  padding-bottom:30px;
}
.landing .public-footer>span{justify-self:center;text-align:center}
.landing .public-footer>small{justify-self:end;text-align:right}

@media(max-width:1024px){
  .landing .home-tool-card{min-height:490px;padding:23px}
  .landing .home-featured .home-exercise-card{min-height:158px}
  .landing .home-account-benefits{gap:34px;padding:38px}
}

@media(max-width:850px){
  .landing .home-tool-card,.landing .home-tool-card:last-child{min-height:470px}
  .landing .home-tool-card:last-child{grid-column:1/-1;min-height:0}
  .landing .home-exercise-results .home-exercise-card{min-height:124px}
  .landing .home-account-benefits li{min-height:78px}
}

@media(max-width:600px){
  .landing .home-tool-card,.landing .home-tool-card:last-child{min-height:0;padding:21px}
  .landing .home-tool-heading h3{margin-bottom:15px}
  .landing .mini-callup-form{grid-template-columns:1fr;padding:16px}
  .landing .mini-callup-form label.wide,.landing .mini-callup-form>div{grid-column:auto}
  .landing .mini-callup-form>div{flex-wrap:wrap}
  .landing .mini-callup-form>div span{width:100%;margin:0 0 2px}
  .landing .home-exercise-results .home-exercise-card{min-height:116px;padding:17px}
  .landing .home-featured{padding:38px 0 34px}
  .landing .home-featured>header{margin-bottom:13px}
  .landing .home-featured>header h2{font-size:28px;line-height:1.15}
  .landing .home-featured .home-exercise-card{min-height:142px;padding:19px}
  .landing .home-account-benefits li{min-height:0}
  .landing .public-footer{grid-template-columns:1fr auto;gap:12px 18px;padding:24px 20px}
  .landing .public-footer>span{grid-column:1/-1;grid-row:2;justify-self:start;width:auto;text-align:left;font-size:11px}
  .landing .public-footer>small{grid-column:2;grid-row:1;align-self:center;font-size:9px}
}
