/* v1.9 - Screenshot gallery and centered footer tagline. */
.footer-top .footer-brand{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; max-width:max-content;}
.footer-top .footer-brand .brand{display:flex;justify-content:center;}
.footer-top .footer-brand .brand-logo{display:block;margin:0 auto;}
.footer-top .footer-blurb{text-align:center; width:100%; margin:11px 0 0; letter-spacing:.015em;}
/* Screen images already contain an iOS status bar and should not get a second fake Dynamic Island. */
.screenshot-grid .phone-frame, .gallery-grid .phone-frame{aspect-ratio:auto !important; padding:0 !important; border-radius:28px !important; border-width:3px !important; height:auto !important; max-width:320px; overflow:hidden;}
.screenshot-grid .phone-frame::before, .gallery-grid .phone-frame::before{display:none !important;}
.screenshot-grid .phone-frame img, .gallery-grid .phone-frame img{display:block; width:100%; height:auto !important; object-fit:contain !important; border-radius:24px !important;}
.screenshot-grid .shot-card{align-self:flex-start;}
.gallery-all-link{white-space:normal;}
/* A static gallery guarantees screenshots render even when scripts or JSON are blocked. */
.gallery-hero{padding:72px 0 28px;}
.gallery-hero h1{font-size:clamp(41px,5.6vw,70px);line-height:1.12;letter-spacing:-.035em;max-width:780px;margin:10px 0 20px;}
.gallery-hero p{max-width:710px;color:#c2c4dc;font-size:16px;line-height:1.8;}
.gallery-group{padding:56px 0;border-top:1px solid rgba(255,255,255,.07);}
.gallery-group h2{font-size:clamp(28px,3.2vw,42px);margin:6px 0 15px;}
.gallery-group>div>p{color:#b9bfd5;max-width:790px;margin-bottom:27px;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start;}
.gallery-grid .shot-card{min-width:0;}
.gallery-grid .phone-frame{width:100%;}
.gallery-grid .shot-copy{padding:17px 4px 7px;}
.gallery-grid .shot-copy h3{font-size:17px;}
.gallery-grid .shot-copy p{font-size:13px;line-height:1.6;}
.gallery-intro-note{border-left:3px solid #fc31d8;padding:6px 0 6px 16px;font-size:13px !important;color:#c9bdd5 !important;}
@media (max-width:950px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}}
@media (max-width:670px){
  .footer-top .footer-brand{margin:0 auto;}
  .footer-top .footer-links{justify-content:center;}
  .gallery-hero{padding:48px 0 28px;}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .gallery-grid .shot-copy{padding:12px 1px;}
  .gallery-grid .shot-copy h3{font-size:14px;line-height:1.4;}
  .gallery-grid .shot-copy p{font-size:11px;}
  .gallery-grid .shot-index{font-size:10px;margin-bottom:6px;}
  .gallery-grid .phone-frame{border-radius:18px !important;}
  .gallery-grid .phone-frame img{border-radius:15px !important;}
}
