/* ==========================================================
   GRUPO 8 BJ · SECCIONES.CSS
   Estilos exclusivos de secciones.html
   Base global esperada: assets/css/styles.css
========================================================== */

/* ==========================================================
   HERO · SECCIONES
========================================================== */
.hero-secciones{
  position:relative;
  min-height:560px;
  overflow:hidden;
  border-radius:0 0 28px 28px;
  background:#176ED6;
}

.hero-blue{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    90deg,
    rgba(23,110,214,.98) 0 36%,
    rgba(23,110,214,.78) 49%,
    rgba(23,110,214,0) 64%
  );
}

.hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  z-index:1;
}

.hero-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:55% 45%;
}
.hero-blue{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(23,110,214,1) 0%,
      rgba(23,110,214,.98) 27%,
      rgba(23,110,214,.90) 36%,
      rgba(23,110,214,.66) 45%,
      rgba(23,110,214,.28) 53%,
      rgba(23,110,214,0) 63%
    );
}


.hero-inner{
  position:relative;
  z-index:5;
  min-height:410px;
  display:flex;
  align-items:center;
  padding-top:68px;
}

.hero-copy{
  max-width:760px;
}

.hero-copy h1{
  max-width:760px;
  margin-top:10px;
  font-size:clamp(3.45rem,4.25vw,4.75rem);
  line-height:.94;
  letter-spacing:-.055em;
}

.hero-copy h1 span{
  display:block;
  color:var(--yellow);
}

.hero-copy p{
  max-width:520px;
  margin:20px 0 0;
  color:#fff;
  font-size:1rem;
  line-height:1.55;
}

.stroke-yellow{width:245px}

/* ==========================================================
   COMPAÑERISMO Y TRABAJO EN EQUIPO
========================================================== */
.teamwork{
  padding:64px 0;
}

