/* =========================================================
   SAME · Depresión
   ========================================================= */

:root {
  --bg-1: #F4FAFD;
  --bg-2: #FFFFFF;
  --line: #DAEAF2;

  --text-1: #0F172A;
  --text-2: #334155;

  --brand: #0EA5E9;
  --brand-ink: #075985;
  --brand-2: #22C55E;
  --brand-fade: rgba(14, 165, 233, .10);

  --font: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --radius: 20px;
  --shadow-sm: 0 8px 24px rgba(15, 23, 42, .06);
  --shadow-md: 0 16px 40px rgba(15, 23, 42, .08);
}

/* Reset mínimo */
*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background:
    radial-gradient(1100px 760px at 12% -10%, var(--brand-fade), transparent 55%),
    var(--bg-1);
  color: var(--text-1);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Sección principal */
.main-section {
  padding: clamp(28px, 5vw, 72px) 16px;
}

/* Contenedor */
.main-container {
  max-width: 1100px;
  margin: 0 auto;
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: clamp(20px, 4vw, 44px);

  display: grid;
  grid-template-columns: 1.15fr .85fr; /* SIEMPRE texto izquierda / imagen derecha */
  gap: clamp(18px, 4vw, 36px);
  align-items: center;

  position: relative;
  isolation: isolate;
}

/* Halo decorativo */
.main-container::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(520px 220px at 0% 0%, var(--brand-fade), transparent 70%),
    radial-gradient(620px 260px at 100% 100%, rgba(34, 197, 94, .10), transparent 70%);
  z-index: -1;
}

/* Título */
.welcome-title {
  margin: 0 0 12px 0;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.12;
  font-size: clamp(26px, 4.6vw, 42px);

  /* degradado sky→green */
  display: inline-block;
  background-image: linear-gradient(90deg, var(--brand), var(--brand-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: relative;
}
.welcome-title::after {
  content: "";
  position: absolute; left: 0; bottom: -10px;
  width: clamp(120px, 32%, 240px);
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  opacity: .25;
}

/* Párrafo */
.main-description {
  margin: 0;
  color: var(--text-2);
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.7;
}

/* Imagen */
.logo-block { display: flex; justify-content: center; align-items: center; }
.main-image {
  width: clamp(180px, 38vw, 360px);
  height: auto;
  border-radius: 14px;
  padding: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0));
  box-shadow: var(--shadow-md);
  transition: transform .25s ease, box-shadow .25s ease;
}

/* Hover */
.main-container:hover .main-image { transform: translateY(-2px); }

/* Ajustes móviles sin cambiar el orden */
@media (max-width: 899px) {
  .main-container {
    grid-template-columns: 1fr; /* Se apilan pero texto sigue primero */
    text-align: center;
  }
  .welcome-title::after {
    left: 50%;
    transform: translateX(-50%);
    width: clamp(100px, 42vw, 220px);
  }
}

@media (max-width: 520px) {
  .main-section { padding: 22px 12px; }
  .main-container { padding: 18px; }
  .main-image { padding: 10px; }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .main-container:hover .main-image { transform: none; }
  .main-image { transition: none; }
}

/* Print */
@media print {
  body { background: #fff; }
  .main-section { padding: 0; }
  .main-container { box-shadow: none; border: 1px solid #ddd; padding: 24px; }
  .welcome-title::after { display: none; }
}