/* Homepage refinements. Desktop composition and brand identity are retained. */
.home-page .home-experience .home-actions {
 display:grid;
 grid-template-columns:1fr;
 width:max-content;
 max-width:100%;
 gap:12px;
}
.home-page .home-experience .home-actions > a {
 display:inline-flex;
 align-items:center;
 justify-content:space-between;
 box-sizing:border-box;
 width:100%;
 max-width:100%;
 margin:0;
}

/* Keep phone media proportional and let text determine card height. */
@media (max-width: 739px) {
  .home-page .home-shell { width: calc(100% - 32px); }
  .home-page .home-section,
  .home-page .home-explore,
  .home-page .home-build-section,
  .home-page .home-experience,
  .home-page .home-commercial { padding: 32px 0; }
  .home-page .home-section-head { margin-bottom: 24px; }
  .home-page .home-section-head h2,
  .home-page .home-build-intro h2,
  .home-page .home-experience-copy h2,
  .home-page .home-commercial-head h2,
  .home-page .home-cta-box h2 { font-size: 1.625rem !important; line-height: 1.18 !important; }
  .home-page .home-section-head > p:last-child,
  .home-page .home-project p,
  .home-page .home-build-intro > p:not(.home-eyebrow),
  .home-page .home-build-item p,
  .home-page .home-experience-copy > p:not(.home-eyebrow),
  .home-page .home-commercial-head > p,
  .home-page .home-cta-box > p:not(.home-eyebrow) { font-size: 1rem !important; line-height: 1.6 !important; }
  .home-page .home-proof-section { padding: 16px 0; }
  .home-page .home-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
  .home-page .home-proof-item { padding: 16px 12px; min-width: 0; background: transparent; border-bottom: 0; }
  .home-page .home-proof-item:nth-child(odd) { border-right: 1px solid var(--home-line); }
  .home-page .home-proof-item:nth-child(-n + 2) { border-bottom: 1px solid var(--home-line); }
  .home-page .home-proof-item strong { font-size: 0.95rem; }
  .home-page .home-proof-item span { font-size: 0.85rem; }
  .home-page .home-project-grid { gap: 24px; }
  .home-page .home-project-image,
  .home-page .home-experience-media { aspect-ratio: 16 / 9; }
  .home-page .home-project-image img,
  .home-page .home-experience-media video { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
  .home-page .home-project-body { padding: 20px; }
  .home-page .home-project small { white-space: normal; line-height: 1.5; margin-bottom: 8px; }
  .home-page .home-project h3 { font-size: 1.35rem !important; }
  .home-page .home-project-link { align-self: flex-start; }
  .home-page .home-explore-grid { margin: 0; gap: 12px; }
  .home-page .home-explore-card { display: grid; grid-template-columns: 32% minmax(0, 1fr); height: auto; min-height: 124px; }
  .home-page .home-explore-image { position: relative; min-width: 0; }
  .home-page .home-explore-image img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .home-page .home-explore-content { min-width: 0; padding: 16px 26px 16px 14px; }
  .home-page .home-explore-content h3 { line-height: 1.3 !important; }
  .home-page .home-build-list { margin: 20px 0 0; }
  .home-page .home-build-item { display: block; padding: 18px 0; min-height: 0; }
  .home-page .home-build-item:first-child,
  .home-page .home-build-item:last-child { padding: 18px 0; }
  .home-page .home-build-item > span { display: none; }
  .home-page .home-build-item::before { left: 0; right: 0; }
  .home-page .home-build-item h3 { margin: 0 0 8px; }
  .home-page .home-experience-grid { gap: 24px; }
  .home-page .home-experience-media span { left: 16px; bottom: 14px; font-size: 0.75rem; }
  .home-page .home-experience .home-actions { width: min(100%, 300px); }
  .home-page .home-commercial .mosaic-grid { grid-auto-rows: clamp(96px, 28vw, 140px); }
  .home-page .home-cta { padding: 32px 0 48px; }
  .home-page .home-cta-box { padding: 28px 18px; }
  .home-page .home-cta-box .home-actions { align-items: stretch; }
  .home-page .home-cta-box .home-actions > a { width: 100%; white-space: normal; min-height: 44px; }
}

/* Keep tablet and desktop media proportional, independent of HTML dimensions. */
@media (min-width: 740px) {
  .home-page .home-project-image,
  .home-page .home-experience-media {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    aspect-ratio: 16 / 9;
    flex: none;
  }
  .home-page .home-project-image img,
  .home-page .home-experience-media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
  }
}

/* Paired mobile actions share typography and a fixed arrow column. */
@media (max-width: 739px) {
  .home-page .home-actions { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; }
  .home-page .home-actions > a.btn-link,
  .home-page .home-actions > a.home-secondary-btn {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    border-width: 1px;
    border-style: solid;
    margin: 0;
    padding: 13px 44px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
    white-space: normal;
  }
  .home-page .home-actions > a.btn-link { border-color: transparent; }
  .home-page .home-actions > a .cta-arrow {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    margin: 0;
  }
  .home-page .home-actions > a .cta-arrow svg { width: 18px; height: 18px; }
}
