/* Homepage overview. Full project presentations remain on the Work page. */
.home-page .home-hero { padding:120px 0 64px; }
.home-page .home-hero h1 { max-width:900px; margin-top:20px; font-size:clamp(52px,6.7vw,88px); line-height:1; }
.home-page .hero-lede { max-width:630px; margin-top:22px; font-size:19px; line-height:1.55; }
.home-page .hero-actions { margin-top:26px; }
.home-page .live-projects { padding-bottom:64px; }
.home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.home-section-heading h2 { max-width:660px; margin:10px 0 0; font-size:clamp(28px,3vw,38px); line-height:1.12; letter-spacing:-.04em; }
.home-section-heading > a { flex-shrink:0; font-size:14px; min-height:44px; }
.home-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.home-project { min-width:0; scroll-margin-top:90px; }
.home-project-preview { display:block; padding:18px; border:1px solid #d6e2e9; border-radius:20px; background:#e2edf3; }
.home-project--waddy .home-project-preview { background:#e9e7dd; border-color:#ddded2; }
.home-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 12px; color:#355563; font:11px var(--mono); }
.home-project--waddy .home-preview-bar { color:#5c6153; }
.home-project-preview img { width:100%; height:auto; aspect-ratio:36 / 25; border:1px solid #0002; border-radius:8px; box-shadow:0 12px 24px -16px #14233366; }
.home-preview-action { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:12px 2px 0; color:#222e37; font-size:13px; font-weight:600; }
.home-project-preview:hover .home-preview-action { text-decoration:underline; text-underline-offset:4px; }
.home-project-copy { padding:20px 2px 0; }
.home-project-copy .live-project-role { margin-bottom:8px; font-size:12px; }
.home-project h3 { margin:0; font-size:clamp(24px,2.8vw,32px); line-height:1.15; letter-spacing:-.035em; }
.home-project-description { max-width:520px; margin-top:10px; font-size:16px; line-height:1.6; color:#52525b; }
.home-project-links { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; margin-top:12px; }
.home-detail-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:13px; color:#52525b; }
.home-detail-link:hover { text-decoration:underline; text-underline-offset:4px; }
.home-services { padding-bottom:64px; }
.home-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.home-service { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 0; border-top:1px solid var(--line); }
.home-service h3 { margin:0 0 7px; font-size:20px; line-height:1.25; letter-spacing:-.025em; }
.home-service p { margin:0; max-width:460px; color:#52525b; font-size:16px; line-height:1.55; }
.home-service > span { flex-shrink:0; font-size:20px; }
.home-service:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.home-contact { padding-bottom:24px; }
.home-contact-panel { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:40px; border-radius:24px; background:#111114; color:#fff; }
.home-contact h2 { margin:0; font-size:clamp(28px,3.4vw,44px); line-height:1.1; letter-spacing:-.04em; }
.home-contact p { max-width:580px; margin-top:14px; color:#d1d1d8; font-size:16px; line-height:1.6; }
.home-contact .button { flex-shrink:0; }
.home-page .home-footer { padding:28px 0; }
.home-footer-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:24px; }
.home-footer-top nav { display:flex; flex-wrap:wrap; align-items:center; gap:0 22px; }
.home-footer-top nav a { display:inline-flex; align-items:center; min-height:44px; color:#52525b; font-size:13px; }
.home-footer-top nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.home-page :is(.home-project-preview,.home-detail-link,.home-service,.home-footer-top a,.home-section-heading a):focus-visible { outline:3px solid var(--blue); outline-offset:5px; border-radius:4px; }
@media (max-width:760px) {
  .home-page .home-hero { padding:96px 0 44px; }
  .home-page .home-hero h1 { font-size:clamp(43px,11.8vw,68px); }
  .home-page .home-hero .eyebrow { font-size:10px; letter-spacing:.06em; }
  .home-page .hero-lede { font-size:17px; max-width:520px; margin-top:18px; }
  .home-page .hero-actions { gap:12px 20px; }
  .home-page .hero-actions .button,.home-page .hero-actions .text-link { width:auto; }
  .home-page .live-projects,.home-services { padding-bottom:44px; }
  .home-section-heading { align-items:flex-start; flex-direction:column; gap:6px; margin-bottom:20px; }
  .home-project-grid { grid-template-columns:1fr; gap:28px; }
  .home-project-preview { padding:14px; border-radius:18px; }
  .home-project-copy { padding-top:16px; }
  .home-project h3 { font-size:26px; }
  .home-project-links { gap:2px 14px; margin-top:8px; }
  .home-project-links .live-project-link { font-size:14px; gap:7px; }
  .home-service-grid { grid-template-columns:1fr; }
  .home-service { padding:18px 0; }
  .home-contact-panel { align-items:flex-start; flex-direction:column; padding:28px 24px; gap:22px; }
  .home-footer-top { align-items:flex-start; flex-direction:column; gap:12px; padding-bottom:16px; }
  .home-footer-top nav { gap:0 18px; }
  .home-page .footer-bottom { padding-top:18px; gap:10px; font-size:11px; line-height:1.5; }
}