.section-soft{
  background:linear-gradient(180deg,#fff,#F5FAFF);
}

.teamwork-grid{
  display:grid;
  grid-template-columns:.85fr 1.5fr;
  gap:62px;
  align-items:center;
}

.teamwork-copy h2{
  font-size:clamp(2.15rem,3.3vw,3.6rem);
  line-height:.94;
  letter-spacing:-.05em;
}

.teamwork-copy p{
  max-width:420px;
  margin:22px 0 0;
  font-size:.95rem;
  line-height:1.55;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.value{
  text-align:center;
}

.value-icon{
  width:78px;
  height:78px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#DDEFFF;
  color:var(--navy);
  font-size:2rem;
  font-weight:800;
}

.value h3{
  font-size:1rem;
}

.value p{
  margin:6px 0 0;
  font-size:.78rem;
  line-height:1.35;
}

/* ==========================================================
   SECCIONES POR EDAD
========================================================== */
.age-section{
  padding:62px 0;
}

.age-section:nth-of-type(even){
  background:#FBFDFF;
}

.age-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:64px;
  align-items:center;
}

.age-grid.reverse{
  grid-template-columns:1.1fr 1fr;
}

.age-copy .age{
  display:block;
  margin-bottom:6px;
  color:var(--blue);
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.08em;
}

.age-copy h2{
  font-size:clamp(2.7rem,4vw,4rem);
  line-height:.94;
}

.section-underline{
  display:block;
  width:120px;
  height:5px;
  margin:4px 0 12px;
  border-radius:99px;
}

.section-underline.yellow{background:var(--yellow)}
.section-underline.green{background:green}
.section-underline.blue{background:#2D82E7}
.section-underline.red{background:red}

.age-copy h3{
  margin-bottom:12px;
  color:#0F469B;
  font-size:1.15rem;
}

.age-copy p{
  max-width:620px;
  margin:0 0 20px;
  line-height:1.55;
}

.skills-title{
  margin-bottom:10px;
  color:var(--blue);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}

.skill-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.skill{
  min-height:78px;
  padding:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:17px;
  color:var(--navy);
  text-align:center;
  font-size:.78rem;
  font-weight:800;
}

.skill b{
  font-size:1.6rem;
  line-height:1;
}

.skill-yellow{background:#FFF8DC}
.skill-green{background:#E7F8EF}
.skill-blue{background:#EAF4FF}
.skill-red{background:#FFE9EC}

/* ==========================================================
   FOTOS / COLLAGE VISUAL
========================================================== */
.photo-card{
  position:relative;
  margin:0;
  overflow:visible;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}

.photo-card img{
  width:100%;
  height:330px;
  object-fit:cover;
  border-radius:18px;
}

.tilt-left{transform:rotate(-2deg)}
.tilt-right{transform:rotate(2deg)}
.tilt-left-sm{transform:rotate(-1.4deg)}
.tilt-right-sm{transform:rotate(1.3deg)}

.tape{
  position:absolute;
  z-index:3;
  top:-14px;
  left:50%;
  width:92px;
  height:27px;
  opacity:.92;
  transform:translateX(-50%) rotate(-4deg);
}

.tape-yellow{background:#F9CA32}
.tape-green{background:#25BB7C}
.tape-blue{background:#2D82E7}
.tape-red{background:#F25766}

.paws{
  position:absolute;
  right:-18px;
  bottom:-24px;
  color:#F3B800;
  font-size:1.35rem;
  letter-spacing:6px;
  transform:rotate(-11deg);
}

.tree-doodle{
  position:absolute;
  bottom:20px;
  color:#12A971;
  font-size:4rem;
  line-height:1;
}

.tree-doodle.left{left:-42px}
.tree-doodle.right{right:-46px}
.tree-doodle.blue{color:#1E78DA}

.signpost{
  position:absolute;
  left:-54px;
  bottom:20px;
  color:#123A82;
  font-size:3.8rem;
  font-weight:900;
  transform:rotate(-90deg);
}

/* Parches de uniforme sobre las fotos */
.photo-card::after{
  content:"";
  position:absolute;
  top:18%;
  right:12%;
  width:26px;
  height:37px;
  pointer-events:none;
  border-radius:6px;
  background:url("../img/grupo8-escudo.png") center/contain no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
  opacity:.78;
  filter:saturate(.9) contrast(.9);
  mix-blend-mode:multiply;
  transform:rotate(7deg);
}

@media(min-width:900px){
  .photo-card::before{
    content:"";
    position:absolute;
    top:30%;
    left:38%;
    width:24px;
    height:24px;
    pointer-events:none;
    background:url("../img/flor-lis.svg") center/contain no-repeat;
    opacity:.82;
    mix-blend-mode:multiply;
    filter:contrast(.9);
  }
}

/* ==========================================================
   MÉTODO SCOUT
========================================================== */
.method{
  padding:68px 0 76px;
  background:#fff;
}

.method-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end;
  margin-bottom:30px;
}

.method-heading h2{
  font-size:clamp(2.25rem,3.3vw,3.55rem);
  line-height:.95;
}

.method-heading p{
  margin:0;
  line-height:1.6;
}

.method-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.method-grid article{
  padding:26px 20px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(24,53,108,.08);
  text-align:center;
}

.method-grid article span{
  display:block;
  color:var(--blue);
  font-size:2rem;
  font-weight:900;
}

.method-grid h3{
  margin:8px 0;
  font-size:1rem;
}

.method-grid p{
  margin:0;
  font-size:.82rem;
  line-height:1.45;
}

/* ==========================================================
   TABLET
========================================================== */
@media(max-width:1050px){
  .teamwork-grid,
  .age-grid,
  .age-grid.reverse,
  .method-heading{
    grid-template-columns:1fr;
  }

  .age-grid.reverse .age-copy{order:2}
  .age-grid.reverse .photo-card{order:1}

  .values-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .skill-grid{
    grid-template-columns:repeat(2,1fr);
  }



  .hero-blue{
    background:linear-gradient(
      90deg,
      rgba(23,110,214,.99) 0 40%,
      rgba(23,110,214,.76) 58%,
      rgba(23,110,214,0) 73%
    );
  }
}

/* ==========================================================
   MOBILE
========================================================== */
@media(max-width:720px){
  .hero-secciones{
    min-height:660px;
    border-radius:0 0 20px 20px;
	width:auto;
    max-width:100%;
  }

  .hero-photo{
    top:0;
    right:0;
    left:0;
    width:100%;
    height:300px;
  }

  .hero-blue{
    background:linear-gradient(
      180deg,
      rgba(23,110,214,.08) 0 25%,
      rgba(23,110,214,.82) 48%,
      rgba(23,110,214,1) 68%
    );
  }

  .hero-inner{
    min-height:660px;
    align-items:flex-end;
    padding:330px 0 46px;
  }

   .hero-copy h1{
    font-size:clamp(2.65rem,12vw,3.65rem);
	width:auto;
    max-width:100%;
  }

  .hero-copy h1 span{
    display:block;
	width:auto;
    max-width:100%;
  }

  .hero-copy p{
    font-size:.95rem;
  }

  .teamwork,
  .age-section,
  .method{
    padding:52px 0;
  }

  .teamwork-grid{
    gap:32px;
  }

  .values-grid{
    gap:16px;
  }

  .value-icon{
    width:66px;
    height:66px;
  }

  .photo-card img{
    height:270px;
  }

  .skill-grid{
    grid-template-columns:1fr 1fr;
  }

  .method-grid{
    grid-template-columns:1fr 1fr;
  }

  .method-heading{
    gap:18px;
  }

  .tree-doodle,
  .paws,
  .signpost{
    display:none;
  }
}

@media(max-width:480px){
  .values-grid,
  .method-grid{
    grid-template-columns:1fr 1fr;
  }

  .skill{
    min-height:72px;
  }

  .photo-card img{
    height:240px;
  }

  .age-copy h2{
    font-size:2.7rem;
  }

  .age-copy h3{
    font-size:1.03rem;
  }
}

/* Header clearance: the global header is fixed and matches the home. */
.hero-secciones{padding-top:0}
@media(max-width:720px){.hero-secciones{padding-top:0}}

/* ==========================================================
   AJUSTE FINAL DE COMPOSICION · DESKTOP/TABLET
   Corrige el empalme del header con el hero y la proporción
   de la sección de compañerismo.
========================================================== */
@media (min-width:1051px){
  .hero-secciones{
    min-height:560px;
    border-radius:0 0 28px 28px;
  }

  .hero-inner{
    min-height:560px;
    align-items:center;
    padding-top:122px;
    padding-bottom:54px;
  }

  .hero-copy{
    max-width:560px;
  }

  .hero-copy h1{
    margin-top:10px;
    font-size:clamp(3.45rem,4.25vw,4.75rem);
    line-height:.94;
    letter-spacing:-.055em;
  }

  .hero-copy p{
    max-width:545px;
    margin-top:24px;
    font-size:1.08rem;
    line-height:1.55;
  }

  

  .hero-photo img{
  
	object-position: 45%;
  }

  .hero-blue{
    background:linear-gradient(
      90deg,
      rgba(23,110,214,.99) 0 33%,
      rgba(23,110,214,.91) 40%,
      rgba(23,110,214,.66) 49%,
      rgba(23,110,214,.24) 57%,
      rgba(23,110,214,0) 65%
    );
  }

  .teamwork{
    padding:82px 0 88px;
  }

  .teamwork-grid{
    grid-template-columns:minmax(380px,.92fr) minmax(0,1.45fr);
    gap:76px;
    align-items:center;
  }

  .teamwork-copy{
    max-width:470px;
  }

  .teamwork-copy h2{
    max-width:470px;
    font-size:clamp(2.55rem,2.8vw,3.35rem);
    line-height:.98;
    letter-spacing:-.045em;
  }

  .teamwork-copy p{
    max-width:455px;
    margin-top:20px;
    font-size:.98rem;
    line-height:1.6;
  }

  .values-grid{
    align-items:start;
    gap:28px;
  }

  .value{
    min-width:0;
  }

  .value-icon{
    width:84px;
    height:84px;
    margin-bottom:14px;
  }

  .value h3{
    font-size:1.02rem;
    line-height:1.15;
  }

  .value p{
    max-width:150px;
    margin:8px auto 0;
    font-size:.78rem;
    line-height:1.4;
  }
}

@media (min-width:721px) and (max-width:1050px){
  .hero-secciones{min-height:520px}
  .hero-inner{min-height:520px;padding-top:108px;padding-bottom:48px}
  .hero-copy{max-width:500px}
  .hero-copy h1{font-size:clamp(3rem,6vw,4.1rem)}
  .hero-copy p{max-width:480px}
  .teamwork{padding:70px 0}
  .teamwork-grid{gap:44px}
  .teamwork-copy h2{max-width:600px;font-size:clamp(2.5rem,5vw,3.35rem)}
}

/* ==========================================================
   AJUSTE FINAL · MÉTODO + CTA + FOOTER
========================================================== */

/* Método: más compacto, mejor respiración y cards premium */
.method{
  padding:76px 0 82px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.method-heading{
  grid-template-columns:minmax(0,.9fr) minmax(380px,1fr);
  gap:86px;
  align-items:end;
  margin-bottom:34px;
}
.method-heading > div{max-width:520px}
.method-heading p{max-width:570px;color:#566B93;font-size:1rem;line-height:1.6}
.method-grid{gap:18px}
.method-grid article{
  min-height:190px;
  padding:30px 24px 28px;
  border:1px solid #EEF4FB;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(23,73,140,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform .22s ease,box-shadow .22s ease;
}
.method-grid article:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 42px rgba(23,73,140,.13);
}
.method-grid article span{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:6px;
  color:#176ED6;
  font-size:2.15rem;
}
.method-grid h3{margin:6px 0 8px;font-size:1.05rem}
.method-grid p{max-width:230px;font-size:.88rem;line-height:1.5;color:#66799B}

/* CTA final: recupera el bloque azul de la maqueta */
.visit{
  position:relative;
  overflow:hidden;
  padding:64px 0 66px;
  background:linear-gradient(105deg,#2E5790 0%,#244A7F 48%,#315D96 100%);
}
.visit::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.38;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 420' preserveAspectRatio='none'%3E%3Cpath d='M0 248L150 184L282 226L420 145L584 224L732 165L884 225L1038 142L1195 220L1352 165L1500 215L1600 185V420H0Z' fill='%235A76A3'/%3E%3Cpath d='M0 316L170 270L340 307L515 242L700 310L880 260L1050 312L1240 268L1415 318L1600 265V420H0Z' fill='%231F416F' fill-opacity='.78'/%3E%3C/svg%3E");
  background-size:cover;
  background-position:center;
}
.visit::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(17,53,99,.05),rgba(17,53,99,.18));
}
.visit-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1fr);
  align-items:center;
  gap:90px;
}
.visit .eyebrow{color:#F9CA32}
.visit h2{
  margin-top:8px;
  color:#fff;
  font-size:clamp(2.8rem,4vw,4.35rem);
  line-height:.94;
  letter-spacing:-.045em;
}
.visit-copy{
  max-width:570px;
  justify-self:end;
}
.visit-copy p{
  margin:0 0 22px;
  color:#fff;
  font-size:1rem;
  line-height:1.55;
}
.visit-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn-yellow,.btn-outline{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  font-weight:800;
  line-height:1;
}
.btn-yellow{
  color:#143875;
  background:#F9CA32;
  box-shadow:0 10px 24px rgba(249,202,50,.22);
}
.btn-outline{
  color:#fff;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.04);
}
.btn-yellow:hover{transform:translateY(-2px)}
.btn-outline:hover{background:rgba(255,255,255,.1)}

/* Footer: azul Grupo 8, no gris */
.footer{
  background:#0B2C70;
  color:#DCE8FA;
  padding:42px 0 20px;
}
.footer-grid{
  grid-template-columns:1.25fr .75fr .8fr 1.25fr;
  gap:52px;
}
.footer h3{color:#fff;font-size:1rem}
.footer a{color:#E7F0FF;font-size:.86rem}
.footer p{color:#D0DFF5}
.footer .brand small{color:#AFC4E7}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.16);
  margin-top:32px;
  padding-top:16px;
  color:#BFD0EA;
}

@media(max-width:1050px){
  .method-heading,.visit-inner{grid-template-columns:1fr;gap:28px}
  .visit-copy{justify-self:start;max-width:650px}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
  .method{padding:58px 0 62px}
  .method-grid{grid-template-columns:1fr 1fr;gap:12px}
  .method-grid article{min-height:168px;padding:22px 14px}
  .method-grid p{font-size:.82rem}
  .visit{padding:50px 0 52px}
  .visit h2{font-size:clamp(2.5rem,11vw,3.4rem)}
  .visit-actions{flex-direction:column;align-items:stretch}
  .btn-yellow,.btn-outline{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:28px}
}

/* ==========================================================
   SECCIONES · HEADER LOCAL
   Mantiene styles.css intacto. Este header solo vive en secciones.html.
========================================================== */
.hero-header{
  position:fixed;
  z-index:1000;
  top:20px;
  left:50%;
  width:min(calc(100% - 96px),1480px);
  min-height:70px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
  padding:0 29px;
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 9px 26px rgba(27,65,123,.18);
  transform:translateX(-50%);
  transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .22s ease,box-shadow .22s ease;
  will-change:transform;
}
.hero-header.header-hidden{transform:translateX(-50%) translateY(calc(-100% - 34px));opacity:.98}
.hero-header .brand{min-width:190px;display:flex;align-items:center;gap:10px}
.hero-header .brand img{width:39px;height:44px;object-fit:contain}
.hero-header .brand span{display:flex;flex-direction:column;line-height:1}
.hero-header .brand strong{color:var(--navy);font-family:"Bricolage Grotesque",sans-serif;font-size:1.02rem;font-weight:800}
.hero-header .brand small{margin-top:5px;color:#6881AB;font-size:.62rem;font-weight:800;letter-spacing:.05em}
.hero-header .main-nav{display:flex;justify-content:center;align-items:center;gap:30px}
.hero-header .main-nav a{position:relative;padding:8px 0;color:#223D73;font-size:.92rem;font-weight:700}
.hero-header .main-nav a::after{content:"";position:absolute;bottom:1px;left:0;right:100%;height:3px;border-radius:99px;background:var(--yellow);transition:right .2s ease}
.hero-header .main-nav a:hover::after,.hero-header .main-nav a.active::after{right:0}
.hero-header .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:800}
.hero-header .btn-primary{min-height:46px;padding:0 24px;background:var(--yellow);color:#143875;box-shadow:0 8px 20px rgba(249,202,50,.24)}
.hero-header .btn-header{white-space:nowrap}
.hero-header .menu-toggle{display:none}

@media(max-width:1100px){
  .hero-header{grid-template-columns:auto auto 1fr;width:min(calc(100% - 40px),1480px);padding:0 20px}
  .hero-header .main-nav{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;padding:20px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}
  .hero-header .main-nav.open{display:flex}
  .hero-header .menu-toggle{width:42px;height:42px;display:block;justify-self:end;border:0;border-radius:12px;background:#EEF5FF}
  .hero-header .menu-toggle span{width:18px;height:2px;display:block;margin:4px auto;background:var(--navy)}
  .hero-header .btn-header{display:none}
}

@media(max-width:720px){
  .hero-header{top:10px;width:calc(100% - 20px);min-height:62px;padding:0 14px;border-radius:16px;grid-template-columns:1fr auto}
  .hero-header .brand{min-width:0}
  .hero-header .brand img{width:33px;height:38px}
  .hero-header .brand strong{font-size:.9rem}
  .hero-header .brand small{font-size:.53rem}
  .hero-header .main-nav{top:70px}
}

/* ==========================================================
   MÉTODO SCOUT · AJUSTE FIEL A MAQUETA
   Este bloque debe ir al final de secciones.css para ganar
   sobre cualquier regla previa de .method / .method-grid.
========================================================== */
.method{
  padding:58px 0 66px;
  background:#fff;
}
.method .container{
  width:min(calc(100% - 48px),1180px);
}
.method-heading{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:64px;
  align-items:end;
  margin-bottom:24px;
}
.method-heading > div{
  max-width:500px;
}
.method-heading .eyebrow{
  display:block;
  margin-bottom:10px;
}
.method-heading h2{
  max-width:500px;
  font-size:clamp(2.15rem,3vw,3rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.method-heading .stroke{
  width:156px;
  height:5px;
  margin-top:9px;
}
.method-heading p{
  max-width:560px;
  margin:0 0 2px;
  color:#66799B;
  font-size:.96rem;
  line-height:1.55;
}
.method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.method-grid .method-card{
  min-height:142px;
  padding:20px 18px 18px;
  border:1px solid #EDF3FA;
  border-radius:13px;
  background:#fff;
  box-shadow:0 10px 22px rgba(21,62,121,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease;
}
.method-grid .method-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(21,62,121,.12);
}
.method-grid .method-icon{
  width:38px;
  height:38px;
  min-height:38px;
  display:grid;
  place-items:center;
  margin:0 0 7px;
  line-height:1;
}
.method-grid .method-icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:currentColor;
}
.method-card-yellow .method-icon{color:#F2C321}
.method-card-blue .method-icon{color:#176ED6}
.method-card-green .method-icon{color:#18AE73}
.method-grid .method-card h3{
  margin:0 0 6px;
  color:var(--navy);
  font-size:.95rem;
  line-height:1.15;
}
.method-grid .method-card p{
  max-width:220px;
  margin:0;
  color:#66799B;
  font-size:.76rem;
  line-height:1.4;
}

@media(max-width:900px){
  .method-heading{
    grid-template-columns:1fr;
    gap:16px;
    align-items:start;
  }
  .method-heading p{max-width:680px}
  .method-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:560px){
  .method{padding:50px 0 56px}
  .method .container{width:min(calc(100% - 30px),1180px)}
  .method-heading h2{font-size:2.25rem}
  .method-grid{grid-template-columns:1fr 1fr;gap:10px}
  .method-grid .method-card{min-height:150px;padding:18px 12px 16px}
  .method-grid .method-card h3{font-size:.9rem}
  .method-grid .method-card p{font-size:.72rem}
}

/* ==========================================================
   METODO SCOUT · RUTA VISUAL FINAL
   Un mismo método, nuevos retos en cada etapa.
   ========================================================== */
.method{
  position:relative;
  overflow:hidden;
  padding:72px 0 80px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

.method::before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-210px;
  top:-150px;
  border:1.5px solid rgba(23,110,214,.08);
  border-radius:46% 54% 62% 38%;
  transform:rotate(18deg);
  pointer-events:none;
}

.method .container{
  position:relative;
  z-index:1;
  width:min(calc(100% - 48px),1180px);
}

.method-heading{
  display:grid;
  grid-template-columns:minmax(410px,.92fr) minmax(460px,1.08fr);
  gap:70px;
  align-items:center;
  margin:0 0 42px;
}

.method-title-block{
  max-width:570px;
}

.method-heading .eyebrow{
  display:block;
  margin-bottom:10px;
}

.method-heading h2{
  max-width:570px;
  margin:0;
  font-size:clamp(2.55rem,3.4vw,3.55rem);
  line-height:.95;
  letter-spacing:-.05em;
}

.method-heading h2 span{
  color:var(--blue);
}

.method-heading .stroke{
  display:block;
  width:175px;
  height:5px;
  margin:13px 0 19px 118px;
  border-radius:999px;
  background:var(--yellow);
  transform:rotate(1.2deg);
}

.method-heading p{
  max-width:545px;
  margin:0 0 18px;
  color:#5B6F95;
  font-size:1rem;
  line-height:1.58;
}

.method-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--blue);
  font-size:.96rem;
  font-weight:800;
}

.method-link:hover{
  color:var(--navy);
}

/* Ilustración de ruta: llena el espacio sin meter otra fotografía. */
.method-route-art{
  position:relative;
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.method-route-art svg{
  width:100%;
  max-width:560px;
  height:auto;
  overflow:visible;
}

.method-route-line{
  fill:none;
  stroke:#2D7FF9;
  stroke-width:4;
  stroke-linecap:round;
  stroke-dasharray:9 11;
  opacity:.85;
}

.method-route-dot{
  fill:#fff;
  stroke-width:5;
}

.dot-one{stroke:#F9CA32}
.dot-two{stroke:#18AE73}
.dot-three{stroke:#2D7FF9}

.method-mountain,
.method-tree,
.method-flag,
.method-compass,
.method-spark{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.method-mountain{
  stroke:#8FD6FF;
  stroke-width:6;
  opacity:.72;
}

.method-tree{
  stroke:#17A873;
  stroke-width:5;
}

.method-flag{
  stroke:#173A8C;
  stroke-width:5;
}

.method-compass{
  stroke:#176ED6;
  stroke-width:4;
  fill:rgba(223,241,255,.45);
}

.method-spark{
  stroke:#F9CA32;
  stroke-width:5;
}

/* Las cuatro piezas se leen como estaciones de una misma ruta. */
.method-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  isolation:isolate;
}

.method-grid::before{
  content:"";
  position:absolute;
  z-index:0;
  left:7%;
  right:7%;
  top:43px;
  height:3px;
  background:repeating-linear-gradient(90deg,#C8DFF8 0 10px,transparent 10px 20px);
  opacity:.9;
  pointer-events:none;
}

.method-grid .method-card{
  position:relative;
  z-index:1;
  min-height:184px;
  padding:22px 20px 21px;
  border:1px solid #E7EFF8;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 30px rgba(20,61,117,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.method-grid .method-card:hover{
  transform:translateY(-4px);
  border-color:#D6E6F7;
  box-shadow:0 19px 38px rgba(20,61,117,.12);
}

.method-grid .method-icon{
  width:70px;
  height:70px;
  min-height:70px;
  margin:0 0 14px;
  display:grid;
  place-items:center;
  border-radius:21px;
  font-size:1.9rem;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.70),0 8px 18px rgba(20,61,117,.07);
}

.method-grid .method-icon i{
  display:block;
  font-size:1.9rem;
  line-height:1;
}

.method-card-yellow .method-icon{
  color:#A97100;
  background:linear-gradient(145deg,#FFF5C4,#FFDD72);
}

.method-card-blue .method-icon{
  color:#0C5BC3;
  background:linear-gradient(145deg,#EAF5FF,#D2E9FF);
}

.method-card-green .method-icon{
  color:#087C52;
  background:linear-gradient(145deg,#E4F8EF,#C9F0DC);
}

.method-grid .method-card h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:1.04rem;
  line-height:1.15;
  letter-spacing:-.01em;
}

.method-grid .method-card p{
  max-width:220px;
  margin:0;
  color:#66799B;
  font-size:.82rem;
  line-height:1.46;
}

@media(max-width:1000px){
  .method-heading{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:30px;
  }
  .method-title-block{max-width:690px}
  .method-route-art{min-height:185px}
  .method-route-art svg{max-width:690px}
  .method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .method-grid::before{display:none}
}

@media(max-width:560px){
  .method{padding:54px 0 60px}
  .method .container{width:min(calc(100% - 48px),1180px)}
  .method-heading h2{font-size:clamp(2.2rem,10.8vw,2.75rem)}
  .method-heading .stroke{width:145px;margin-left:0}
  .method-heading p{font-size:.94rem}
  .method-route-art{min-height:150px;margin-top:-6px}
  .method-route-art svg{max-width:430px}

  /* Mobile: tarjetas en 2 columnas para evitar una sección excesivamente larga. */
  .method-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .method-grid .method-card{
    min-height:146px;
    padding:16px 12px 15px;
  }
  .method-grid .method-icon{
    width:52px;
    height:52px;
    min-height:52px;
    margin-bottom:10px;
    border-radius:16px;
  }
  .method-grid .method-icon i{font-size:1.5rem}
  .method-grid .method-card h3{font-size:.92rem}
  .method-grid .method-card p{font-size:.72rem;line-height:1.35}
}

/* ==========================================================
   ICONOGRAFIA PREMIUM · VALORES + HABILIDADES
   ========================================================== */
.value-icon{
  width:82px;
  height:82px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(145deg,#EEF6FF 0%,#D9EAFF 100%);
  color:#0F469B;
  box-shadow:0 12px 26px rgba(22,78,151,.12), inset 0 0 0 1px rgba(255,255,255,.75);
  transform:translateZ(0);
}
.value-icon i{
  font-size:2rem;
  line-height:1;
}
.value-yellow .value-icon{
  color:#A76E00;
  background:linear-gradient(145deg,#FFF5C7 0%,#FFD965 100%);
}
.value h3{
  margin-top:2px;
  font-size:1.03rem;
  line-height:1.15;
}
.value p{
  max-width:155px;
  margin:7px auto 0;
}
.value:hover .value-icon{
  transform:translateY(-3px) rotate(-1deg);
  box-shadow:0 16px 30px rgba(22,78,151,.16), inset 0 0 0 1px rgba(255,255,255,.8);
}

.skill{
  min-height:82px;
  padding:11px 10px 10px;
  gap:7px;
  border:1px solid rgba(20,61,117,.05);
  box-shadow:0 8px 18px rgba(20,61,117,.06);
  transition:transform .2s ease,box-shadow .2s ease;
}
.skill:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(20,61,117,.10);
}
.skill b{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 6px 14px rgba(20,61,117,.08);
  font-size:1rem;
  line-height:1;
}
.skill b i{
  font-size:1rem;
  line-height:1;
}
.skill-yellow b{color:#B47A00}
.skill-green b{color:#0B8A5B}
.skill-blue b{color:#176ED6}
.skill-red b{color:#D52A45}

@media(max-width:720px){
  .value-icon{width:70px;height:70px;border-radius:20px}
  .value-icon i{font-size:1.7rem}
  .skill{min-height:78px}
  .skill b{width:32px;height:32px}
}

/* ==========================================================
   VALORES · PALETA DIFERENCIADA FINAL
   Responsabilidad / Independencia / Cooperacion / Servicio
   ========================================================== */
.value-responsabilidad .value-icon{
  color:#1558B0;
  background:linear-gradient(145deg,#EEF5FF 0%,#D9E9FF 100%);
  box-shadow:0 12px 26px rgba(21,88,176,.12),inset 0 0 0 1px rgba(255,255,255,.78);
}

.value-independencia .value-icon{
  color:#148552;
  background:linear-gradient(145deg,#EEF9F2 0%,#D2F0DF 100%);
  box-shadow:0 12px 26px rgba(20,133,82,.12),inset 0 0 0 1px rgba(255,255,255,.78);
}

.value-cooperacion .value-icon{
  color:#A96F00;
  background:linear-gradient(145deg,#FFF7D2 0%,#FFE184 100%);
  box-shadow:0 12px 26px rgba(184,126,0,.12),inset 0 0 0 1px rgba(255,255,255,.78);
}

.value-servicio .value-icon{
  color:#da1620;
  background:linear-gradient(145deg,#fdecee 0%,#f5cfcf 100%);
  box-shadow:0 12px 26px rgb(161 13 13 / 12%), inset 0 0 0 1px rgba(255, 255, 255, .78);
  
}

.value-responsabilidad:hover .value-icon{
  box-shadow:0 17px 32px rgba(21,88,176,.17),inset 0 0 0 1px rgba(255,255,255,.82);
}
.value-independencia:hover .value-icon{
  box-shadow:0 17px 32px rgba(13,142,161,.17),inset 0 0 0 1px rgba(255,255,255,.82);
}
.value-cooperacion:hover .value-icon{
  box-shadow:0 17px 32px rgba(184,126,0,.16),inset 0 0 0 1px rgba(255,255,255,.82);
}
.value-servicio:hover .value-icon{
  box-shadow:0 17px 32px rgba(20,133,82,.16),inset 0 0 0 1px rgba(255,255,255,.82);
}

/* ==========================================================
   HEADER SECCIONES · MISMO COMPORTAMIENTO QUE HOME
   88px al inicio -> 64px al hacer scroll.
   Logo alineado al mismo eje de .container.
   ========================================================== */
@media (min-width:721px){
  :root{
    --sections-header-shell-width:min(calc(100vw - 24px), var(--hero-max));
    --sections-page-content-start:max(24px, calc((100vw - var(--container)) / 2));
    --sections-header-shell-start:calc((100vw - var(--sections-header-shell-width)) / 2);
    --sections-header-inner-gutter:max(12px, calc(var(--sections-page-content-start) - var(--sections-header-shell-start)));
  }

  .hero-header,
  .hero-header.header-scrolled{
    position:fixed;
    top:20px;
    left:50%;
    width:var(--sections-header-shell-width);
    max-width:var(--hero-max);
    transform:translateX(-50%);

    padding-left:var(--sections-header-inner-gutter);
    padding-right:var(--sections-header-inner-gutter);

    grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:clamp(18px,2vw,30px);

    transition:
      height .24s cubic-bezier(.22,.61,.36,1),
      min-height .24s cubic-bezier(.22,.61,.36,1),
      padding .24s cubic-bezier(.22,.61,.36,1),
      box-shadow .24s ease,
      background-color .24s ease;
  }

  .hero-header{
    height:88px;
    min-height:88px;
  }

  .hero-header.header-scrolled{
    height:64px;
    min-height:64px;
    background:rgba(255,255,255,.985);
    box-shadow:0 7px 22px rgba(27,65,123,.16);
  }

  .hero-header .brand,
  .hero-header.header-scrolled .brand{
    min-width:190px;
    margin:0;
    padding:0;
    flex-shrink:0;
  }

  .hero-header .brand img,
  .hero-header.header-scrolled .brand img{
    width:39px;
    height:44px;
  }

  .hero-header .brand strong,
  .hero-header.header-scrolled .brand strong{
    font-size:1.02rem;
  }

  .hero-header .brand small,
  .hero-header.header-scrolled .brand small{
    margin-top:5px;
    font-size:.62rem;
  }

  .hero-header .btn-header,
  .hero-header.header-scrolled .btn-header{
    min-height:46px;
    padding-inline:24px;
    flex-shrink:0;
  }

  .hero-header .main-nav{
    min-width:0;
    justify-content:center;
    gap:clamp(18px,1.8vw,30px);
  }
}

/* Cambia a navegación compacta antes de empezar a deformarse. */
@media (min-width:721px) and (max-width:1180px){
  .hero-header,
  .hero-header.header-scrolled{
    padding-left:var(--sections-header-inner-gutter);
    padding-right:24px;
    grid-template-columns:auto 1fr auto;
    column-gap:18px;
  }

  .hero-header .brand{min-width:180px;}

  .hero-header .btn-header,
  .hero-header.header-scrolled .btn-header{
    max-width:220px;
    padding-inline:22px;
  }
}

@media (max-width:1100px){
  .hero-header .main-nav{
    top:calc(100% + 10px);
  }
}

@media (max-width:720px){
  .hero-header,
  .hero-header.header-scrolled{
    top:10px;
    left:50%;
    width:calc(100% - 20px);
    min-height:60px;
    height:60px;
    padding-left:13px;
    padding-right:13px;
    transform:translateX(-50%);
  }
}

/* HERO SECCIONES · TITULO EN 2 LINEAS */
@media (min-width:721px){

  .hero-secciones .hero-copy{
    width:760px;
    max-width:760px;
  }

  .hero-secciones .hero-copy h1{
    width:760px;
    max-width:760px;
    font-size:clamp(3.35rem,4.1vw,4.55rem);
    line-height:.93;
    letter-spacing:-.055em;
  }

  .hero-secciones .hero-copy h1 span{
    display:block;
    color:var(--yellow);
    white-space:nowrap;
  }
}
/* MOBILE 2026 · hamburger homologado */
@media (max-width:720px){
  .hero-header .menu-toggle span{
    background:#0D2A6B !important;
    opacity:1 !important;
  }
}
