.app-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;margin:1.5rem 0 3.5rem}.app-top a{text-decoration:none}.language{display:flex;gap:.55rem}.language a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:5px}.language span,.app-eyebrow span,.app-hero figcaption,.app-secondary figcaption{opacity:.6}.app-eyebrow{font-size:.9rem;margin-bottom:1rem;font-weight:600}.app-eyebrow span{font-weight:400}.app-intro h1{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.12;letter-spacing:-.045em;max-width:690px;margin:.5rem 0 1.4rem}.app-lead{font-size:1.14rem;line-height:1.7;max-width:650px}.app-download{margin:1.8rem 0 0}.app-download a{display:inline-block;border:1px solid currentColor;border-radius:6px;padding:.6rem 1rem;font-size:.95rem;text-decoration:none;font-weight:600}.app-download a:hover{opacity:.7}.app-hero{margin:3rem 0 4rem}.app-hero img{display:block;width:100%;height:auto}.app-hero figcaption,.app-secondary figcaption{font-size:.78rem;text-align:center;margin-top:1rem}.app-hero--boost>img{max-height:520px;object-fit:contain}.app-hero--moment video{display:block;height:auto;max-height:550px;max-width:100%;margin:auto;border-radius:22px;background:#111}.above-images{display:flex;align-items:center;justify-content:center;gap:1.5%;padding:1.4rem 0}.above-images img{width:29%;height:auto;object-fit:contain}.above-images img:nth-child(2){width:33%}.app-detail h2{font-size:1.55rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 1.5rem}.app-features>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}.app-features h3{font-size:1rem;line-height:1.4;margin:0 0 .65rem}.app-features p{font-size:.95rem;line-height:1.7;margin:0}.app-closing{margin-top:4rem;max-width:650px}.app-closing p,.app-support p{line-height:1.75}.app-secondary{margin:2.8rem 0 4rem}.app-secondary img{display:block;max-height:420px;max-width:100%;margin:auto}.app-support{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);margin-top:4rem;padding-top:2rem}.app-support h2{font-size:1.2rem;margin-bottom:.5rem}.app-support span{margin:0 .4rem}.overview-intro{margin-bottom:3.5rem}.overview-intro h1{font-size:2.5rem;letter-spacing:-.04em}.app-index-entry{display:grid;grid-template-columns:40% 1fr;gap:2rem;align-items:center;margin-bottom:3.5rem;text-decoration:none!important;color:inherit!important}.index-image img{width:100%;max-height:300px;object-fit:contain}.index-image--above img{max-height:320px}.index-image--moment img{max-height:280px}.app-index-entry h2{margin:.3rem 0 .8rem}.app-index-entry p{font-size:.95rem}.app-index-entry span{font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.app-index-entry .app-eyebrow{font-size:.75rem;opacity:.6;margin:0}.app-study a:focus-visible,.app-study video:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:600px){.app-top{margin-bottom:2.5rem}.app-features>div{grid-template-columns:1fr;gap:1.5rem}.app-hero{margin:2.3rem 0 3rem}.app-closing,.app-support{margin-top:3rem}.app-index-entry{grid-template-columns:1fr;gap:1rem}.index-image img{max-height:240px}.above-images{gap:0}.app-lead{font-size:1.05rem}.app-eyebrow span{display:block;margin-top:.3rem}}
/* Project overview follows the existing project-page components. */
.project-area-heading{margin:2.8rem 0 1.6rem}.project-area-heading h2{font-size:1.5rem;margin:0 0 .35rem;letter-spacing:-.025em}.project-area-heading p{margin:0;font-size:.95rem;opacity:.65}.project-area--opensource{border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);margin-top:3.5rem;padding-top:.5rem}.project-copy h3{font-size:1.5rem;line-height:1.2;margin:.3rem 0 .8rem}.project-copy h3 a{text-decoration:none}.projects-more h3{font-size:1.1rem;margin:1.8rem 0 .6rem}.app-study .project-visual--boost img{max-height:260px;object-fit:contain}.app-study .project-visual--moment img{max-height:230px;width:auto;max-width:100%;object-fit:contain;margin:auto}.app-study .project-visual--moment{display:flex;justify-content:center}.app-study .project-visual--gotosocial img{max-height:220px;object-fit:contain}.app-study .author-card h2{font-size:1.3rem}.app-study .author-card{margin-bottom:2.7rem}
.app-study .project-visual--bear{display:flex;align-items:center;justify-content:center;min-height:180px;text-decoration:none;color:var(--heading-color,inherit)}.bear-mark{font-family:Arial,sans-serif;font-size:clamp(2.4rem,6vw,3.6rem);white-space:nowrap;line-height:1}
.project-area-heading p{max-width:650px;line-height:1.7;margin-top:.65rem}

