/* Landing page (lane L1): one column, tokens from styles.css only. */
.landing-main{ display:block; flex:1; width:100%; max-width:640px; margin:0 auto; padding:24px 16px 32px; text-align:center; }
.landing-hero{ display:block; width:min(100%, 360px); height:auto; aspect-ratio:1; margin:0 auto 20px; border-radius:50%; border:1px solid var(--line); }
.landing-main h1{ font-size:2rem; line-height:1.15; }
.landing-lead{ margin:12px 0 22px; font-size:1.05rem; line-height:1.45; color:var(--text-dim); }
.landing-cta{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 28px; font-size:1rem; text-decoration:none; }
.landing-cta:focus-visible, .landing-links a:focus-visible{ outline:2px solid var(--coral-text); outline-offset:2px; }
#gallery{ margin-top:36px; text-align:left; }
#gallery h2{ font-family:"Fraunces", Georgia, serif; font-size:1.2rem; margin:0 0 12px; text-align:center; }
.gallery-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:12px; }
.gallery-card{ display:flex; flex-direction:column; gap:6px; height:100%; min-height:44px; padding:8px; box-sizing:border-box; color:var(--text); text-decoration:none; border:1px solid var(--line); border-radius:14px; }
.gallery-card:hover{ border-color:var(--coral-text); }
.gallery-card:focus-visible{ outline:2px solid var(--coral-text); outline-offset:2px; }
.gallery-card img{ display:block; width:100%; height:auto; aspect-ratio:1; border-radius:10px; border:1px solid var(--line); }
.gallery-caption{ font-size:0.85rem; line-height:1.3; color:var(--text-dim); }
.gallery-cta{ margin-top:auto; font-size:0.9rem; font-weight:600; color:var(--coral-text); }
.landing-links{ list-style:none; margin:32px 0 0; padding:0; display:flex; flex-direction:column; align-items:center; }
.landing-links a{ display:inline-flex; align-items:center; min-height:44px; color:var(--coral-text); font-weight:600; font-size:0.95rem; }
@media (max-width: 480px){ .landing-main h1{ font-size:1.6rem; } }
