/* ============ BASE ============ */
:root{
  --orange:#FFA10A;
  --navy:#0B1C2B;
  --navy-deep:#031628;
  --olive:#2B2C22;
  --white:#fff;
  --grey:#9AA3AD;
  --radius:16px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:'Poppins',Arial,sans-serif;
  color:var(--white);
  background:var(--navy) url('img/bg-desktop.webp') center top / cover no-repeat;
  background-attachment:fixed;
  min-height:100vh;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p,h1,h2{margin:0}
.banner,.hero{display:block}
.banner{overflow:hidden;border-radius:var(--radius)}
.banner img{width:100%;transition:transform .4s ease}
.banner:hover img,.banner:focus-visible img{transform:scale(1.04)}

/* ============ BOTÓN (CSS) ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--orange);color:var(--navy);
  font-weight:600;font-size:14px;line-height:1;text-transform:uppercase;
  padding:14px 24px;border-radius:999px;white-space:nowrap;
  box-shadow:0 4px 18px rgba(255,161,10,.45);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 6px 22px rgba(255,161,10,.6)}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.btn--sm{font-size:12px;padding:12px 18px;box-shadow:none}

/* ============ HEADER ============ */
.header{
  display:flex;align-items:center;justify-content:space-between;
  height:82px;padding:0 clamp(16px,2.3vw,60px);
  background:var(--navy);
  box-shadow:0 6px 24px rgba(0,0,0,.35);
  position:sticky;top:0;z-index:10;
  transition:transform .35s ease;
}
.header.is-hidden{transform:translateY(-110%)}
.header__logo img{width:250px;height:auto}

/* ============ LAYOUT ============ */
.page{max-width:1280px;margin:0 auto;padding:0 0 80px}
html{scroll-behavior:smooth}
.hero img{width:100%}

.card{
  width:calc(100% - 6px);max-width:1272px;margin:-4px auto 0;
  padding:clamp(40px,6vw,76px) clamp(16px,6vw,88px) clamp(48px,8vw,110px);
  background:linear-gradient(180deg,var(--olive) 0%,var(--navy-deep) 45%,var(--navy) 100%);
  border-radius:var(--radius);
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.intro,.nov{text-align:center}

/* ============ INTRO ============ */
.intro__title{font-size:clamp(20px,2.4vw,30px);font-weight:600;line-height:1.3}
.intro__sub{font-size:clamp(14px,1.7vw,24px);font-weight:600;color:var(--orange);margin-top:6px}

/* ============ 6 LUCAS ============ */
.lucas{
  position:relative;display:flex;align-items:center;gap:clamp(12px,3vw,40px);
  margin:clamp(24px,3vw,40px) auto 0;max-width:1000px;
  min-height:220px;padding:20px 40px 20px 0;
  background:linear-gradient(180deg,#141B2C,#111827);
  border-radius:var(--radius);
  border-top:1px solid rgba(255,161,10,.6);
  box-shadow:0 8px 30px rgba(0,0,0,.35);
}
.lucas__img{flex:0 0 clamp(120px,17vw,215px);align-self:flex-end;margin-top:-56px;margin-left:4px}
/* El personaje sobresale por arriba de la caja y hace zoom al pasar el mouse */
.lucas__img{position:relative;z-index:1}
.lucas__img img{transform-origin:50% 100%;transition:transform .35s ease}
.lucas__img:hover img,.lucas__img:focus-visible img{transform:scale(1.15)}
.lucas__text{flex:1}
.lucas__big{font-size:clamp(34px,5.2vw,68px);font-weight:700;color:var(--orange);line-height:1}
.lucas__mid{font-size:clamp(22px,3.2vw,44px);font-weight:700;line-height:1.1}
.lucas__small{font-size:clamp(14px,1.8vw,24px);font-weight:400;color:var(--grey);line-height:1.3}
.lucas .btn{align-self:flex-end}

/* ============ BLOQUES ============ */
.block{max-width:1000px;margin:clamp(40px,6vw,84px) auto 0}
.block__title{font-size:clamp(20px,2.6vw,34px);font-weight:600;line-height:1.3}
.block__title span{color:var(--orange)}
.block__sub{font-size:clamp(14px,1.8vw,22px);font-weight:500;color:var(--grey);margin:2px 0 clamp(16px,2.4vw,32px)}

.nov{max-width:1000px;margin:clamp(48px,7vw,100px) auto 0}
.nov__title{font-size:clamp(14px,2vw,28px);font-weight:600;text-transform:uppercase;line-height:1.35}
.nov__title span,.nov__cta span{color:var(--orange)}
.nov__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2.7vw,36px);margin-top:clamp(20px,3vw,40px)}
.nov__cta{font-size:clamp(16px,2.2vw,30px);font-weight:600;text-transform:uppercase;margin-top:clamp(28px,4vw,56px)}

/* ============ FOOTER ============ */
.footer{background:#102234;padding:48px 16px 0;position:relative}
.seo{max-width:1000px;margin:0 auto}
.seo__toggle{
  display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;
  font-size:14px;font-weight:600;color:#fff;padding:8px 0;
}
.seo__toggle::-webkit-details-marker{display:none}
.seo__toggle::before{
  content:"";width:0;height:0;flex:none;
  border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #fff;
  transform:rotate(-90deg);transition:transform .2s ease;
}
.seo[open] .seo__toggle::before{transform:rotate(0)}
.seo__toggle:hover{color:var(--orange)}
.seo__toggle:hover::before{border-top-color:var(--orange)}
.seo__toggle:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:4px}
.seo__body{padding-top:28px;font-size:13px;line-height:1.6;color:#e4e8ec}
.seo__body h2{font-size:clamp(20px,2.4vw,26px);font-weight:600;line-height:1.3;margin:0 0 8px;color:#fff}
.seo__body h3{font-size:18px;font-weight:600;line-height:1.3;margin:12px 0 2px;color:#fff}
.seo__body strong{font-weight:600;color:#fff}
.seo__end{margin-top:18px}
.footer__legal{
  max-width:1000px;margin:72px auto 0;padding-bottom:48px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
}
.footer__logos{display:flex;align-items:center;gap:24px;flex:none}
.footer__logos img{height:32px;width:auto}
.footer__text{font-size:12px;line-height:1.4;color:#c5ccd3;max-width:460px}
.totop{
  display:flex;align-items:center;justify-content:center;
  width:72px;height:30px;margin:0 auto;background:#000;
}
.totop:hover{background:#1b2a3a}
.totop:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}

/* ============ MOBILE ============ */
@media (max-width:700px){
  .header{height:64px}
  .header__logo img{width:110px}
  .header .btn{font-size:11px;padding:11px 14px}
  .lucas{flex-wrap:wrap;padding:20px 16px;margin-top:80px;text-align:center;justify-content:center}
  .lucas__img{flex:0 0 150px;margin:-90px auto 0;align-self:center;order:0;width:100%;max-width:150px}
  .lucas__text{flex:1 1 100%}
  .lucas .btn{align-self:center}
  .nov__grid{grid-template-columns:1fr}
  .nov__title br{display:none}
  .footer__legal{flex-direction:column;align-items:flex-start;gap:24px;margin-top:48px}
  .footer__logos{gap:16px;flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.btn,.header,.banner img,.lucas__img img{transition:none}}
