/* Page composition only. Shared Scopebloom identity lives in brand.css. */
.home-hero { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 64px; padding-block: 80px 76px; }
.home-hero h1 { margin-top: 27px; font-size: clamp(3.3rem, 6.3vw, 5.7rem); }
.home-hero h1 .tone-secondary { color: var(--ink-secondary); }
.hero-lead { max-width: 470px; margin-top: 28px; font-size: 1.06rem; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 30px; margin-top: 33px; }
.bloom-visual { position: relative; align-self: stretch; display: grid; place-items: center; min-width: 0; }
.bloom-parallax { display: grid; place-items: center; width: 100%; max-width: 465px; }
.bloom-visual img { width: 100%; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html[data-motion="ready"] .bloom-parallax { transform: perspective(950px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translate3d(var(--art-x, 0px), var(--art-y, 0px), 0); transition: transform 650ms cubic-bezier(.22, 1, .36, 1); }
}
.hero-footnote { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); padding-block: 21px; color: var(--ink-secondary); }
.hero-footnote span { font-family: var(--mono); font-size: .68rem; letter-spacing: .055em; }
.expertise { padding-block: 86px 92px; }
.expertise-heading { display: grid; grid-template-columns: 1fr 1.2fr; gap: 36px; align-items: start; }
.expertise-heading h2 { font-size: clamp(2rem, 3.9vw, 3.25rem); max-width: 700px; }
.expertise-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; margin-top: 55px; }
.expertise-item { padding-top: 20px; border-top: 1px solid var(--line); }
.item-number { color: var(--ink-secondary); font: .7rem var(--mono); }
.expertise-item h3 { margin-top: 24px; font-size: 1.5rem; letter-spacing: -.04em; }
.expertise-item p { max-width: 310px; margin-top: 13px; font-size: .92rem; }
.selected-work { padding-block: 79px 87px; }
.work-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.work-intro h2 { font-size: clamp(2rem, 3.5vw, 3rem); margin-top: 12px; }
.project-teaser { display: grid; grid-template-columns: 1.25fr 1fr; border: 1px solid var(--line); background: var(--surface); }
.teaser-art { position: relative; min-width: 0; overflow: hidden; min-height: 390px; }
.teaser-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.teaser-copy { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: 44px; }
.project-type { color: var(--ink-secondary); font: .69rem var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.teaser-copy h3 { font-size: 2.75rem; letter-spacing: -.055em; margin-top: 17px; }
.teaser-copy p { margin-top: 18px; max-width: 365px; font-size: .93rem; }
.teaser-copy .text-link { margin-top: 25px; }
@media (max-width: 1000px) {
  .home-hero { gap: 30px; padding-block: 63px; }
  .home-hero h1 { font-size: clamp(3rem, 6.7vw, 4.8rem); }
  .teaser-copy { padding: 32px; }
  .expertise-grid { gap: 28px; }
}
@media (max-width: 760px) {
  .home-hero { grid-template-columns: 1fr; padding-block: 47px 25px; gap: 23px; }
  .home-hero h1 { font-size: clamp(2.9rem, 10vw, 4.5rem); margin-top: 23px; }
  .hero-lead { margin-top: 24px; font-size: 1rem; }
  .hero-actions { margin-top: 27px; gap: 12px 22px; }
  .bloom-visual { max-width: 410px; width: 100%; justify-self: center; }
  .hero-footnote { flex-wrap: wrap; padding-block: 18px; gap: 8px 18px; }
  .hero-footnote span { font-size: .61rem; }
  .expertise, .selected-work { padding-block: 55px; }
  .expertise-heading { grid-template-columns: 1fr; gap: 22px; }
  .expertise-heading h2 { font-size: clamp(2rem, 7vw, 2.9rem); }
  .expertise-grid { grid-template-columns: 1fr; margin-top: 34px; gap: 27px; }
  .expertise-item { display: grid; grid-template-columns: 32px 1fr; gap: 10px 17px; padding-top: 21px; }
  .item-number { grid-row: 1 / 3; padding-top: 7px; }
  .expertise-item h3 { margin: 0; font-size: 1.4rem; }
  .expertise-item p { grid-column: 2; margin: 0; max-width: 520px; }
  .work-intro { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 24px; }
  .project-teaser { grid-template-columns: 1fr; }
  .teaser-art { aspect-ratio: 16 / 10; min-height: 0; }
  .teaser-copy { padding: 28px; }
  .teaser-copy h3 { font-size: 2.35rem; }
}
