/* ===== Hero photo frame + court-file intro (LOCKED design) ===== */
.hero .wrap { display:grid; grid-template-columns: 1.15fr 0.85fr; gap:48px; align-items:center; }
@media (max-width: 860px){ .hero .wrap { grid-template-columns:1fr; gap:28px; } .hero-photo{ max-width:340px; margin:0 auto; } }
.hero-photo { position:relative; }
.hero-photo .frame { position:relative; border:1px solid var(--color-line); background:var(--color-surface); padding:14px 14px 56px; box-shadow: var(--shadow-lift); }
.hero-photo img { display:block; width:100%; height:auto; filter:saturate(0.94); }
.hero-photo .caption { position:absolute; left:14px; bottom:18px; font-family:var(--font-mono); font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--color-muted); }
.hero-photo .seal { position:absolute; right:16px; bottom:26px; width:74px; height:74px; border:2.5px solid var(--color-accent); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-accent); font-family:var(--font-mono); font-size:9px; letter-spacing:0.14em; text-transform:uppercase; text-align:center; line-height:1.5; transform:rotate(-11deg); opacity:0.92; }
@media (max-height:600px){ .hero-photo .seal{ width:60px;height:60px;font-size:8px; } }

/* Intro overlay — once per session, skippable */
}
}
body.ready .hero.reveal .hero-photo .frame { opacity:0; transform:translateY(14px); animation: rise 650ms var(--ease-out) 120ms forwards; }
body.ready .hero.reveal .hero-photo .seal { opacity:0; transform:rotate(-11deg) scale(1.6); animation: stamp 480ms var(--ease-stamp) 700ms forwards; }
@keyframes rise { to { opacity:1; transform:none; } }
@keyframes stamp { to { opacity:0.92; transform:rotate(-11deg) scale(1); } }
@media (prefers-reduced-motion: reduce){
  .hero.reveal .hero-photo .frame, .hero.reveal .hero-photo .seal { opacity:1; transform:none; animation:none; }
  .hero.reveal .hero-photo .seal { transform:rotate(-11deg); }
}

body:not(.ready) .hero.reveal .hero-photo .frame,body:not(.ready) .hero.reveal .hero-photo .seal{opacity:0;}
