/* Shared content layout. Foundation selectors are intentionally untouched. */
.content-section { padding-block:var(--space-16); }
.content-section--soft { background:var(--surface); }
.section-heading { margin-bottom:var(--space-8); }
.section-heading h2 { font-size:var(--h2); }
.section-heading p { margin-top:var(--space-4); color:var(--copy); }
.content-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:14px; font-weight:600; }
.offerings-grid,.projects-grid,.comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-6); }
.section-tail { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:var(--space-4); margin-top:var(--space-8); }
.section-tail p { font-size:14px; color:var(--copy); }
.body-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.content-section :is(h3,p,a,dd) { overflow-wrap:break-word; }
@media (prefers-reduced-motion:no-preference) {
  [data-reveal].reveal-enter { animation:content-reveal var(--motion-reveal) var(--ease); }
  @keyframes content-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
}
@media (max-width:1023px) {
  .content-section { padding-block:var(--space-12); }
}
@media (max-width:767px) {
  .content-section { padding-block:var(--space-8); }
  .offerings-grid,.projects-grid,.comparison-grid { grid-template-columns:minmax(0,1fr); }
  .section-heading { margin-bottom:var(--space-6); }
  .section-tail { flex-direction:column; align-items:flex-start; }
}

/* Repeated content collections share one compact mobile presentation. */
.ag-swipe-hint,.ag-mobile-controls { display:none; }
@media(max-width:767px) {
 main .ag-mobile-track { display:grid!important; columns:auto!important; grid-template-columns:none!important; grid-template-rows:auto!important; grid-auto-flow:column!important; grid-auto-columns:86%!important; gap:16px!important; align-items:stretch; width:100%; max-width:100%; min-width:0; overflow-x:auto!important; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:0; padding:8px 0 16px!important; scrollbar-width:thin; scrollbar-color:#b6c1ca transparent; }
 main .ag-mobile-track > * { grid-column:auto!important; grid-row:auto!important; min-width:0; max-width:none; margin:0!important; scroll-snap-align:start; }
 main .inner-masonry.ag-mobile-track > .wp-block-image { height:260px; }
 main .inner-masonry.ag-mobile-track img { width:100%; height:100%!important; object-fit:cover; }
 main .ag-mobile-track:focus-visible { outline:1px solid var(--brand); outline-offset:3px; }
 main .ag-swipe-hint { display:block; margin:4px 0 8px; color:var(--copy); font-size:12px; font-weight:350; line-height:1.4; }
 main .ag-mobile-controls { display:flex; justify-content:flex-end; align-items:center; gap:14px; margin:0; color:var(--copy); font-size:12px; }
 .ag-mobile-controls button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; font:400 14px/1 Arial,sans-serif; transition:color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease); }
 .ag-mobile-controls button:hover { color:var(--brand); border-color:var(--card-hover-line); }
 .ag-mobile-controls button:disabled { opacity:.35; cursor:default; }
}
@media(prefers-reduced-motion:reduce) { .ag-mobile-controls button { transition:none; } }
