/* Approved homepage A: v08 source layout and v09 A surfaces.
 * Enqueued only for the nine existing homepage IDs; every selector also requires
 * their ca-home-approved-a body class. Other pages retain approved-c.css.
 */
.ca-home-approved-a .ca-site {
  --ca-rail-edge:max(calc(var(--ca-gutter,80px)/2),calc((100% - 1160px)/2));
}
.ca-home-approved-a .ca-site .ca-c-section-head { display:block; margin:0 0 30px; }
.ca-home-approved-a .ca-site .ca-c-section-head h2 { max-width:780px; margin-bottom:16px; }
.ca-home-approved-a .ca-site .ca-c-section-head p { max-width:65ch; }
.ca-home-approved-a .ca-site .ca-c-direction { display:block; }
.ca-home-approved-a .ca-site .ca-c-direction-body > p { max-width:62ch; }
.ca-home-approved-a .ca-site .ca-form-section {
  width:100%; max-width:none; margin:0; padding-left:var(--ca-rail-edge); padding-right:var(--ca-rail-edge);
}
.ca-home-approved-a .ca-site .ca-form-copy { padding-left:0; }
.ca-home-approved-a .ca-site .ca-form-copy p { max-width:56ch; }

.ca-home-approved-a .ca-site .ca-header,
.ca-home-approved-a .ca-site .ca-c-home-hero,
.ca-home-approved-a .ca-site .ca-c-direction,
.ca-home-approved-a .ca-site .ca-c-services,
.ca-home-approved-a .ca-site .ca-c-service,
.ca-home-approved-a .ca-site .ca-c-service:first-child,
.ca-home-approved-a .ca-site .ca-c-service:last-child { border:0; }
.ca-home-approved-a .ca-site .ca-ru-developer-source {
  width:calc(100% - var(--ca-gutter)); max-width:1160px;
  margin:0 auto 48px; padding:0; border:0;
}
.ca-home-approved-a .ca-site .ca-ru-developer-source h2 {
  max-width:850px; margin:0 0 20px; font-size:clamp(26px,2.5vw,34px);
  font-weight:400; line-height:1.25;
}
.ca-home-approved-a .ca-site .ca-ru-developer-source p {
  max-width:78ch; margin:0; color:var(--ca-muted); font-size:16px; line-height:1.7;
}

.ca-home-approved-a .ca-site .ca-c-directions { padding-bottom:38px; }
.ca-home-approved-a .ca-site .ca-c-direction-grid { gap:24px; align-items:stretch; }
.ca-home-approved-a .ca-site .ca-c-direction { position:relative; padding:28px 30px 30px; border:0; border-radius:12px; background:#edf3f7; }
.ca-home-approved-a .ca-site .ca-c-direction:nth-child(2) { background:#eef3f1; }
.ca-home-approved-a .ca-site .ca-c-direction-body { height:100%; display:flex; flex-direction:column; align-items:flex-start; }
.ca-home-approved-a .ca-site .ca-direction-top { display:flex; width:100%; min-height:100px; align-items:center; justify-content:space-between; gap:14px; margin:0 0 18px; }
.ca-home-approved-a .ca-site .ca-direction-top h3 { margin:0; max-width:60%; font-size:27px; }
.ca-home-approved-a .ca-site .ca-mini-diagram { flex:0 0 160px; width:160px; height:94px; margin:0; color:#446b89; }
.ca-home-approved-a .ca-site .ca-mini-diagram svg { display:block; width:100%; height:100%; }
.ca-home-approved-a .ca-site .ca-diagram-fill { fill:#ffffff66; }
.ca-home-approved-a .ca-site .ca-diagram-accent { stroke:#527d79; }
.ca-home-approved-a .ca-site .ca-c-direction-body > p { max-width:54ch; margin:0 0 20px; color:#4f6578; }
.ca-home-approved-a .ca-site .ca-c-direction-body > .ca-card-link { margin:auto 0 0; padding-top:2px; }
.ca-home-approved-a .ca-site .ca-c-direction-body .ca-card-link a { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.ca-home-approved-a .ca-site .ca-c-services { gap:24px; padding:0; margin-bottom:56px; }
.ca-home-approved-a .ca-site .ca-c-service { padding:20px 0 0; border:0; }
.ca-home-approved-a .ca-site .ca-service-symbol { display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin:0 0 18px; border-radius:10px; background:#edf3f7; color:#406587; }
.ca-home-approved-a .ca-site .ca-service-symbol svg { display:block; width:30px; height:30px; }
.ca-home-approved-a .ca-site .ca-c-service h3 { font-size:19px; }
.ca-home-approved-a .ca-site .ca-c-service p { max-width:37ch; }

@media(max-width:1100px) {
  .ca-home-approved-a .ca-site .ca-direction-top { align-items:flex-start; flex-direction:column-reverse; gap:18px; }
  .ca-home-approved-a .ca-site .ca-direction-top h3 { max-width:100%; }
  .ca-home-approved-a .ca-site .ca-mini-diagram { flex:0 0 auto; width:144px; height:84px; }
}
@media(max-width:600px) {
  .ca-home-approved-a .ca-site .ca-c-section-head h2 { font-size:28px; }
  .ca-home-approved-a .ca-site .ca-c-section-head { margin-bottom:28px; }
  .ca-home-approved-a .ca-site .ca-ru-developer-source { margin-bottom:36px; }
  .ca-home-approved-a .ca-site .ca-c-home-hero .wp-block-button__link { white-space:normal; max-width:100%; text-align:left; }
  .ca-home-approved-a .ca-site .ca-c-direction { padding:22px 24px 24px; border-radius:10px; }
  .ca-home-approved-a .ca-site .ca-c-direction-grid { gap:16px; }
  .ca-home-approved-a .ca-site .ca-direction-top { flex-direction:row; align-items:center; gap:12px; min-height:78px; margin-bottom:16px; }
  .ca-home-approved-a .ca-site .ca-direction-top h3 { font-size:24px; max-width:60%; }
  .ca-home-approved-a .ca-site .ca-mini-diagram { width:110px; height:72px; flex:0 0 110px; }
  .ca-home-approved-a .ca-site .ca-c-direction-body > p { margin-bottom:16px; }
  .ca-home-approved-a .ca-site .ca-c-services { gap:24px; padding:0; margin-bottom:40px; }
  .ca-home-approved-a .ca-site .ca-c-service { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:18px; padding:0; }
  .ca-home-approved-a .ca-site .ca-service-symbol { grid-column:1; grid-row:1/3; width:44px; height:44px; margin:0; }
  .ca-home-approved-a .ca-site .ca-c-service h3,
  .ca-home-approved-a .ca-site .ca-c-service p { grid-column:2; }
}
@media(max-width:380px) {
  .ca-home-approved-a .ca-site .ca-direction-top h3 { font-size:23px; }
  .ca-home-approved-a .ca-site .ca-mini-diagram { flex-basis:95px; width:95px; }
}