/* Retain the current live layout and header without preview sizing overrides. */
.projects.app-study .app-top{margin:0 0 1rem;font-size:.8rem}.projects.app-study .project-area-heading{margin-top:2.5rem}.projects.app-study .project-copy h3{font-size:1.5rem}
.app-study .project-visual--boost img{width:auto;max-width:100%;max-height:240px;margin:auto}.app-study .app-hero--boost>img{width:auto;max-width:100%;margin:auto}
.small-apps{border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:8px;padding:1.4rem 1.6rem;margin:1.5rem 0 0;background:color-mix(in srgb,currentColor 3%,transparent)}.small-apps h3{font-size:1.1rem;margin:0 0 .8rem;line-height:1.4}.small-apps ul{padding-left:1.2rem;margin:0}.small-apps li{line-height:1.7;padding-left:.15rem;margin:.45rem 0}.small-apps a{font-weight:600}@media(max-width:600px){.small-apps{padding:1.1rem 1.2rem}}
.project-language[hidden]{display:none!important}

.app-download a.app-store-badge{display:inline-block;padding:0;border:0;border-radius:0;line-height:0}.app-store-badge img{display:block;width:auto;height:52px;max-width:100%}.app-store-badge:hover{opacity:.85}
/* Editorial app pages: readable sections and screenshots tied to the feature. */
.app-section{margin-top:3rem;max-width:680px}.app-section p,.app-feature-story p,.app-feature-story li{line-height:1.75}.app-facts{font-size:.9rem;line-height:1.7;opacity:.7;margin-top:1.3rem}.app-note{font-size:.85rem;opacity:.7}.app-shot-grid{display:grid;align-items:center;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.app-shot-grid img{width:100%;height:auto;max-height:32rem;object-fit:contain}.app-feature-story{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:2.5rem;align-items:center;margin:4rem 0}.app-feature-story h2{margin-bottom:1rem}.app-feature-story ul{padding-left:1.2rem}.app-phone-shot{margin:0;text-align:center}.app-phone-shot img{width:auto;max-width:100%;max-height:540px;display:block;margin:auto;border-radius:18px}.app-phone-shot figcaption,.app-gallery figcaption{font-size:.8rem;line-height:1.5;opacity:.65;margin-top:.8rem}.app-wide-shot img{width:100%;height:auto;border-radius:12px}.app-faq{margin-top:3rem}.app-faq details{border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);padding:1rem 0}.app-faq summary{font-weight:600;cursor:pointer;line-height:1.5}.app-faq details p{line-height:1.75;margin:.8rem 0 .25rem}.app-resource-links{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;font-size:.95rem}.app-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:2rem 0}.app-gallery figure{margin:0}.app-gallery img{width:100%;height:auto;max-height:380px;object-fit:contain;border-radius:12px}.app-legal{max-width:680px}.app-legal h1{font-size:2rem;line-height:1.2}.app-legal h2{font-size:1.3rem;margin-top:2.2rem}.app-legal p,.app-legal li{line-height:1.75}.app-legal nav{font-size:.95rem;line-height:1.8}.overview-flat-shots{display:flex;gap:.4rem;align-items:center;justify-content:center;padding:.5rem}.overview-flat-shots img{width:31%;height:auto;max-height:210px;object-fit:contain;border-radius:5px}
@media(max-width:600px){.app-feature-story{grid-template-columns:1fr;gap:1.4rem;margin:3rem 0}.app-phone-shot img{max-height:520px}.app-feature-story>figure{max-width:280px;margin:auto}.app-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.app-shot-grid{gap:.4rem}.app-section{margin-top:2.4rem}.app-wide-shot img{border-radius:6px}}

.app-secondary.app-wide-shot img{width:auto;height:auto;max-width:100%;max-height:620px;object-fit:contain}
.app-legal h2[id]{scroll-margin-top:1.5rem}
.app-shot-grid img{border-radius:12px}
.app-eyebrow span::before{content:' · '}@media(max-width:600px){.app-eyebrow span::before{content:none}}
