/* Amarix Studio — About / Contact / policy page layouts */

/* Shared page-top hero band (services, about, contact, policy) */
.amx-page-hero { padding: 140px 0 72px; position: relative; overflow: hidden; }
.amx-page-hero h1 { color: var(--amx-slate-50); max-width: 18ch; }
.amx-page-hero > .amx-shell > p,
.amx-page-hero .amx-contact-hero-grid > div > p,
.amx-page-hero .amx-about-hero-grid p { max-width: 60ch; font-size: 1.05rem; }

@media (max-width: 900px) {
  .amx-page-hero { padding: 112px 0 56px; }
}

/* About hero */
.amx-about-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.amx-about-hero-grid .amx-actions { margin-top: 28px; }

/* About story — two cards side by side */
.amx-about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.amx-about-story .amx-card h2 { font-size: 1.4rem; }
.amx-about-steps { list-style: none; margin: 0; padding: 0; counter-reset: amx-step; }
.amx-about-steps li {
  position: relative;
  padding: 14px 0 14px 44px;
  border-bottom: 1px solid var(--amx-slate-200);
  counter-increment: amx-step;
}
.amx-about-steps li:last-child { border-bottom: 0; padding-bottom: 0; }
.amx-about-steps li::before {
  content: counter(amx-step);
  position: absolute; left: 0; top: 12px;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--amx-gradient-brand);
  color: #fff; font-size: .8rem; font-weight: 700;
  font-family: var(--amx-font-heading);
}
.amx-about-steps strong { display: block; font-size: .98rem; margin-bottom: 2px; }
.amx-about-steps span { color: var(--amx-slate-500); font-size: .9rem; }

/* About business band */
.amx-about-business { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }

/* Shared business-info card (About + Contact side) */
.amx-business-card { padding: 28px; }
.amx-business-card strong { display: block; font-family: var(--amx-font-heading); font-size: 1.1rem; margin-bottom: 10px; }
.amx-business-card p { font-size: .9rem; margin-bottom: 10px; }
.amx-business-card a:hover { color: var(--amx-secondary); }
.amx-side-label {
  display: block;
  font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--amx-secondary); margin-bottom: 14px;
}

/* Contact hero */
.amx-contact-hero-grid { display: grid; grid-template-columns: 1.4fr .9fr; gap: 32px; align-items: center; }
.amx-contact-promise { padding: 24px; align-self: center; }
.amx-contact-promise strong { display: block; color: var(--amx-slate-50); font-family: var(--amx-font-heading); font-size: 1.1rem; }
.amx-contact-promise span { color: var(--amx-slate-400); font-size: .9rem; }

/* Contact body — form + sidebar */
.amx-contact-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: start; }
.amx-contact-side { display: flex; flex-direction: column; gap: 20px; }
.amx-contact-steps { padding: 28px; }
.amx-contact-steps ol { list-style: none; margin: 0; padding: 0; counter-reset: amx-cstep; }
.amx-contact-steps li {
  position: relative; padding: 10px 0 10px 40px; counter-increment: amx-cstep;
}
.amx-contact-steps li::before {
  content: counter(amx-cstep);
  position: absolute; left: 0; top: 8px;
  width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--amx-slate-100); color: var(--amx-secondary);
  font-size: .78rem; font-weight: 700;
}
.amx-contact-steps strong { display: block; font-size: .95rem; }
.amx-contact-steps span { color: var(--amx-slate-500); font-size: .88rem; }

/* Contact Form 7 styling inside the form wrap */
.amx-contact-form-wrap form label {
  display: block;
  font-size: .85rem; font-weight: 600; color: var(--amx-slate-700);
  margin-bottom: 16px;
}
.amx-contact-form-wrap input[type="text"],
.amx-contact-form-wrap input[type="email"],
.amx-contact-form-wrap input[type="url"],
.amx-contact-form-wrap select,
.amx-contact-form-wrap textarea {
  width: 100%;
  margin-top: 6px;
  padding: 12px 14px;
  font: inherit;
  color: var(--amx-primary);
  background: #fff;
  border: 1px solid var(--amx-slate-300);
  border-radius: var(--amx-radius-sm);
  transition: border-color .2s var(--amx-ease), box-shadow .2s var(--amx-ease);
}
.amx-contact-form-wrap textarea { min-height: 140px; resize: vertical; }
.amx-contact-form-wrap input:focus,
.amx-contact-form-wrap select:focus,
.amx-contact-form-wrap textarea:focus {
  outline: none;
  border-color: var(--amx-secondary);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, .15);
}
.amx-contact-form-wrap input[type="submit"] {
  width: auto;
  margin-top: 8px;
  padding: 14px 28px;
  font-weight: 600;
  color: #fff;
  background: var(--amx-gradient-brand);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: var(--amx-shadow-md);
  transition: transform .25s var(--amx-ease), box-shadow .25s var(--amx-ease);
}
.amx-contact-form-wrap input[type="submit"]:hover { transform: translateY(-2px); box-shadow: var(--amx-shadow-lg); }
.amx-contact-form-wrap .wpcf7-not-valid-tip { color: #dc2626; font-size: .8rem; font-weight: 500; }
.amx-contact-form-wrap .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: var(--amx-radius-sm);
  font-size: .9rem;
}

/* Policy / legal prose pages */
.amx-policy { max-width: 760px; }
.amx-policy h2 { font-size: 1.3rem; margin: 32px 0 12px; }
.amx-policy p { margin-bottom: 16px; }
.amx-policy a { color: var(--amx-secondary); }
.amx-policy a:hover { text-decoration: underline; }
.amx-policy ul, .amx-policy ol { margin: 0 0 16px; padding-left: 22px; }
.amx-policy li { margin-bottom: 8px; color: var(--amx-slate-600); }

/* Responsive */
@media (max-width: 900px) {
  .amx-about-story { grid-template-columns: 1fr; }
  .amx-about-business { grid-template-columns: 1fr; }
  .amx-contact-hero-grid { grid-template-columns: 1fr; }
  .amx-contact-grid { grid-template-columns: 1fr; }
}
