/* Desktop composition plus a compact mobile brand footer. */
.desktop-header,.desktop-editorial,.desktop-country-toggle { display:none; }
.desktop-home-feature,.desktop-member-overview,.desktop-detail-layout { display:contents; }
body:has(.formal-stage) .app-shell { flex-direction:column; align-items:stretch; }
.desktop-footer { display:block; padding:28px 22px calc(94px + env(safe-area-inset-bottom)); border-top:1px solid #292b28; background:#0d0f0e; text-align:center; }
.desktop-footer-inner { display:grid; justify-items:center; gap:20px; color:#8d9088; font-size:11px; line-height:1.65; }
.desktop-footer strong { display:block; margin-bottom:5px; color:#d8ccb0; font-size:16px; letter-spacing:4px; }
.desktop-footer span { display:block; max-width:290px; }
.desktop-footer-links { display:grid; justify-items:center; gap:14px; width:min(100%,340px); }
.desktop-footer-tagline { margin:0; color:#a9aaa3; font-size:11px; letter-spacing:.08em; text-wrap:balance; }
body:has(.formal-stage[data-responsive-page="viewer"]) .desktop-footer,
body:has(.formal-stage[data-responsive-page="videoPlayer"]) .desktop-footer { display:none; }
@media (min-width:1024px), (min-width:800px) and (hover:hover) and (pointer:fine) {
  body:has(.formal-stage) { background:#0b0c0c; }
  body:has(.formal-stage) .app-shell { display:block; }
  .phone-stage.formal-stage { --canvas-width:1440px; overflow:clip; background:#101111; box-shadow:none; padding-top:80px; }
  .formal-stage .view { min-height:calc(100svh - 80px); padding-bottom:48px; }
  .desktop-header { display:block; position:fixed; top:0; left:0; right:0; z-index:35; height:80px; border-bottom:1px solid #34332f; background:rgba(15,16,16,.96); backdrop-filter:blur(16px); }
  .desktop-header-inner { max-width:1440px; margin:auto; padding:0 40px; height:100%; display:flex; align-items:center; gap:24px; }
  .desktop-brand { display:flex; flex:0 0 160px; padding:0; border:0; background:none; color:inherit; cursor:pointer; }
  .desktop-brand .brand-lockup { display:flex; align-items:center; gap:10px; }
  .desktop-brand img { width:42px; height:42px; object-fit:contain; }
  .desktop-brand .brand-type { display:flex; flex-direction:column; }
  .desktop-brand strong { font-size:23px; letter-spacing:5px; white-space:nowrap; }
  .desktop-brand em { color:#e8bc69; font-style:normal; }
  .desktop-brand small { font-size:7px; letter-spacing:2px; color:#c5bb9f; margin-top:2px; }
  .desktop-nav { display:flex; align-items:center; justify-content:center; gap:8px; flex:1; min-width:0; }
  .desktop-nav .nav-item,.desktop-video-link { display:flex; width:auto; min-width:0; min-height:42px; align-items:center; justify-content:center; padding:0 14px; border:0; border-radius:8px; background:transparent; color:#bcbcb5; cursor:pointer; font:600 14px var(--sans); white-space:nowrap; }
  .desktop-nav .nav-item b { display:none; }
  .desktop-nav .nav-item.active,.desktop-video-link[aria-current=page] { color:#f0ce89; background:#30291c; }
  .desktop-nav:has(.desktop-video-link[aria-current=page]) .nav-item.active { color:#bcbcb5; background:transparent; }
  .desktop-nav :is(.nav-item,.desktop-video-link):hover { color:#fff; background:#252625; }
  .desktop-tools { display:flex; gap:8px; flex:0 0 auto; }
  .desktop-tools .icon-btn { width:40px; height:40px; background:#202222; border:1px solid #343633; }
  .desktop-header button:focus-visible,.desktop-footer a:focus-visible { outline:2px solid #e8bc69; outline-offset:3px; }
  .formal-stage .bottom-nav { display:none; }
  .formal-stage .topbar { display:none; }
  .formal-stage .page-head { height:auto; min-height:92px; padding-block:24px; justify-content:flex-start; gap:16px; border-bottom:1px solid #292b29; margin-bottom:28px; }
  .formal-stage .page-head h1 { text-align:start; font-size:28px; flex:1; }
  .formal-stage .page-head .search-icon-btn,.formal-stage .page-head-spacer { display:none; }
  .formal-stage :is(.section,.details) { padding-inline:40px; }
  .formal-stage .section { margin-top:0; padding-block:24px; }
  .formal-stage .section-title { align-items:center; margin-bottom:22px; gap:16px; }
  .formal-stage .section-title h2 { font-size:24px; letter-spacing:-.5px; }
  .formal-stage .text-button { font-size:13px; }
  .desktop-home-feature { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:36px; padding:32px 40px 28px; align-items:stretch; }
  .desktop-editorial { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:24px 16px 24px 0; min-width:0; }
  .desktop-editorial .eyebrow { color:#dfb66c; font-size:11px; letter-spacing:2px; margin-bottom:16px; }
  .desktop-editorial .desktop-tagline { max-width:540px; margin:0; color:#f2efe7; font-size:clamp(30px,2.65vw,40px); font-weight:600; line-height:1.4; letter-spacing:-.6px; text-wrap:balance; overflow-wrap:break-word; }
  .desktop-editorial-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:22px; }
  .desktop-editorial-actions button { width:auto; min-height:46px; margin:0; padding:0 22px; font-size:14px; border-radius:9px; }
  .formal-stage .desktop-home-feature .hero { margin:0; height:380px; min-height:0; border-radius:18px; background-size:cover,cover !important; background-position:center,50% 25% !important; overflow:hidden; border:1px solid #3b3b35; }
  .formal-stage .desktop-home-feature .hero .hero-content { left:26px; right:26px; bottom:24px; }
  .formal-stage .desktop-home-feature .hero h1 { font-size:36px; line-height:1.15; margin:6px 0; }
  .formal-stage .desktop-home-feature .hero .eyebrow { display:none; }
  .formal-stage .desktop-home-feature .hero p { font-size:13px; }
  .formal-stage .desktop-home-feature .hero-bottom { display:none; }
  .formal-stage .desktop-home-feature .hero-dots { bottom:22px; right:20px; }
  .formal-stage .desktop-countries { margin:0 40px 6px; padding:20px 22px; border:1px solid #30322e; background:#171917; border-radius:12px; }
  .formal-stage .desktop-countries .section-title { margin-bottom:14px; }
  .formal-stage .desktop-countries .section-title h2 { font-size:16px; letter-spacing:0; margin:0; }
  .formal-stage .desktop-countries .section-title>.text-button { margin-left:auto; }
  .formal-stage .desktop-countries .chips { display:flex; flex-wrap:wrap; white-space:normal; overflow:visible; gap:8px; padding:0; }
  .formal-stage .desktop-countries .chip { min-height:34px; padding:7px 14px; font-size:12px; margin:0; border-radius:7px; background:#202320; }
  .formal-stage .desktop-countries .chip.active { background:#eeeade; color:#151715; }
  .desktop-countries:not([data-expanded=true]) .chip:nth-child(n+13) { display:none; }
  .desktop-country-toggle { display:inline-flex; align-items:center; padding:6px 0; border:0; margin:0; background:none; color:#dbb876; cursor:pointer; font:12px var(--sans); }
  .formal-stage .desktop-feed .section-title { display:flex; }
  .formal-stage .desktop-feed .section-title>.text-button { margin-left:auto; }
  .formal-stage .desktop-feed .tabs { display:flex; padding:0; margin:0 0 0 18px; gap:4px; overflow:visible; }
  .formal-stage .desktop-feed .tab { padding:8px 14px; min-height:34px; font-size:12px; border-radius:8px; background:transparent; border-color:transparent; }
  .formal-stage .desktop-feed .tab.active { background:#eeeade; color:#111; }
  .formal-stage .masonry { gap:26px 24px; align-items:start; }
  .formal-stage .masonry .card { background:#191b19; border:1px solid #30322e; border-radius:13px; overflow:hidden; transition:transform .16s ease,border-color .16s ease; }
  .formal-stage .masonry .card:hover { border-color:#85724c; transform:translateY(-3px); }
  .formal-stage .masonry .card:focus-visible { outline:2px solid #e8bc69; outline-offset:4px; }
  .formal-stage .masonry .card .card-photo { aspect-ratio:4/5; border-radius:0; }
  .formal-stage .masonry .card>.meta { padding-inline:15px; margin-block:8px; font-size:12px; line-height:1.6; }
  .formal-stage .masonry .card>.card-person { margin-top:13px; font-size:14px; }
  .formal-stage .masonry .card>.price { padding:0 15px 16px; margin-top:10px; font-size:14px; }
  .formal-stage .sticky-action { bottom:24px; width:auto; min-width:300px; max-width:calc(100vw - 80px); padding:15px 28px; border-radius:12px; box-shadow:0 8px 32px #0008; }
  .formal-stage .view:has(.sticky-action) { padding-bottom:120px; }
  .formal-stage .cover { margin:28px 40px 0; height:500px; border-radius:18px; background-size:cover,cover !important; background-position:center,50% 25% !important; overflow:hidden; }
  .formal-stage .cover .cover-info { left:32px; right:32px; bottom:28px; }
  .formal-stage .cover .cover-actions { padding:20px; }
  .desktop-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:24px 32px; padding:28px 40px; }
  .formal-stage .desktop-detail-layout .cover { position:sticky; top:108px; grid-row:1 / span 2; margin:0; height:min(680px,calc(100svh - 136px)); min-height:480px; background-size:cover,contain !important; background-position:center,center !important; border:1px solid #33352f; }
  .formal-stage .desktop-detail-layout .details { margin:0; padding:24px; background:#171917; border:1px solid #30322e; border-radius:14px; }
  .formal-stage .desktop-detail-layout .sticky-action { position:static; grid-column:2; inset:auto; transform:none; width:100%; min-width:0; max-width:none; margin:0; }
  .formal-stage .desktop-detail-layout .preview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .formal-stage .video-channel-card { border:1px solid #33362f; padding:12px; border-radius:14px; background:#191b19; }
  .formal-stage .video-channel-poster { aspect-ratio:4/5; border-radius:9px; }
  .formal-stage .video-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:36px; max-width:1200px; width:100%; padding:0 40px 48px; align-items:start; }
  .formal-stage .video-detail-copy { grid-column:2; grid-row:1; padding:20px 0; }
  .formal-stage .video-detail>:is(.primary,.secondary) { grid-column:2; align-self:start; margin:0; }
  .formal-stage .channel-video-player,.formal-stage .video-detail-lock { grid-column:1; grid-row:1 / span 2; max-height:680px; height:calc(100svh - 190px); }
  .formal-stage .tiers { gap:22px; }
  .desktop-member-overview { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:24px; padding:0 40px; margin-bottom:24px; }
  .formal-stage .desktop-member-overview :is(.balance,.benefit-meter) { margin:0; padding:24px; min-height:180px; }
  .formal-stage .desktop-member-overview .balance strong { font-size:32px; }
  .formal-stage .desktop-member-overview p { font-size:14px; line-height:1.8; }
  .formal-stage .billing-switch { max-width:560px; margin:0 auto 24px; }
  .formal-stage .tier { padding:26px; border-radius:14px; }
  .formal-stage .tier .tier-name { font-size:23px; }
  .formal-stage .tier .tier-price { font-size:24px; }
  .formal-stage .desktop-account-page { width:min(100%,1280px); min-height:calc(100svh - 80px); margin:0 auto; padding:28px 40px 64px; display:grid; grid-template-columns:minmax(280px,340px) minmax(0,1fr); grid-template-rows:auto 1fr; align-items:start; gap:28px 32px; }
  .formal-stage .desktop-account-page>.page-head { grid-column:1 / -1; min-height:64px; margin:0; padding:0 0 22px; border-bottom:1px solid #2d2e2b; }
  .formal-stage .desktop-account-page>.page-head .back { width:42px; height:42px; margin-right:4px; }
  .formal-stage .desktop-account-page>.page-head h1 { font-size:30px; }
  .formal-stage .desktop-account-page>.account-head { position:sticky; top:108px; max-width:none!important; min-height:310px; margin:0!important; padding:28px; border:1px solid #363832; border-radius:16px; background:linear-gradient(145deg,#292820 0%,#1b1d1b 58%,#171817 100%); box-shadow:0 22px 60px rgba(0,0,0,.18); }
  .formal-stage .desktop-account-page .account-head .profile { width:100%; align-items:center; padding:0; border:0; background:none; color:inherit; text-align:left; cursor:pointer; }
  .formal-stage .desktop-account-page .profile-avatar { width:72px; height:72px; flex:0 0 72px; font-size:22px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
  .formal-stage .desktop-account-page .profile-identity { display:flex; flex-direction:column; min-width:0; }
  .formal-stage .desktop-account-page .profile-name { font-size:23px; line-height:1.3; overflow-wrap:anywhere; }
  .formal-stage .desktop-account-page .profile-member-label { margin-top:5px; color:#b7b5aa; font-size:13px; }
  .formal-stage .desktop-account-page .profile-edit-hint { margin-top:8px; color:#deb96f; font-size:12px; }
  .formal-stage .desktop-account-page .profile-edit-pencil { width:22px; height:22px; margin-left:auto; color:#d9aa4e; fill:none; stroke:currentColor; stroke-width:1.6; }
  .formal-stage .desktop-account-page .account-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:30px; padding-top:24px; border-top:1px solid #3a3932; }
  .formal-stage .desktop-account-page .account-stats>div { min-width:0; }
  .formal-stage .desktop-account-page .account-stats strong { color:#f1eadc; font-size:17px; white-space:nowrap; }
  .formal-stage .desktop-account-page .account-stats span { display:block; margin-top:7px; font-size:10px; line-height:1.4; }
  .formal-stage .desktop-account-page>.menu { max-width:none!important; margin:0!important; padding:0; display:grid; gap:20px; }
  .formal-stage .desktop-account-page .menu-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; margin:0; padding:24px; border:1px solid #30322e; border-radius:15px; background:#171917; }
  .formal-stage .desktop-account-page .menu-label { grid-column:1 / -1; margin:0 0 12px; padding-bottom:14px; border-bottom:1px solid #30322e; color:#d4ad63; font-size:10px; letter-spacing:1.4px; }
  .formal-stage .desktop-account-page .menu-item { min-height:58px; padding:15px 14px; border:0; border-radius:9px; align-items:center; font-size:14px; transition:background .15s ease,color .15s ease; }
  .formal-stage .desktop-account-page .menu-item:nth-of-type(4n+1),.formal-stage .desktop-account-page .menu-item:nth-of-type(4n+2) { background:#1d1f1d; }
  .formal-stage .desktop-account-page .menu-item:hover { background:#252720; color:#f3cd82; }
  .formal-stage .desktop-account-page .menu-item:focus-visible { outline:2px solid #e8bc69; outline-offset:2px; }
  .formal-stage .desktop-account-page .menu-item>span:last-child { color:#aaa99f; text-align:right; }
  .formal-stage .desktop-account-page .menu-item.referral-entry>span:first-child { max-width:72%; line-height:1.45; }
  .desktop-footer { display:block; max-width:1440px; margin:auto; padding:32px 40px; border-top:1px solid #30312e; background:#101111; }
  .desktop-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; color:#83857c; font-size:12px; }
  .desktop-footer strong { display:block; font-size:15px; letter-spacing:3px; color:#d0c6ad; margin-bottom:6px; }
  .desktop-footer-links { display:grid; justify-items:end; gap:10px; width:auto; max-width:none; }
  .desktop-footer-tagline { text-align:right; font-size:12px; }
  body[data-desktop-viewer=true] .desktop-header,body[data-desktop-viewer=true] .desktop-footer { display:none; }
  body[data-desktop-viewer=true] .formal-stage { padding-top:0; }
  .formal-stage .full-image.viewer-shell { max-width:1120px; }
  html[dir=rtl] .desktop-feed .section-title>.text-button { margin-left:0; margin-right:auto; }
  html[dir=rtl] .desktop-feed .tabs { margin-left:0; margin-right:18px; }
  @media (max-width:1199px) {
    .desktop-header-inner { gap:14px; padding-inline:28px; }
    .desktop-brand { flex-basis:138px; }
    .desktop-nav { gap:2px; }
    .desktop-nav .nav-item,.desktop-video-link { padding-inline:9px; font-size:12px; }
    .desktop-home-feature { gap:24px; }
    .desktop-editorial .desktop-tagline { font-size:30px; }
    .formal-stage .desktop-feed .section-title { flex-wrap:wrap; }
    .formal-stage .desktop-account-page { grid-template-columns:minmax(250px,290px) minmax(0,1fr); padding-inline:28px; gap:24px; }
    .formal-stage .desktop-account-page .menu-group { grid-template-columns:1fr; }
  }
  @media (max-width:920px) {
    .formal-stage .desktop-account-page { grid-template-columns:1fr; }
    .formal-stage .desktop-account-page>.account-head { position:static; min-height:0; }
    .formal-stage .desktop-account-page>.menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .formal-stage .desktop-account-page .menu-group { grid-template-columns:1fr; }
  }
  @media (prefers-reduced-motion:reduce) { .formal-stage .masonry .card { transition:none; } }
}
