/* ==========================================================================
   Avarida Group — Inner pages (About, Services, Process, Contact)
   Shared page-hero + page-specific sections.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Inner-page hero (pt-32 gradient wash) — used by all sub-pages
   -------------------------------------------------------------------------- */

.avarida-phero {
  position: relative;
  overflow: hidden;
  padding-top: 8rem;
  padding-bottom: 3rem;
}

@media (min-width: 1024px) { .avarida-phero { padding-top: 10rem; } }

.avarida-phero__blobs { position: absolute; inset: 0; z-index: -1; pointer-events: none; }

.avarida-phero__wash {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 55vh;
  background: linear-gradient(to bottom, var(--lavender-soft), transparent);
}

.avarida-phero__blob {
  position: absolute;
  top: -8rem;
  left: -8rem;
  height: 400px;
  width: 400px;
  border-radius: 9999px;
  background: color-mix(in oklab, var(--primary) 15%, transparent);
  filter: blur(120px);
}

.avarida-phero__blob--right { left: auto; right: 0; }

.avarida-phero__inner {
  margin-inline: auto;
  max-width: var(--avarida-container);
  padding-inline: 1.25rem;
}

@media (min-width: 1024px) { .avarida-phero__inner { padding-inline: 2rem; } }

.avarida-section--tight { padding-top: 2.5rem; }

/* --------------------------------------------------------------------------
   About
   -------------------------------------------------------------------------- */

.avarida-about__grid { display: grid; gap: 3rem; align-items: center; }

@media (min-width: 1024px) { .avarida-about__grid { grid-template-columns: 1.2fr 1fr; } }

.avarida-about__founder {
  margin-top: 1.5rem;
  border-radius: 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  padding: 1.25rem;
}

.avarida-about__founder-eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--primary);
  margin: 0;
}

.avarida-about__founder-body { margin: 0.5rem 0 0; font-size: 0.875rem; color: var(--muted-foreground); line-height: 1.625; }

.avarida-about__portrait { position: relative; }

.avarida-about__portrait-glow {
  position: absolute;
  inset: -1.5rem;
  background: var(--gradient-primary);
  opacity: 0.2;
  filter: blur(48px);
  border-radius: 9999px;
}

.avarida-about__portrait-card {
  position: relative;
  border-radius: 1.5rem;
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-elegant);
  overflow: hidden;
}

.avarida-about__portrait-img { aspect-ratio: 4 / 5; background: linear-gradient(to bottom right, var(--lavender), var(--accent)); display: flex; align-items: center; justify-content: center; }
.avarida-about__portrait-img img { width: 100%; height: 100%; object-fit: cover; }

.avarida-about__portrait-ph { text-align: center; padding-inline: 1.5rem; }
.avarida-about__portrait-ph span { display: block; margin: 0 auto; height: 6rem; width: 6rem; border-radius: 9999px; background: var(--gradient-primary); box-shadow: var(--shadow-elegant); }
.avarida-about__portrait-ph p { margin-top: 1rem; font-family: ui-monospace, monospace; font-size: 0.875rem; color: var(--muted-foreground); }

.avarida-about__portrait-meta { padding: 1.25rem; border-top: 1px solid var(--border); }
.avarida-about__portrait-role { margin: 0; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted-foreground); font-weight: 600; }
.avarida-about__portrait-name { margin: 0.25rem 0 0; font-size: 1.125rem; font-weight: 700; color: var(--ink); }

/* Values grid */
.avarida-values__grid { margin-top: 3rem; display: grid; gap: 1.25rem; }

@media (min-width: 640px) { .avarida-values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .avarida-values__grid { grid-template-columns: repeat(3, 1fr); } }

.avarida-value { border-radius: 1rem; border: 1px solid var(--border); background: var(--card); padding: 1.5rem; }

.avarida-value__icon {
  display: flex;
  height: 2.75rem;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: var(--accent);
  color: var(--primary);
}

