/* Shared header; other visual styles apply to the homepage and catalogue details. */
body.site-page { background: #f6f8f7; color: #24352e; }
body .site-header { background: #e6f5eb; color: #214b37; border-bottom: 1px solid #d4e9dc; }
body .site-nav { gap: 20px; padding-top: 18px; padding-bottom: 18px; }
body .site-nav > a { flex-shrink: 0; }
body .site-nav img { width: 123px; height: 48px; object-fit: contain; }
body .site-nav nav { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
body .site-nav nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 12px; margin: 0; border-radius: 8px; font-weight: 600; }
body .site-nav nav a:hover { background: #d6eddf; text-decoration: none; }
body.site-page :is(a, button, input, textarea):focus-visible, .site-header a:focus-visible { outline: 3px solid #237d51; outline-offset: 4px; }
body .hero { padding: 22px 20px 28px; }
body .hero h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.15; letter-spacing: -.035em; }
body .hero p { max-width: 580px; margin: 12px auto 0; color: #476452; font-size: 17px; }
body .store-banner { padding: 18px 16px; box-shadow: none; border-bottom: 1px solid #e3eae5; }
body .store-banner > div:first-child { margin-bottom: 10px; }
body .store-banner p { font-size: 14px; font-weight: 500; color: #53645b; }
body .store-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
body .store-links a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }
body .store-links img { height: 44px; width: auto; max-width: 100%; }
body .home-main { padding-top: 32px; padding-bottom: 40px; }
#destacadaContainer { padding: 28px; border: 1px solid #dce7df; border-radius: 20px; background: #fff; box-shadow: none; }
body .featured-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: center; }
body .featured-heading { display: flex; gap: 16px; align-items: center; margin-bottom: 18px; }
body .featured-heading img { width: 72px; height: 72px; border-radius: 16px; }
body .eyebrow { color: #267849; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 700; margin-bottom: 4px; }
body .featured-heading h2 { font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
body .featured-copy { color: #526158; font-size: 15px; line-height: 1.7; }
body .featured-copy br { display: block; content: ''; margin-top: 8px; }
body .featured-layout .store-links { justify-content: flex-start; margin-top: 20px; }
body .featured-video { aspect-ratio: 16 / 9; width: 100%; border: 0; border-radius: 12px; background: #eef3ef; }
body .catalogue-heading { margin-bottom: 22px; }
body .catalogue-heading h2 { font-size: 26px; font-weight: 700; letter-spacing: -.025em; }
body .catalogue-heading p { color: #647369; margin-top: 5px; font-size: 15px; }
#appsContainer { gap: 20px; }
#appsContainer > a { padding: 24px 20px; border: 1px solid #e0e8e3; border-radius: 16px; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease; }
#appsContainer > a:hover { border-color: #8dbba0; box-shadow: 0 5px 16px #244f3610; }
#appsContainer img { width: 80px; height: 80px; margin-bottom: 16px; border-radius: 17px; }
#appsContainer h3 { font-size: 17px; line-height: 1.4; margin-bottom: 8px; }
#appsContainer p { color: #647168; font-size: 14px; line-height: 1.6; }
#contact { max-width: 720px; margin-left: auto; margin-right: auto; padding: 28px; border: 1px solid #e0e8e3; box-shadow: none; }
#contact h2 { font-size: 24px; letter-spacing: -.02em; }
#contact input:not([type=hidden]), #contact textarea { background: #fafcfb; border-color: #d7e1db; }
#contact button { background: #247548; min-height: 48px; }
#contact button:hover { background: #1b603a; }
body .site-footer { border-top: 1px solid #e0e8e3; padding: 24px 16px; }
body .site-footer a { display: inline-flex; align-items: center; min-height: 44px; color: #35664a; }
body .detail-shell { padding-top: 28px; }
body .back-link { display: inline-flex; align-items: center; min-height: 44px; color: #35664a; }
body.site-page #appDetail { border: 1px solid #e0e8e3; border-radius: 20px; box-shadow: none; padding: 32px; margin-top: 16px; }
body .detail-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
body .detail-heading img { width: 80px; height: 80px; flex-shrink: 0; border-radius: 18px; }
body .detail-heading h1 { font-size: clamp(24px, 4vw, 32px); line-height: 1.2; letter-spacing: -.025em; }
body.site-page #appDetail > p { line-height: 1.75; color: #526158; }
body.site-page #appDetail .store-links { justify-content: flex-start; margin: 24px 0; }
body .detail-images img { width: 100%; height: auto; border-radius: 12px; box-shadow: none; }
body .detail-video { aspect-ratio: 16 / 9; margin-top: 24px; }
body .detail-video iframe { width: 100%; height: 100%; border: 0; border-radius: 12px; }
@media (max-width: 767px) {
 body .featured-layout { grid-template-columns: 1fr; gap: 24px; }
 #destacadaContainer { padding: 22px; }
}
@media (max-width: 479px) {
 body .site-nav { flex-direction: column; gap: 8px; padding: 14px 12px 8px; }
 body .site-nav nav { justify-content: center; gap: 0; }
 body .site-nav nav a { padding: 0 11px; font-size: 13px; }
 body .hero { padding-top: 14px; }
 body .hero p { font-size: 15px; }
 body .store-links { gap: 8px; }
 body .store-links img { height: 40px; }
 #destacadaContainer, body.site-page #appDetail { padding: 20px; }
 body .featured-heading { gap: 12px; }
 body .featured-heading img { width: 60px; height: 60px; }
 body .featured-heading h2 { font-size: 25px; }
 body .featured-copy { font-size: 14px; }
 body .featured-layout .store-links img, body.site-page #appDetail .store-links img { height: 36px; }
 body .detail-heading { align-items: flex-start; gap: 14px; }
 body .detail-heading img { width: 60px; height: 60px; }
 body .detail-images { grid-template-columns: 1fr; }
 #contact { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { #appsContainer > a { transition: none; } }
