/* FocusApps v2: a shared studio shell, with individual product identities. */
.nav{background:#eae5db;border-bottom:1px solid #d1ccc2;box-shadow:none}.nav.on-dark{background:#142e3a}.nav.on-cream{background:#f2eadc}.nav .brand-name{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;letter-spacing:-.035em}.nav .brand-mark{border-radius:10px}.nav .navlink{font-weight:600;letter-spacing:0}.nav .navlink:focus-visible,.nav button:focus-visible{outline:3px solid #1982aa;outline-offset:3px}.footer{background:#142e3a}.app-top{padding-block:24px 32px}.app-top .back{font-size:14px;letter-spacing:0;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;text-transform:none}.app-badge .lbl{letter-spacing:.06em}.app-copy h1{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;font-weight:650;font-size:clamp(48px,5.2vw,78px);line-height:1.02;letter-spacing:-.055em}.app-copy .lede{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;font-size:18px;line-height:1.6;max-width:34em}.app-dl{flex-direction:row;flex-wrap:wrap;align-items:center}.app-dl .btn{min-height:48px}.app-hero-grid{padding-bottom:100px}
/* Cannon keeps its tactile, dark instrument face. */
#view-cannon .app-hero{background:#102b36}#view-cannon .app-hero-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:7%}#view-cannon .app-copy{grid-column:1;grid-row:1}#view-cannon .mock{grid-column:2;grid-row:1}#view-cannon .mock.shot{border-radius:18px;overflow:hidden;border:1px solid #52717b;background:#0b1b24}#view-cannon .app-badge .lbl{color:#b4dce3}
/* Energize takes its own can's lime and dark teal, with its real popover. */
#view-energize .app-hero{background:#173029}#view-energize .app-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8%}#view-energize .app-copy{grid-column:1;grid-row:1}#view-energize .mock{grid-column:2;grid-row:1;min-height:420px;border-radius:230px 230px 28px 28px;background:#243d30;padding:24px}#view-energize .shot-portrait{max-width:280px}#view-energize .app-badge .lbl{color:#c3eaa0}
/* Tideline retains its gauge-led editorial treatment. */
#view-tideline .td-h1{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;font-weight:650;letter-spacing:-.055em;line-height:1}#view-tideline .td-hero-grid{gap:7%;padding-bottom:96px}#view-tideline .td-hero-shot .shot-portrait{border-radius:18px}#view-tideline .td-lede{font-size:18px;line-height:1.65}
/* Inkglobe remains an atlas, with its own warm paper and game imagery. */
#view-inkglobe .ig-hero-grid{gap:7%;padding-bottom:96px}#view-inkglobe .ig-claim{line-height:1.02}#view-inkglobe .ig-lede{line-height:1.65}#view-inkglobe .ig-phone{box-shadow:0 24px 60px rgba(42,42,32,.15)}
/* Buzz Night keeps its cream and bold red party interface. */
#view-buzznight .bn-hero-grid{gap:28px 6%;padding-bottom:96px}#view-buzznight .bn-h1{line-height:.94}#view-buzznight .bn-lede{line-height:1.62}#view-buzznight .bn-frame{box-shadow:7px 7px 0 #241b16}
@media(max-width:800px){#view-cannon .app-hero-grid,#view-energize .app-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:36px}#view-cannon .app-copy,#view-energize .app-copy{order:0}#view-cannon .mock,#view-energize .mock{order:1}#view-energize .mock{min-height:340px}.app-hero-grid{padding-bottom:65px}.app-dl{align-items:stretch}.app-dl .btn{justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Keep the language control visible on narrow screens. */
@media(max-width:620px){.nav-links .navlink[data-sec="story"]{display:none}}
@media(max-width:380px){.nav-links .navlink[data-go="blog"]{display:none}}

/* Same compact language switch as the studio pages. */
.nav .lang-switch{font-family:"DM Sans",sans-serif;font-size:14px;font-weight:600;letter-spacing:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0;padding:9px 13px;border:1px solid #c6d2d2;border-radius:999px;color:#142f40}
.nav.on-dark .lang-switch{color:#f2eee5;border-color:#859995}

@media(max-width:380px){.nav-links .navlink[data-go="contact"]{display:none}}
