/* Homepage flagship composition. Shared product pages retain their own rhythm. */
.hero {
  display:grid;
  grid-template-columns:49% 51%;
  align-items:center;
  position:relative;
  min-height:710px;
  padding:8px 0 24px;
}
.hero-copy { position:relative; z-index:2; padding-bottom:35px; }
.hero h1 { font-size:clamp(50px,5.2vw,72px); font-weight:500; line-height:1.12; letter-spacing:-.04em; white-space:nowrap; }
.hero-description { font-size:28px; line-height:1.45; letter-spacing:-.025em; margin:22px 0 32px; }
.hero-purchase { display:flex; align-items:center; gap:30px; margin-bottom:15px; }
.hero-purchase .price { font-size:29px; }
.hero-purchase .button { min-width:182px; justify-content:space-between; }
.hero-copy>.text-link { color:var(--muted); font-size:13px; }
.hero-copy>.text-link:hover { color:var(--accent); }
.hero-device { height:690px; display:flex; align-items:center; justify-content:flex-end; padding-right:18px; perspective:1200px; }
.device-object { height:100%; width:auto; max-width:none; object-fit:contain; transform:rotate(5deg) rotateY(-12deg); transform-origin:center bottom; }
@media(min-width:1600px) {
  .hero { min-height:760px; }
  .hero-device { height:730px; }
}
@media(max-width:1100px) {
  .hero { min-height:650px; grid-template-columns:48% 52%; padding-bottom:20px; }
  .hero h1 { font-size:clamp(43px,5.2vw,57px); }
  .hero-description { font-size:26px; }
  .hero-device { height:615px; padding-right:12px; }
  .hero-purchase { gap:22px; }
  .hero-purchase .button { min-width:160px; padding-inline:17px; }
}
@media(max-width:760px) {
  .hero { min-height:560px; grid-template-columns:49% 51%; padding:20px 0 35px; }
  .hero h1 { white-space:normal; font-size:42px; max-width:6ch; }
  .hero-description { font-size:22px; margin:18px 0 24px; }
  .hero-copy { padding-bottom:10px; }
  .hero-purchase { align-items:flex-start; flex-direction:column; gap:18px; margin-bottom:8px; }
  .hero-purchase .price { font-size:27px; }
  .hero-device { height:490px; padding-right:5px; }
  .device-object { max-width:96%; height:auto; max-height:100%; transform:rotate(3deg) rotateY(-8deg); }
}
@media(max-width:520px) {
  .hero { grid-template-columns:1fr; min-height:0; padding:24px 0 25px; gap:18px; }
  .hero-copy { padding:0; }
  .hero h1 { font-size:clamp(32px,9.3vw,44px); max-width:none; white-space:nowrap; }
  .hero-description { font-size:21px; line-height:1.4; margin:13px 0 22px; }
  .hero-description br { display:none; }
  .hero-purchase { flex-direction:row; align-items:center; gap:25px; margin-bottom:4px; }
  .hero-purchase .price { font-size:26px; }
  .hero-purchase .button { min-width:163px; }
  .hero-copy>.text-link { font-size:12px; }
  .hero-device { height:425px; width:100%; justify-content:center; padding:0 5px; }
  .device-object { width:auto; height:100%; max-width:100%; max-height:100%; }
}
@media(prefers-reduced-motion:reduce) { .device-object { transition:none; } }
