/* Dream RP — experiência mobile em formato de webapp.
   Desktop remains untouched; public mobile pages use a compact app shell,
   bottom navigation, touch-first controls and natural document scrolling. */
:root {
  --mobile-app-nav-core: 66px;
  --mobile-app-header: 62px;
}
.mobile-app-nav { display:none; }
.mobile-app-nav[hidden] { display:none !important; }

@media (max-width: 760px) {

  /* Prevent mobile header translucency from allowing closed-menu copy to ghost through. */
  .header, .header.scrolled, #musicHeader.dream-shared-header, #musicHeader.dream-shared-header.scrolled, #playerHeader { z-index:120 !important; }

  /* Consistent mobile section composition: shared grid, rhythm and legible widths. */
  body[data-site-page] #conteudo > section,
  body[data-site-page] #conteudo > .section { scroll-margin-top:calc(var(--header-h) + 16px) !important; }
  .container-wide, .platform__content, .page-hero-inner, .footer__inner { padding-inline:0 !important; }
  .overline, .eyebrow { line-height:1.55; }
  p { text-wrap:pretty; }
  .btn, .text-link { max-width:100%; white-space:normal; }
  html[data-theme="dark"] .join .btn--outline-light, .join .btn--outline-light { background:rgba(255,255,255,.15) !important; color:#fff !important; border-color:rgba(255,255,255,.58) !important; }
  .join .btn--outline-light:hover, .join .btn--outline-light:focus-visible { background:rgba(255,255,255,.24) !important; color:#fff !important; }
  .partner-card { min-width:0; }
  .partner-card__title, .partner-card__description { overflow-wrap:anywhere; }
  .faq__items details[open] { padding-inline:13px !important; }
  .footer { position:relative; z-index:1; }
  :root {
    --header-h: calc(var(--mobile-app-header) + env(safe-area-inset-top, 0px));
    --header-scrolled-h: var(--header-h);
    --layout-gutter: 16px;
    --container: 100%;
    --layout-section: 58px;
  }

  html:has(body[data-site-page]), html {
    scroll-snap-type: none !important;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-h) + 12px);
  }
  body {
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
    padding-bottom: calc(var(--mobile-app-nav-core) + var(--dream-player-offset, 0px) + env(safe-area-inset-bottom, 0px) + 12px);
  }
  .container-wide,
  .player-main,
  #musicHeader .header__inner,
  #playerHeader .header__inner {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }

  /* Compact app bar. Controls stay in one row and respect the device safe area. */
  .header, .header.scrolled,
  #musicHeader.dream-shared-header, #musicHeader.dream-shared-header.scrolled,
  #playerHeader {
    top: 0;
    height: var(--header-h) !important;
    min-height: var(--header-h) !important;
    background: color-mix(in srgb, var(--bg, #f7f6fa) 98%, transparent) !important;
    border-bottom: 1px solid var(--line, #e7e4ec) !important;
    box-shadow: 0 8px 26px #1710200b;
    backdrop-filter: blur(22px) saturate(1.35);
    -webkit-backdrop-filter: blur(22px) saturate(1.35);
  }
  .header__inner,
  #musicHeader .header__inner,
  #playerHeader .header__inner {
    height: 100% !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    padding-top: env(safe-area-inset-top, 0px);
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap: 8px !important;
  }
  .header .brand-signature,
  #musicHeader .brand-signature,
  #playerHeader .brand-signature { width: 104px !important; height:auto !important; max-height:36px; }
  .header .logo, #musicHeader .logo, #playerHeader .logo { min-width:0; flex:0 1 auto; }
  .header__nav, #musicHeader .header__nav, #playerHeader .header__nav { display:none !important; }
  .header .online-state, #musicHeader .online-state, #playerHeader .online-state { display:none !important; }
  .header .nav-cta, #musicHeader .nav-cta, #playerHeader .nav-cta,
  .header .header__music-shortcut { display:none !important; }
  .header__actions, #musicHeader .header__actions, #playerHeader .header__actions {
    margin-left:auto !important;
    min-width:0 !important;
    gap:7px !important;
  }
  .theme-switch, .header .theme-switch,
  #musicHeader .theme-switch, #playerHeader .theme-switch {
    min-height:39px !important;
    min-width:40px !important;
    padding:5px 7px !important;
    border-radius:13px !important;
    background:var(--paper, #fff) !important;
    border:1px solid var(--line, #e7e4ec) !important;
    box-shadow:none !important;
  }
  .theme-switch__label { display:none !important; }
  .theme-switch__rail { --switch-width:42px; --switch-thumb-size:20px; }
  .menu-toggle, #musicHeader .menu-toggle, #playerHeader .menu-toggle {
    display:flex !important;
    width:40px !important;
    height:40px !important;
    min-width:40px;
    border-radius:13px !important;
    background:var(--paper, #fff) !important;
    border:1px solid var(--line, #e7e4ec) !important;
    box-shadow:none !important;
  }
  .menu-toggle span { background:var(--ink, #181521) !important; }
  html[data-theme="dark"] :is(.header,#musicHeader,#playerHeader) {
    background:color-mix(in srgb, var(--bg, #15121f) 98%, transparent) !important;
    border-bottom-color:var(--line, #393040) !important;
  }
  html[data-theme="dark"] .menu-toggle span { background:var(--ink, #f6f0ff) !important; }

  /* The old full-screen menu becomes a sheet above the app tabs. */
  .mobile-menu {
    top:var(--header-h) !important;
    bottom:calc(var(--mobile-app-nav-core) + var(--dream-player-offset, 0px) + env(safe-area-inset-bottom, 0px)) !important;
    z-index:112 !important;
    padding:18px 18px 24px !important;
    background:color-mix(in srgb, var(--bg, #f7f6fa) 96%, transparent) !important;
    border-bottom:1px solid var(--line, #e7e4ec);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    border-radius:0 0 22px 22px;
  }
  .mobile-menu__inner { gap:2px !important; }
  .mobile-menu__inner .eyebrow { font-size:9px; margin:3px 0 10px; }
  .mobile-menu__inner a {
    min-height:48px;
    padding:11px 3px !important;
    font:750 17px/1.25 Manrope,sans-serif !important;
    letter-spacing:-.035em !important;
    border-bottom:1px solid var(--line, #e7e4ec) !important;
  }
  .mobile-menu__inner a span { font:700 10px/1 Manrope,sans-serif !important; }
  html[data-theme="dark"] .mobile-menu { background:color-mix(in srgb, var(--bg, #15121f) 96%, transparent) !important; }

  /* Fixed app navigation. The audio dock, when present, occupies the layer below it. */
  .mobile-app-nav {
    position:fixed;
    z-index:108;
    left:0; right:0;
    bottom:var(--dream-player-offset, 0px);
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-items:stretch;
    gap:3px;
    height:calc(var(--mobile-app-nav-core) + env(safe-area-inset-bottom, 0px));
    padding:6px max(7px, env(safe-area-inset-left, 0px)) calc(5px + env(safe-area-inset-bottom, 0px));
    border-top:1px solid color-mix(in srgb, var(--line, #e7e4ec) 85%, transparent);
    background:color-mix(in srgb, var(--paper, #fff) 91%, transparent);
    color:var(--muted, #787480);
    box-shadow:0 -8px 30px #2013330c;
    backdrop-filter:blur(24px) saturate(1.4);
    -webkit-backdrop-filter:blur(24px) saturate(1.4);
    padding-left:max(7px, env(safe-area-inset-left, 0px));
    padding-right:max(7px, env(safe-area-inset-right, 0px));
    touch-action:manipulation;
  }
  html[data-theme="dark"] .mobile-app-nav {
    background:color-mix(in srgb, #1c1726 93%, transparent);
    border-top-color:#3a2e49;
    color:#b9aecb;
    box-shadow:0 -8px 30px #0002;
  }
  .mobile-app-nav__item {
    position:relative;
    min-width:0;
    min-height:49px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:0;
    border-radius:14px;
    color:inherit;
    background:transparent;
    text-align:center;
    text-decoration:none;
    appearance:none;
    -webkit-appearance:none;
    font:inherit;
    cursor:pointer;
    padding:0;
    border:0;
    -webkit-tap-highlight-color:transparent;
    transition:background-color .18s ease,color .18s ease,transform .18s ease;
  }
  .mobile-app-nav__item:active { transform:scale(.96); }
  .mobile-app-nav__item[aria-current="page"],
  .mobile-app-nav__item.is-active,
  .mobile-app-nav__item[aria-expanded="true"] {
    color:var(--violet, #7544e9);
    background:color-mix(in srgb, var(--violet, #7544e9) 12%, var(--paper, #fff));
  }
  .mobile-app-nav__item[aria-current="page"]::before,
  .mobile-app-nav__item.is-active::before,
  .mobile-app-nav__item[aria-expanded="true"]::before {
    content:""; position:absolute; top:0; width:18px; height:3px;
    border-radius:0 0 4px 4px; background:currentColor;
  }
  .mobile-app-nav__icon { display:grid; place-items:center; width:23px; height:23px; flex:0 0 23px; }
  .mobile-app-nav__icon svg { width:21px; height:21px; stroke:currentColor; stroke-width:1.8; fill:none; }
  .mobile-app-nav__label {
    display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    font:750 9px/1.1 Manrope,sans-serif; letter-spacing:-.01em;
  }
  .mobile-app-nav__item[aria-current="page"] .mobile-app-nav__label,
  .mobile-app-nav__item.is-active .mobile-app-nav__label,
  .mobile-app-nav__item[aria-expanded="true"] .mobile-app-nav__label { font-weight:850; }

  /* Keep page endings scrollable above the app bar instead of underneath it. */
  #pageShell {
    padding-bottom:calc(var(--mobile-app-nav-core) + var(--dream-player-offset, 0px) + env(safe-area-inset-bottom, 0px) + 12px) !important;
  }
  #dreamSoundsPage, #dreamSoundsPage.music-page {
    padding-bottom:calc(var(--mobile-app-nav-core) + var(--dream-player-offset, 0px) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  }
  #dreamPlayerPage:not(.is-authenticated) {
    padding-bottom:calc(var(--mobile-app-nav-core) + var(--dream-player-offset, 0px) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  }
  /* An authenticated support workspace is itself a full-screen app surface. */
  body:has(#dreamPlayerPage.is-authenticated) {
    padding-bottom:var(--dream-player-offset, 0px) !important;
  }
  body[data-site-page] #conteudo,
  body[data-site-page] #conteudo > section {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
    scroll-margin-top:calc(var(--header-h) + 12px) !important;
    scrollbar-gutter:auto !important;
  }
  body[data-site-page] #conteudo > section { padding-top:clamp(42px, 10vw, 62px); padding-bottom:clamp(42px, 10vw, 62px); }
  body[data-site-page] #conteudo > #inicio { padding-top:calc(var(--header-h) + 23px) !important; padding-bottom:24px !important; }

  /* Home becomes a vertical, touch-first dashboard instead of a compressed desktop grid. */
  .hero { padding:calc(var(--header-h) + 24px) 0 22px !important; min-height:0 !important; }
  .hero__layout { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:17px !important; min-height:0 !important; }
  .hero__copy { padding:0 !important; max-width:none !important; }
  .hero__tag { max-width:100%; font-size:9px; padding:9px 11px; gap:7px; }
  .hero__tag-end { display:none; }
  .hero h1 { font-size:clamp(38px,10.8vw,51px) !important; line-height:1.06 !important; letter-spacing:-.075em !important; margin-top:21px !important; max-width:14ch !important; }
  .hero__description { margin-top:15px !important; max-width:37em !important; font-size:14px !important; line-height:1.7 !important; }
  .hero__actions { display:grid !important; grid-template-columns:1fr; align-items:stretch; gap:10px !important; margin-top:20px !important; }
  .hero__actions .btn { width:100% !important; min-height:48px !important; justify-content:space-between; border-radius:14px; }
  .hero__actions .text-link { min-height:42px; justify-content:center; padding:8px 12px; border:1px solid var(--line, #e7e4ec); border-radius:13px; }
  .hero__bottom { margin-top:20px !important; gap:11px !important; }
  .hero__bottom b { font-size:9px !important; }
  .hero__bottom small { font-size:8px !important; line-height:1.5; }
  .hero__visual { min-height:0 !important; width:100% !important; max-width:none !important; padding:4px 0 18px !important; margin:0 !important; }
  .hero__halo, .hero__vertical-label, .floating-note, .hero__cursor-glow { display:none !important; }
  .hero__visual .visual-frame { height:clamp(260px,76vw,350px) !important; transform:none !important; border-width:1px !important; border-radius:21px !important; box-shadow:0 18px 45px #20133318; }
  .visual-frame__top { top:16px !important; left:16px !important; right:16px !important; font-size:7px !important; }
  .visual-frame__headline { left:17px !important; right:17px !important; bottom:53px !important; max-width:none !important; }
  .visual-frame__headline strong { font-size:clamp(29px,8.4vw,39px) !important; }
  .visual-frame__bottom { left:17px !important; right:17px !important; bottom:15px !important; }
  .hero__foot { height:auto !important; min-height:46px; margin-top:0 !important; padding:12px 0 0 !important; }
  .hero__foot > span:last-child { display:none !important; }
  .hero__foot, .hero__foot a { font-size:8px !important; }

  /* Cards and editorial sections are reshaped for a phone, not only scaled down. */
  .manifesto, .showcase, .roadmap, .faq { padding-block:54px !important; }
  .section-heading, .section-heading--horizontal, .section-heading--stack { display:grid !important; grid-template-columns:minmax(0,1fr) !important; align-items:start !important; gap:13px !important; }
  .section-heading h2, .faq__intro h2 { font-size:clamp(34px,9vw,43px) !important; line-height:1.08 !important; letter-spacing:-.07em; }
  .section-heading--horizontal>p, .showcase__heading-end { margin-top:0 !important; max-width:none !important; font-size:13px !important; line-height:1.7; }
  .manifesto__tiles { grid-template-columns:minmax(0,1fr) !important; gap:10px !important; margin-top:24px !important; }
  .manifesto-tile { min-height:0 !important; border-radius:17px !important; padding:19px !important; }
  .manifesto-tile__symbol { width:43px !important; height:43px !important; margin:0 0 16px !important; }
  .manifesto-tile h3 { font-size:18px !important; }
  .manifesto-tile p { font-size:13px !important; line-height:1.7; }

  .cinema {
    width:calc(100% - 20px) !important;
    margin:10px auto 0 !important;
    min-height:clamp(510px,72dvh,680px) !important;
    height:auto !important;
    border-radius:23px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:flex-end !important;
  }
  .cinema__content { width:100%; padding:76px 18px 24px !important; }
  .cinema__micro { font-size:8px !important; line-height:1.6; letter-spacing:.11em; }
  .cinema h2 { font-size:clamp(45px,12.3vw,62px) !important; line-height:.98 !important; margin:23px 0 21px !important; letter-spacing:-.075em; }
  .cinema__footer { gap:12px !important; align-items:flex-end; }
  .cinema__footer p { max-width:none !important; font-size:12px !important; line-height:1.65; }
  .circle-link { flex:0 0 43px; width:43px !important; height:43px !important; }
  .cinema__watermark { right:15px !important; bottom:13px !important; font-size:7px !important; }

  .showcase { padding-top:54px !important; }
  .showcase__body { display:flex !important; flex-direction:column !important; gap:13px !important; margin-top:22px !important; }
  .showcase-panel { order:0; min-height:clamp(360px,104vw,430px) !important; border-radius:20px !important; }
  .showcase__selector { order:1; display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:8px !important; }
  .showcase-tab { min-height:69px !important; grid-template-columns:27px minmax(0,1fr) 16px !important; align-items:center; padding:13px 14px !important; border-radius:14px !important; gap:10px !important; }
  .showcase-tab strong { font-size:13px !important; }
  .showcase-tab small { font-size:10px !important; line-height:1.5; }
  .showcase-panel__caption { left:18px !important; right:18px !important; bottom:38px !important; }
  .showcase-panel__caption h3 { font-size:clamp(27px,8vw,35px) !important; }
  .showcase-panel__caption p { font-size:12px !important; max-width:29em; }
  .showcase__note { margin-top:12px; font-size:8px !important; }

  .platform { min-height:0 !important; padding:52px 0 !important; }
  .platform__content { width:calc(100% - 32px) !important; }
  .platform__intro { grid-template-columns:minmax(0,1fr) !important; gap:19px !important; }
  .platform__intro-copy { min-width:0; }
  .platform__heading-meta { gap:9px; }
  .platform__overline { font-size:9px; }
  .platform__descriptor { font-size:8px; }
  .platform__intro h2 { font-size:clamp(36px,10vw,47px) !important; line-height:1.05 !important; margin-top:18px !important; }
  .platform__intro-copy>p { max-width:none !important; font-size:13px !important; line-height:1.75; margin-top:14px; }
  .platform__access { margin-top:18px; gap:13px; }
  .platform__intro-actions { display:grid !important; grid-template-columns:1fr; gap:9px; }
  .platform__intro-actions .btn { width:100%; min-height:47px; }
  .platform__underlink { min-height:42px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:12px; font-size:10px; }
  .platform__beta { font-size:8px !important; line-height:1.6; }
  .platform__orb { width:100% !important; height:auto !important; min-height:145px !important; margin:0 !important; padding:18px 14px 15px !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:9px !important; overflow:hidden !important; }
  .platform__orb-logo { position:relative !important; inset:auto !important; display:block !important; flex:0 1 auto !important; width:min(220px,76%) !important; max-width:100% !important; max-height:82px; object-fit:contain; margin:0 auto !important; }
  .platform__recognition-caption { position:relative !important; inset:auto !important; transform:none !important; margin:0 !important; align-self:center !important; text-align:center !important; font-size:8px !important; line-height:1.4 !important; letter-spacing:.15em !important; }
  .platform-partners { margin:0 0 40px !important; padding-top:36px !important; }
  .platform-partners__intro h3 { font-size:clamp(30px,8.6vw,39px) !important; line-height:1.05; }
  .platform-partners__intro p { font-size:12px !important; line-height:1.7; margin-top:10px; }
  .partner-card__link { min-height:0 !important; }
  .platform__chapter { min-height:0 !important; height:auto !important; padding-block:0 !important; }

  .vision, .development, .roadmap, .join, #projeto, #desenvolvimento, #etapas, #duvidas, #comunidade {
    min-height:0 !important; height:auto !important; padding-block:54px !important;
  }
  .vision__head h2, .platform__steps-title h3 { font-size:clamp(34px,9vw,44px) !important; line-height:1.06 !important; }
  .vision__grid, .join__container { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:22px !important; }
  .vision__art, .join__art { min-height:230px !important; border-radius:20px; }
  .vision__logo { width:135px !important; }
  .vision__copy h2, .join h2 { font-size:clamp(38px,10vw,50px) !important; line-height:1.02 !important; }
  .vision__copy>p { font-size:17px !important; line-height:1.6; }
  .vision__lines { margin-top:18px !important; }
  .vision__lines > * { padding-block:13px !important; }
  .roadmap__grid { grid-template-columns:minmax(0,1fr) !important; gap:10px !important; margin-top:24px !important; }
  .roadmap-step { min-height:0 !important; padding:19px !important; border-radius:16px !important; }
  .roadmap-step>b { margin-top:15px !important; }
  .faq__grid { display:block !important; }
  .faq__intro>p { margin-top:12px !important; font-size:13px !important; line-height:1.7; }
  .faq__items { margin-top:22px !important; }
  .faq__items summary { min-height:54px; padding:15px 0 !important; font-size:13px !important; }
  .faq__items details p { font-size:12px !important; line-height:1.75; }
  .faq__decoration { display:none !important; }
  .join { padding-block:50px !important; }
  .join p { font-size:13px !important; line-height:1.75; }
  .join__actions { display:grid !important; grid-template-columns:1fr; gap:9px !important; }
  .join__actions .btn { width:100% !important; }

  .footer { padding:28px 0 18px !important; }
  .footer__top { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:17px; }
  .footer__links { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:5px 12px !important; margin-top:0 !important; }
  .footer__links a { min-height:40px; display:flex; align-items:center; font-size:11px !important; }
  .footer__bottom { margin-top:22px !important; padding-top:14px; line-height:1.8 !important; font-size:9px; }

  /* MTAx info stays readable, with natural scrolling on short devices. */
  #mtax-launcher, #mtax-requisitos, #mtax-como-jogar { padding-block:42px !important; }
  .platform-gallery { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; }
  .platform-gallery__tablist { display:grid !important; grid-template-columns:minmax(0,1fr) !important; }
  .platform-gallery__tab { min-height:57px; padding:12px !important; }
  .platform-gallery__panel { min-height:0 !important; }
  .platform__spec-grid, .platform__features, .platform__steps { grid-template-columns:minmax(0,1fr) !important; }

  /* Music is a key mobile feature; use thumb-friendly controls and keep its dock above tabs. */
  .music-header, #musicHeader.dream-shared-header { height:var(--header-h) !important; }
  .music-community-note {
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin:10px auto 0 !important;
    padding:10px 12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:5px !important;
    border:1px solid var(--ms-line, var(--line)) !important;
    border-radius:13px !important;
    background:var(--ms-surface-2, var(--paper)) !important;
    color:var(--ms-sub, var(--muted)) !important;
    font-size:10px !important;
    line-height:1.5 !important;
  }
  .music-community-note a { color:var(--ms-accent, var(--violet)) !important; font-size:10px !important; font-weight:850 !important; text-decoration:none; }
  .music-heading { padding-top:14px !important; padding-bottom:13px !important; min-height:0 !important; gap:10px !important; }
  .music-heading__intro { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .music-kicker { flex-wrap:wrap !important; white-space:normal !important; font-size:9px !important; line-height:1.5 !important; letter-spacing:.12em !important; }
  .music-heading h1 { width:100% !important; max-width:100% !important; min-width:0 !important; white-space:normal !important; text-wrap:balance; font-size:clamp(30px,8.7vw,37px) !important; line-height:1.06 !important; margin-top:13px !important; letter-spacing:-.07em !important; overflow-wrap:anywhere; }
  .music-heading h1 em { display:block !important; margin-top:2px; }
  .music-heading__intro p { font-size:12px !important; line-height:1.7; margin-top:11px !important; }
  .music-layout { gap:12px !important; }
  .music-sidebar, .music-discovery { border-radius:18px !important; }
  .music-search input { min-height:43px; }
  .music-search button { min-height:43px; }
  .music-player { z-index:109 !important; }
  .music-player__inner { padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px)) !important; gap:8px !important; }
  .music-player__cover { width:42px !important; height:42px !important; flex-basis:42px !important; }
  .music-player__transport { gap:15px !important; }
  .music-player__transport button { min-width:34px; min-height:34px; }
  .music-player__tools { gap:8px !important; }
  .music-player__copy { min-height:38px; padding:9px 10px !important; font-size:8px !important; }
  .music-toast { bottom:calc(var(--mobile-app-nav-core) + var(--dream-player-offset,0px) + 12px) !important; right:12px !important; }

  /* Larger touch targets without hover-only effects. */
  a, button, summary, input, select, textarea { scroll-margin-top:calc(var(--header-h) + 12px); }
  button, .btn, .player-btn { min-height:44px; }
  .dream-cursor-aura, .dream-tap-ripple { display:none !important; }
  .motion-ready [data-reveal]:not(.is-visible) { opacity:1 !important; transform:none !important; filter:none !important; }
  .motion-ready [data-reveal] { transition:opacity .28s ease !important; }
  .header__inner, .mobile-app-nav__item, .btn, .showcase-tab, .partner-card__link { touch-action:manipulation; }
}

@media (max-width:380px) {
  :root { --mobile-app-nav-core:64px; }
  .mobile-app-nav { gap:0; padding-left:3px; padding-right:3px; }
  .mobile-app-nav__item { border-radius:11px; }
  .mobile-app-nav__icon svg { width:20px; height:20px; }
  .mobile-app-nav__label { font-size:7.5px; letter-spacing:-.02em; }
  .header .brand-signature, #musicHeader .brand-signature, #playerHeader .brand-signature { width:94px !important; }
  .theme-switch__rail { --switch-width:39px; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-app-nav__item { transition:none !important; }
}

/* Admin keeps its own shell (no bottom app navigation), but shares the menu controller. */
@media (max-width:760px) {
  body[data-dream-admin-route="true"] .mobile-menu {
    bottom: env(safe-area-inset-bottom, 0px) !important;
  }
}

/* Dream RP — Experiências mobile: tighter editorial composition (22/10/2026)
   Correct the route-specific 100dvh rule: the cinematic intro should feel like
   a compact mobile hero, not a tall empty desktop chapter. Keep the showcase
   content-driven so the image and selector determine its height naturally. */
@media (max-width: 760px) {
  body[data-site-page="experiencias"] #conteudo > .cinema {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: calc(100% - 20px) !important;
    min-height: clamp(455px, 62svh, 540px) !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 10px auto 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px 18px 28px !important;
    box-sizing: border-box !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__micro {
    gap: 9px !important;
    font-size: 7px !important;
    line-height: 1.45 !important;
    letter-spacing: .095em !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__micro i {
    width: 20px !important;
    flex: 0 0 20px !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema h2 {
    font-size: clamp(39px, 10.8vw, 48px) !important;
    line-height: .98 !important;
    letter-spacing: -.078em !important;
    margin: 16px 0 18px !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__footer {
    gap: 10px !important;
    padding-top: 16px !important;
    align-items: center !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__footer p {
    min-width: 0 !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .circle-link {
    width: 39px !important;
    height: 39px !important;
    flex: 0 0 39px !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__watermark {
    right: 13px !important;
    bottom: 11px !important;
    max-width: calc(100% - 26px) !important;
    font-size: 6px !important;
    letter-spacing: .12em !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema::after {
    height: 64px !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 30px 0 38px !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .section-heading {
    gap: 8px !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .section-heading h2 {
    font-size: clamp(31px, 8.5vw, 36px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.07em !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase__heading-end p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase__body {
    margin-top: 17px !important;
    gap: 10px !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase-panel {
    min-height: clamp(290px, 82vw, 330px) !important;
    height: auto !important;
    border-radius: 18px !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase__selector {
    gap: 7px !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase-tab {
    min-height: 59px !important;
    padding: 10px 12px !important;
    gap: 8px !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase-tab small {
    font-size: 9px !important;
    line-height: 1.4 !important;
  }
  body[data-site-page="experiencias"] #conteudo > #experiencias .showcase__note {
    margin-top: 8px !important;
    line-height: 1.4 !important;
  }
}
@media (max-width: 380px) {
  body[data-site-page="experiencias"] #conteudo > .cinema {
    min-height: clamp(440px, 64svh, 500px) !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema .cinema__content {
    padding-inline: 15px !important;
  }
  body[data-site-page="experiencias"] #conteudo > .cinema h2 {
    font-size: clamp(37px, 10.7vw, 42px) !important;
  }
}
