/* gastroperegrino.html */

.hero{position:relative;overflow:hidden;padding:6.5rem 0 5rem;background:linear-gradient(135deg,var(--dark),var(--dark-blue),var(--primary));color:var(--white)}
    .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(111,163,240,.35),transparent 34%),linear-gradient(rgba(10,15,30,.58),rgba(10,15,30,.72));opacity:.95;pointer-events:none}
    .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
    .eyebrow{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.5rem 1rem;font-size:.85rem;margin-bottom:1.5rem}
    h1{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.02;margin-bottom:1rem}
    .hero-lead{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,3rem);color:var(--white);margin-bottom:1rem}
    .hero p{font-size:1.06rem;line-height:1.8;color:rgba(255,255,255,.86);max-width:700px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
    .hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);border-radius:30px;padding:2rem;box-shadow:0 20px 60px rgba(0,0,0,.22)}
    .hero-card h3{font-size:1.5rem;margin-bottom:1rem}
    .hero-card ul{list-style:none;display:grid;gap:.9rem;color:rgba(255,255,255,.78);line-height:1.6}

    .section{padding:5.5rem 0}
    .section--soft{background:var(--bg-2)}
    .section--dark{background:var(--dark);color:var(--white)}
    .section-header{margin-bottom:2.4rem}
    .section-tag{display:inline-flex;padding:.5rem 1rem;border-radius:999px;background:var(--primary-pale);color:var(--primary);font-size:.82rem;font-weight:800;margin-bottom:1rem}
    .section--dark .section-tag{background:rgba(255,255,255,.1);color:var(--white)}
    .section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.35rem);margin-bottom:1rem;max-width:960px}
    .section-subtitle{max-width:840px;color:var(--muted);line-height:1.8}
    .section--dark .section-subtitle{color:rgba(255,255,255,.75)}

    .intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
    .intro-image{
      min-height:380px;
      border-radius:34px;
      background:#fff url('/assets/img/logo-gastroperegrino.webp') center/contain no-repeat;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
    }
    .intro-content p{color:var(--muted);line-height:1.85;margin-bottom:1.2rem}

    .impact-cycle{max-width:1100px;margin:0 auto}

    .impact-cycle__layout{
      position:relative;
      width:100%;
      min-height:720px;
      color:var(--primary);
    }

    .impact-cycle__loop{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      z-index:0;
      pointer-events:none;
    }

    .impact-cycle__hub{
      position:absolute;
      left:50%;
      top:51%;
      transform:translate(-50%,-50%);
      z-index:1;
      display:grid;
      place-items:center;
      width:clamp(120px,16vw,168px);
      height:clamp(120px,16vw,168px);
      padding:1rem;
      background:var(--white);
      border:1px solid var(--border);
      border-radius:28px;
      box-shadow:var(--shadow);
    }

    .impact-cycle__hub img{
      width:100%;
      height:100%;
      object-fit:contain;
    }

    .impact-cycle__card{
      position:absolute;
      z-index:2;
      width:min(230px,24vw);
      background:var(--white);
      border:1px solid var(--border);
      border-radius:28px;
      padding:1.35rem 1.2rem 1.25rem;
      box-shadow:var(--shadow);
      text-align:center;
      transform:translate(-50%,-50%);
    }

    .impact-cycle__index{
      display:block;
      margin-bottom:.55rem;
      color:var(--primary);
      font-family:var(--font-display);
      font-size:clamp(1.6rem,2.4vw,2rem);
      line-height:1;
      font-weight:700;
    }

    .impact-cycle__card p{
      margin:0;
      color:var(--muted);
      font-size:clamp(.82rem,.95vw,.92rem);
      line-height:1.55;
      text-align:center;
    }

    .impact-cycle__card p strong{
      color:var(--text);
      font-weight:800;
    }

    .impact-cycle__card--1{left:50%;top:6%}
    .impact-cycle__card--2{left:90%;top:28%}
    .impact-cycle__card--3{left:78%;top:88%}
    .impact-cycle__card--4{left:22%;top:88%}
    .impact-cycle__card--5{left:10%;top:28%}

    .gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1rem}
    .gallery-item{
      min-height:260px;
      border-radius:30px;
      overflow:hidden;
      position:relative;
      background:center/cover no-repeat;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
    }
    .gallery-item::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,15,30,.45),rgba(10,15,30,.05));z-index:0}
    .gallery-large{
      grid-row:span 2;
      min-height:540px;
      background-image:url('/assets/img/Gastroperegrino2.webp');
    }
    .gallery-gp-3{background-image:url('/assets/img/Gastroperegrino3.webp')}
    .gallery-gp-4{background-image:url('/assets/img/Gastroperegrino4.webp')}
    .gallery-gp-5{background-image:url('/assets/img/Gastroperegrino7.webp')}
    .gallery-gp-6{background-image:url('/assets/img/Gastroperegrino6.webp')}

    .split-impact{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
    .impact-image{
      min-height:520px;
      border-radius:34px;
      background:url('/assets/img/Gastroperegrino5.webp') center/cover no-repeat;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
    }
    .support-list{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
    .support-list span{background:var(--white);color:var(--primary);border:1px solid var(--border);border-radius:999px;padding:.8rem 1rem;font-weight:800}

    .requirements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
    .requirement-card{background:var(--white);border:1px solid var(--border);border-radius:28px;padding:1.6rem;box-shadow:var(--shadow)}
    .requirement-card h3{color:var(--primary);margin-bottom:.8rem}
    .requirement-card p{color:var(--muted);line-height:1.65}

    .cta-panel{background:linear-gradient(135deg,rgba(10,15,30,.96),rgba(27,79,168,.92));color:white;border-radius:36px;padding:3rem;text-align:center;box-shadow:var(--shadow)}
    .cta-panel h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
    .cta-panel p{max-width:760px;margin:auto;color:rgba(255,255,255,.8);line-height:1.8;margin-bottom:2rem}

    @media (max-width: 980px) {
      .hero-grid,
      .intro-grid,
      .split-impact {
        grid-template-columns: 1fr;
      }

      .impact-cycle__layout{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:1rem;
        min-height:0;
        padding-top:.5rem;
      }

      .impact-cycle__loop,
      .impact-cycle__hub{
        display:none;
      }

      .impact-cycle__card{
        position:relative;
        left:auto !important;
        top:auto !important;
        transform:none;
        width:100%;
      }

      .impact-cycle__card--1{
        grid-column:1 / -1;
      }

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

      .gallery-large {
        grid-row: auto;
        grid-column: span 2;
      }

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

      .nav-link {
        display: none;
      }
    }

    @media (max-width: 640px) {
      .hero {
        padding: 5.3rem 0 4rem;
      }

      .impact-cycle__layout{
        grid-template-columns:1fr;
      }

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

      .gallery-large {
        grid-column: span 1;
      }

      .cta-panel {
        padding: 2rem;
      }

      .hero-actions {
        flex-direction: column;
      }

      .btn {
        width: 100%;
      }
    }
