    :root{
      --text: #111;
      --accent: #d71920;
      --accent-dark: #b31319;
      --header-gap: clamp(10px, 2vw, 24px);
      --icon-size: clamp(80px, 6vw, 80px);
      --logo-w: clamp(240px, 45vw, 560px);
      --safe-bottom: env(safe-area-inset-bottom, 0px);
    }

    *,*::before,*::after{ box-sizing:border-box; }
    html,body{ height:100%; overflow:hidden; }
    body{
      margin:0;
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      color:var(--text);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:space-between;
      position:relative;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      background: url("../assets/imgs/fondo.png") no-repeat center center / cover;
      z-index:-1;
    }

    header{
      padding: clamp(8px, 2vw, 20px) clamp(12px, 3vw, 32px);
      z-index:10;
    }
    .brand-strip{
      display:flex;
      align-items:center;
      justify-content:center;
      gap: var(--header-gap);
      flex-wrap: wrap;
    }
    .brand-strip img{
      width: var(--icon-size);
      height: var(--icon-size);
      object-fit: contain;
    }

    main{
      flex: 1 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      z-index: 5;
      padding: 20px;
      padding-bottom: 25vh;
    }
    .hero{
      display:grid;
      gap: clamp(16px, 3vw, 28px);
      align-items:center;
      justify-items:center;
    }
    .hero__logo{
      width: var(--logo-w);
      height:auto;
      max-width: 92vw;
    }
    .btn{
      appearance:none;
      border:0;
      border-radius: 999px;
      background: var(--accent);
      color:#fff;
      padding: clamp(10px, 1.8vw, 14px) clamp(22px, 4vw, 38px);
      font-size: clamp(16px, 2.2vw, 20px);
      font-weight: 60;
      cursor:pointer;
      box-shadow: 0 6px 16px rgba(0,0,0,.18);
    }
    .btn:hover{ background: var(--accent-dark); }

    footer{
      position:absolute;
      bottom:-20px;
      left:0;
      right:0;
      height:auto;
      z-index:4;
      pointer-events:none;
    }
    .bushes{
      position:relative;
      width:100%;
      height:auto;
    }
    .bush{
      position:absolute;
      bottom:0;
      width:100%;
      height:auto;
    }
    .bush--back{ z-index:3; transform: translateY(8px) scale(1.02); }
    .bush--mid{  z-index:2; transform: translateY(4px); }
    .bush--front{z-index:1; }

    .side{
      position:absolute;
      bottom:0;
      width: clamp(90px, 18vw, 350px);
      height:auto;
      z-index:2;
    }
    .side--left{  left: clamp(6px, 3vw, 24px); }
    .side--right{ right: clamp(6px, 3vw, 24px); }

    @media (max-width: 640px){
      .side{ width: clamp(70px, 26vw, 140px); }
    }