/* ==========================================================================
   AOM — R&D Clinical Trials page styles
   Persuade page for sponsors and CROs: the claim (lab + discipline) beside
   the work itself, the compliance facts on the record, then the practical
   answers (flexibility, process, FAQ) and the intake form.
   ========================================================================== */

/* ---------- Hero: title on the canvas, the cleanroom below at framed width ---------- */
.main-wrapper > .ct-hero{margin:0;border-radius:0;--section-inset:0px}
.ct-hero-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding-top:5rem;padding-bottom:3rem;
}
.ct-hero-title{font-size:clamp(2.4rem,4.8vw,3.8rem);letter-spacing:-.03em;max-width:16ch}
.ct-hero-sub{margin-top:1.3rem;font-size:1.08rem;color:var(--grey-700);max-width:52ch}
.ct-hero-actions{display:flex;justify-content:center;gap:.8rem;margin-top:2.2rem;flex-wrap:wrap}
.ct-hero-media{
  margin:0 var(--frame-gap);
  height:clamp(320px,56vh,600px);
  border-radius:var(--radius-card);
  overflow:hidden;
}
.ct-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}

/* ---------- Why AOM: copy + proof list beside the work ---------- */
.ct-why{padding:6.5rem 0}
.ct-why-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:4.5rem;
  align-items:center;
}
.ct-why-title{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:.7rem;max-width:18ch}
.ct-why-text{margin-top:1.1rem;color:var(--grey-700);max-width:54ch}
.ct-why-list{display:flex;flex-direction:column;gap:1rem;margin:2.2rem 0 2.4rem;max-width:56ch}
.ct-why-item{display:flex;gap:.9rem;align-items:flex-start;font-size:.98rem;color:var(--grey-700);line-height:1.5}
.ct-why-item strong{color:var(--ink);font-weight:550}
.ct-check{
  flex:none;
  width:24px;height:24px;margin-top:.1rem;
  border-radius:50%;
  border:1.5px solid var(--purple);
  color:var(--purple);
  display:flex;align-items:center;justify-content:center;
}
.ct-check svg{width:13px;height:13px}
.ct-why-media{
  aspect-ratio:4/5;
  border-radius:var(--radius-card);
  overflow:hidden;
}
.ct-why-media img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){
  .ct-why-inner{grid-template-columns:1fr;gap:2.5rem}
  .ct-why-media{aspect-ratio:4/3;order:-1}
}

/* ---------- Accreditation & compliance: a dark band, three facts on hairlines ---------- */
.ct-compliance{background:var(--ink);color:var(--white);padding:6rem 0}
.ct-compliance-head{margin-bottom:3rem;max-width:40ch}
.ct-compliance-title{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:.7rem}
.ct-compliance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ct-compliance-item{
  padding:1.8rem 2rem 0 0;
  border-top:1px solid rgba(255,255,255,.22);
}
.ct-compliance-item + .ct-compliance-item{padding-left:2rem;border-left:1px solid rgba(255,255,255,.22)}
.ct-compliance-label{
  display:block;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--purple-200);
}
.ct-compliance-item-title{font-size:1.25rem;font-weight:550;margin-top:1rem}
.ct-compliance-item-text{margin-top:.7rem;font-size:.94rem;color:var(--grey-300);max-width:34ch}
@media (max-width:860px){
  .ct-compliance-grid{grid-template-columns:1fr;gap:0}
  .ct-compliance-item{padding:1.6rem 0}
  .ct-compliance-item + .ct-compliance-item{padding-left:0;border-left:0}
}

/* ---------- Flexibility: photo + outlined chips (the PD service-chip idiom) ---------- */
.ct-flex{padding:6.5rem 0}
.ct-flex-inner{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:4.5rem;
  align-items:center;
}
.ct-flex-media{aspect-ratio:1;border-radius:var(--radius-card);overflow:hidden}
.ct-flex-media img{display:block;width:100%;height:100%;object-fit:cover}
.ct-flex-title{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:.7rem;max-width:18ch}
.ct-flex-text{margin-top:1.1rem;color:var(--grey-700);max-width:52ch}
.ct-flex-list{
  display:grid;
  grid-template-columns:repeat(2,max-content);
  gap:.7rem;
  margin-top:2.2rem;
}
.ct-flex-item{
  padding:.8rem 1.1rem;
  border:1.5px solid var(--ink);
  border-radius:10px;
  font-family:var(--font-mono);
  font-size:.76rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.35;
  color:var(--ink);
}
@media (max-width:900px){
  .ct-flex-inner{grid-template-columns:1fr;gap:2.5rem}
  .ct-flex-media{aspect-ratio:4/3}
}
@media (max-width:560px){
  .ct-flex-list{grid-template-columns:1fr}
}

/* ---------- FAQ: the Education pattern (accordion styles are shared in styles.css) ---------- */
.ct-faq{background:var(--paper);padding:6rem 0}
.ct-faq-inner{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:4rem;
  align-items:start;
}
.ct-faq-title{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:.7rem}
.ct-faq-text{margin-top:.9rem;color:var(--grey-700);max-width:34ch}
.ct-faq-list{display:flex;flex-direction:column}
@media (max-width:860px){
  .ct-faq-inner{grid-template-columns:1fr;gap:2rem}
}

/* ---------- Process ---------- */
.ct-process{padding:6rem 0}
.ct-process-head{margin-bottom:2.6rem}
.ct-process-title{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:.6rem}
.ct-process-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
}
.ct-process-step{
  background:var(--grey-100);
  border-radius:var(--radius-card);
  padding:2rem 1.8rem 2.2rem;
}
.ct-process-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--purple);
  color:var(--white);
  font-family:var(--font-mono);
  font-size:.9rem;
}
.ct-process-step-title{font-size:1.12rem;font-weight:550;margin-top:1.2rem}
.ct-process-step-text{margin-top:.6rem;font-size:.92rem;color:var(--grey-700)}
@media (max-width:780px){
  .ct-process-list{grid-template-columns:1fr}
}

/* ---------- R&D form ---------- */
.ct-form-section{background:var(--purple);color:var(--white);padding:6.5rem 0}
.ct-form-inner{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:4rem;
  align-items:start;
}
.ct-form-inner > *{min-width:0}
.ct-form-title{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:.7rem;max-width:14ch}
.ct-form-text{margin-top:1rem;color:var(--purple-100);max-width:40ch}
.ct-form{display:flex;flex-direction:column;gap:1.1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form-field{display:flex;flex-direction:column;gap:.4rem}
.form-label{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--purple-100);
}
.form-input{
  width:100%;
  min-width:0;
  font:inherit;
  font-size:.95rem;
  padding:.85rem 1.1rem;
  border:1.5px solid rgba(255,255,255,.35);
  border-radius:12px;
  background:rgba(255,255,255,.1);
  color:var(--white);
  transition:border-color .25s var(--ease);
}
.form-input:focus{outline:none;border-color:var(--white)}
.form-input option{color:var(--ink)}
textarea.form-input{resize:vertical}
.ct-form .btn{align-self:flex-start;margin-top:.4rem;background:var(--white);color:var(--purple);--btn-sweep:var(--ink)}
.form-success-title{font-size:1.3rem;font-weight:550}
.form-success-text{margin-top:.5rem;color:var(--purple-100)}
@media (max-width:860px){
  .ct-form-inner{grid-template-columns:1fr;gap:2.5rem}
  .form-row{grid-template-columns:1fr}
}