.avarida-value__icon svg { height: 1.25rem; width: 1.25rem; }
.avarida-value__title { margin: 1rem 0 0; font-size: 1.125rem; font-weight: 600; color: var(--ink); }
.avarida-value__body { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--muted-foreground); }

/* --------------------------------------------------------------------------
   Services page — 2-column card grid + full-system banner
   -------------------------------------------------------------------------- */

.avarida-services__grid--2 { margin-top: 0; }

@media (min-width: 768px) { .avarida-services__grid--2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .avarida-services__grid--2 { grid-template-columns: repeat(2, 1fr); } }

.avarida-fullsystem {
  margin-top: 3.5rem;
  border-radius: 1.5rem;
  background: var(--lavender-soft);
  border: 1px solid var(--border);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
}

@media (min-width: 1024px) { .avarida-fullsystem { padding: 3rem; flex-direction: row; align-items: center; } }

.avarida-fullsystem__title { margin: 0; font-size: 1.5rem; font-weight: 700; color: var(--ink); }
@media (min-width: 1024px) { .avarida-fullsystem__title { font-size: 1.875rem; } }
.avarida-fullsystem__sub { margin: 0.5rem 0 0; color: var(--muted-foreground); }

/* --------------------------------------------------------------------------
   Contact page
   -------------------------------------------------------------------------- */

.avarida-contact__grid { display: grid; gap: 2.5rem; }

@media (min-width: 1024px) { .avarida-contact__grid { grid-template-columns: 1.3fr 1fr; } }

.avarida-cform {
  border-radius: 1.5rem;
  background: var(--card);
  border: 1px solid var(--border);
  padding: 1.5rem;
  box-shadow: var(--shadow-elegant);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

@media (min-width: 1024px) { .avarida-cform { padding: 2.5rem; } }

.avarida-cform__row { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .avarida-cform__row { grid-template-columns: repeat(2, 1fr); } }

.avarida-field label { font-size: 0.875rem; font-weight: 600; color: var(--ink); display: block; }
.avarida-req { color: var(--primary); }

.avarida-field input,
.avarida-field select,
.avarida-field textarea {
  margin-top: 0.5rem;
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid var(--border);
  background: var(--background);
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--ink);
}

.avarida-field input::placeholder,
.avarida-field textarea::placeholder { color: var(--muted-foreground); }

.avarida-field input:focus,
.avarida-field select:focus,
.avarida-field textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--primary) 40%, transparent);
  border-color: transparent;
}

.avarida-cform button { align-self: flex-start; }

.avarida-cform__notice { margin: 0; border-radius: 0.75rem; padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 600; }
.avarida-cform__notice--ok { background: color-mix(in oklab, var(--primary) 12%, transparent); color: var(--primary); }
.avarida-cform__notice--err { background: color-mix(in oklab, var(--destructive) 12%, transparent); color: var(--destructive); }

.avarida-contact__aside { display: flex; flex-direction: column; gap: 1rem; }

.avarida-dcard {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--border);
  background: var(--card);
  padding: 1.25rem;
  text-decoration: none;
}

.avarida-dcard__icon {
  display: flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: var(--gradient-primary);
  color: var(--primary-foreground);
  flex: none;
}

.avarida-dcard__icon svg { height: 1.25rem; width: 1.25rem; }
.avarida-dcard__label { margin: 0; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted-foreground); font-weight: 600; }
.avarida-dcard__value { margin: 0.125rem 0 0; font-size: 1rem; font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.avarida-response { border-radius: 1.5rem; background: var(--lavender-soft); border: 1px solid var(--border); padding: 1.5rem; }
.avarida-response__eyebrow { margin: 0; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--primary); font-weight: 700; }
.avarida-response__big { margin: 0.5rem 0 0; font-size: 1.125rem; font-weight: 600; color: var(--ink); }
.avarida-response__sub { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--muted-foreground); }
