:root{--brand-charcoal:#454348;--brand-reflective:#D6D6D2;--brand-black:#262528;--uniform-dark:#38463A;--brand-dark:#075B3A;--brand-green:#39A852;--brand-lime:#DFFF00;--brand-orange:#F05A00;--brand-orange-dark:#E84F05;--navy:#075B3A;--muted:#6B7280;--green:#39A852}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body{background:#fff;color:var(--navy)}
a{text-decoration:none;color:inherit}

.landing{
  min-height:100vh;
  display:grid;
  grid-template-columns:220px minmax(620px,1fr) 430px;
  overflow:hidden;
  background:#fff;
}
.left-rail{
  min-height:100vh;padding:64px 18px 30px;display:flex;flex-direction:column;align-items:center;gap:28px;
  background:radial-gradient(circle at 30% 50%,rgba(224,238,228,.22),transparent 55%),linear-gradient(180deg,#FCFDFC,#F7FAF8);
}
.value-item{width:100%;text-align:center;font-weight:600;font-size:1.02rem;line-height:1.18;color:#454348}
.icon-circle{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 9px;background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(56,70,58,.055), inset 0 0 0 1px rgba(240,90,0,.045)}
.icon-circle img{width:42px;height:42px;display:block}
.left-script{margin-top:auto;align-self:flex-start;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-style:italic;font-size:1.7rem;line-height:1.08;color:#454348;transform:rotate(-5deg)}
.left-script span,.top-script span,.eco-copy span{display:block;width:86px;height:4px;margin-top:9px;border-radius:999px;background:var(--brand-orange);transform:rotate(-7deg)}

.center-content{
  min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:58px 60px 170px;
  background:
    radial-gradient(circle at 82% 14%, rgba(56,70,58,.055), transparent 30%),
    radial-gradient(circle at 16% 88%, rgba(56,70,58,.045), transparent 34%),
    radial-gradient(circle at 58% 72%, rgba(56,70,58,.028), transparent 28%),
    linear-gradient(180deg,
      #FCFEFD 0%,
      #F7FBF8 20%,
      #F2F8F4 42%,
      #ECF5EF 68%,
      #E7F1EA 100%
    );
}

.center-content::before,
.center-content::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.center-content::before{
  left:-90px;
  bottom:10px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:
    radial-gradient(circle at 46% 54%,
      rgba(56,70,58,.075) 0%,
      rgba(56,70,58,.045) 34%,
      rgba(56,70,58,.02) 55%,
      transparent 74%);
  filter:blur(16px);
}
.center-content::after{
  right:40px;
  bottom:18px;
  width:320px;
  height:145px;
  border-radius:160px 160px 0 0;
  background:linear-gradient(180deg,
    rgba(56,70,58,.035),
    rgba(56,70,58,.018));
  opacity:.55;
}
.center-content > *{
  position:relative;
  z-index:1;
}

.center-content{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 0 -30px 80px rgba(56,70,58,.025);
}


.top-script{position:absolute;top:34px;right:46px;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-style:italic;font-size:.98rem;line-height:1.04;color:#454348;transform:rotate(-7deg)}
.top-script span{width:66px;height:3px}
.main-logo{width:190px;max-width:38%;height:auto;margin:0 auto 16px;filter:drop-shadow(0 8px 18px rgba(56,70,58,.08))}
.brand-name{margin:0 0 8px;text-align:center;font-size:clamp(2.4rem,3.4vw,4rem);line-height:.98;letter-spacing:-.05em;font-weight:900}.brand-name .dark{color:var(--brand-dark)}.brand-name .green{color:var(--brand-green)}
.center-content h1{max-width:630px;margin:0;text-align:center;font-size:clamp(1.65rem,2.15vw,2.55rem);line-height:1.05;letter-spacing:-.035em;color:var(--brand-dark)}
.subtitle{max-width:560px;margin:15px auto 28px;text-align:center;color:var(--muted);font-size:1.16rem;line-height:1.45}
.language-grid{width:min(100%,540px);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.language-grid a{min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 8px;border:1px solid #D6D6D2;border-radius:14px;background:#fff;font-weight:800;color:#262528}
.language-grid a.active{border:2px solid var(--brand-orange)}
.ca-dot{color:var(--brand-orange);font-size:1rem}
.enter-btn{width:min(100%,540px);min-height:68px;display:flex;align-items:center;justify-content:center;gap:18px;border-radius:18px;color:#fff;background:var(--brand-dark);box-shadow:0 14px 28px rgba(7,91,58,.20);font-size:1.32rem;font-weight:900}
.enter-btn strong{font-size:2rem}
.eco-decoration{position:absolute;left:-28px;bottom:-22px;width:225px;opacity:.94}
.eco-decoration img{width:100%;height:auto}
.eco-copy{position:absolute;left:50%;bottom:59px;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-style:italic;font-size:.92rem;line-height:1.08;color:#454348}
.eco-copy span{background:var(--green);width:74px;height:3px}
.privacy-link{position:absolute;right:16px;bottom:13px;color:#454348;font-size:.8rem}

.right-visual{min-height:100vh;position:relative;overflow:hidden;background:#f5f3ef;display:flex;align-items:center;justify-content:flex-end}
.right-art{width:100%;height:100vh;background:url('/assets/img/right-clean-v20.jpg') center center / contain no-repeat;background-color:#f5f3ef}

@media(max-width:1250px){
  .landing{grid-template-columns:190px minmax(520px,1fr) 360px}
  .value-item{font-size:.94rem}.icon-circle{width:64px;height:64px}.icon-circle img{width:38px;height:38px}
  .left-script{font-size:1.4rem}.center-content{padding-left:34px;padding-right:34px}
  .center-content h1{font-size:2rem}.brand-name{font-size:3rem}.main-logo{width:160px}
}
@media(max-width:980px){
  .landing{display:block}.left-rail,.right-visual{display:none}
  .center-content{min-height:100dvh;padding:108px 22px 185px;justify-content:flex-start}
  .top-script{top:34px;right:24px;font-size:.88rem}
  .main-logo{width:145px;max-width:42vw;margin-top:34px}
  .brand-name{font-size:2.55rem}.center-content h1{max-width:355px;font-size:1.55rem}
  .subtitle{max-width:355px;font-size:1rem;margin-bottom:28px}
  .language-grid{width:100%}.language-grid a{min-height:57px;font-size:.93rem}
  .enter-btn{width:100%;min-height:68px;font-size:1.28rem}
  .eco-decoration{width:225px;left:-28px}.eco-copy{left:52%;bottom:62px;font-size:.87rem}
}
@media(max-width:390px){
  .center-content{padding-left:16px;padding-right:16px}
  .main-logo{width:132px}.brand-name{font-size:2.3rem}.center-content h1{font-size:1.42rem}.language-grid a{font-size:.86rem}
}


/* v1.12 — pulido de portada */
.center-content .main-logo,
.center-content h1,
.center-content .subtitle,
.center-content .language-grid,
.center-content .enter-btn{
  transform:translateY(-24px);
}

@media(max-width:980px){
  body{background:#fff}
  .center-content{padding-top:max(88px,env(safe-area-inset-top));padding-bottom:max(170px,calc(145px + env(safe-area-inset-bottom)))}
  .language-grid,.enter-btn{max-width:520px}
}
@media(display-mode:standalone){.center-content{min-height:100dvh}}

/* v1.14 — corrección responsive portada / aspecto app móvil */
@media (min-width:981px){
  .center-content{
    padding-top:46px;
    padding-bottom:150px;
  }
  .center-content .main-logo,
  .center-content h1,
  .center-content .subtitle,
  .center-content .language-grid,
  .center-content .enter-btn{
    transform:none;
  }
  .main-logo{
    width:150px;
    max-width:30%;
    margin:0 auto 22px;
  }
  .brand-name{
    margin:0 0 14px;
    font-size:clamp(2.45rem,3vw,3.55rem);
    line-height:1;
  }
  .center-content h1{
    max-width:620px;
    margin:0 0 12px;
    font-size:clamp(1.45rem,1.8vw,2.05rem);
    line-height:1.14;
  }
  .subtitle{
    margin:0 auto 24px;
    max-width:610px;
    font-size:1.05rem;
    line-height:1.45;
  }
  .language-grid{margin-bottom:14px}
}

@media (max-width:980px){
  html,body{min-height:100%;background:#E7F1EA}
  body{min-height:100svh;min-height:100dvh;overflow-x:hidden}
  .landing{min-height:100svh;min-height:100dvh;background:#E7F1EA}
  .center-content{
    min-height:100svh;
    min-height:100dvh;
    width:100%;
    justify-content:flex-start;
    padding:calc(18px + env(safe-area-inset-top)) 18px calc(118px + env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 82% 14%, rgba(56,70,58,.055), transparent 30%),
      radial-gradient(circle at 16% 88%, rgba(56,70,58,.045), transparent 34%),
      linear-gradient(180deg,#FCFEFD 0%,#F2F8F4 45%,#E7F1EA 100%);
  }
  .center-content .main-logo,
  .center-content h1,
  .center-content .subtitle,
  .center-content .language-grid,
  .center-content .enter-btn{
    transform:none;
  }
  .top-script{display:none}
  .main-logo{
    width:126px;
    max-width:36vw;
    margin:4px auto 18px;
  }
  .brand-name{
    margin:0 0 10px;
    font-size:clamp(2rem,9.4vw,2.7rem);
    line-height:1;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
  .center-content h1{
    max-width:100%;
    margin:0 auto 14px;
    padding:0 4px;
    font-size:clamp(1.05rem,5.1vw,1.38rem);
    line-height:1.18;
    letter-spacing:-.025em;
  }
  .subtitle{
    max-width:360px;
    margin:0 auto 24px;
    font-size:.99rem;
    line-height:1.45;
  }
  .language-grid{
    width:100%;
    max-width:520px;
    gap:9px;
    margin-bottom:14px;
  }
  .language-grid a{
    min-width:0;
    min-height:56px;
    padding:8px 6px;
    border-radius:15px;
    font-size:.9rem;
  }
  .enter-btn{
    width:100%;
    max-width:520px;
    min-height:64px;
    border-radius:17px;
    font-size:1.22rem;
  }
  .eco-decoration{width:180px;left:-32px;bottom:-8px}
  .eco-copy{left:auto;right:22px;bottom:66px;font-size:.78rem}
  .privacy-link{right:18px;bottom:18px;font-size:.78rem}
}

@media (max-width:430px){
  .center-content{
    padding-left:16px;
    padding-right:16px;
    padding-bottom:calc(112px + env(safe-area-inset-bottom));
  }
  .main-logo{width:118px;margin-bottom:16px}
  .brand-name{font-size:clamp(1.9rem,9.1vw,2.35rem);margin-bottom:9px}
  .center-content h1{font-size:clamp(1rem,4.8vw,1.22rem);margin-bottom:13px}
  .subtitle{font-size:.96rem;margin-bottom:22px}
  .language-grid{gap:8px}
  .language-grid a{font-size:.84rem;min-height:54px}
  .enter-btn{min-height:62px}
}

@media (max-width:355px){
  .language-grid{grid-template-columns:1fr;gap:7px}
  .language-grid a{min-height:46px}
  .eco-decoration{opacity:.65}
}

/* v1.31 — firma tecnológica discreta */
.technology-credit{position:fixed;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:20;font-size:.68rem;color:rgba(56,70,58,.68);white-space:nowrap;letter-spacing:.01em}.technology-credit a{font-weight:800;color:#075B3A}
@media(max-width:900px){.technology-credit{font-size:.64rem;bottom:max(6px,env(safe-area-inset-bottom))}}
