
/* FRANCS STAR — MOBILE-FIRST OPTIMIZATION LAYER
   This file intentionally overrides desktop presentation only on smaller screens. */
html{-webkit-text-size-adjust:100%}
body{overscroll-behavior-y:none}
img{max-width:100%;height:auto}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}

/* Artist image slots shared desktop/mobile */
.art-photo img,.p-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.p-photo{overflow:hidden}
.p-gallery-track{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.p-gallery-track figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#101010}
.p-gallery-track img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
@media(hover:hover) and (pointer:fine){.p-gallery-track figure:hover img{transform:scale(1.035)}}

/* Special roster/profile mobile menu */
.artist-menu-btn,.artist-mobile-nav{display:none}

@media(max-width:900px){
  /* Global mobile header: premium sheet instead of cramped nav */
  body.menu-open{overflow:hidden}
  .site-header{height:72px!important}
  .mobile-nav{top:100px!important;max-height:calc(100dvh - 100px);overflow:auto;padding:18px 18px 28px!important;background:rgba(5,5,5,.985)!important;backdrop-filter:blur(18px)}
  .mobile-nav a{min-height:48px;display:flex!important;align-items:center;font-size:12px!important;padding:0 4px!important}
  .mobile-nav a.active{color:#fff!important;border-left:2px solid var(--red);padding-left:14px!important}

  /* Home composition */
  .page-hero.home{min-height:760px!important;align-items:flex-end}
  .hero-content{padding:150px 0 72px!important}
  .hero-content>p{font-size:16px!important;line-height:1.58!important;max-width:90%}
  .hero-kicker{font-size:9px!important;letter-spacing:.15em!important}
  .actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px}
  .actions .btn{width:100%;min-height:50px;padding:0 14px}

  /* Featured artists: swipe is better than auto-moving marquee on touch */
  .roster-home{padding:72px 0!important}
  .marquee{overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-mask-image:none!important;mask-image:none!important;padding:8px 15px 18px!important;scrollbar-width:none}
  .marquee::-webkit-scrollbar{display:none}
  .m-track{animation:none!important;transform:none!important;gap:12px!important}
  .c-card{flex:0 0 min(72vw,310px)!important;scroll-snap-align:start;aspect-ratio:4/5}
  .c-view{opacity:1!important;transform:none!important}

  /* Home 3D event ring becomes a large swipe gallery on touch devices */
  .home-flyer-showcase{padding:76px 0!important;overflow:hidden}
  .hf-grid{display:block!important}
  .hf-copy{max-width:none!important}
  .hf-copy .copy{font-size:15px;line-height:1.65}
  .hf-visual{min-height:0!important;height:auto!important;margin-top:28px!important;overflow:visible!important;display:block!important;padding-bottom:22px}
  .hf-orbit-floor,.hf-cardb{display:none!important}
  .hf-carousel{position:relative!important;left:auto!important;top:auto!important;margin:0!important;width:calc(100vw - 30px)!important;height:auto!important;display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;transform:none!important;scale:1!important;animation:none!important;perspective:none!important;padding:8px 0 18px;scrollbar-width:none}
  .hf-carousel::-webkit-scrollbar{display:none}
  .hf-card{position:relative!important;inset:auto!important;transform:none!important;width:min(74vw,300px)!important;height:auto!important;aspect-ratio:4/5;flex:0 0 min(74vw,300px)!important;scroll-snap-align:center;border-radius:7px;-webkit-box-reflect:none!important}
  .hf-card img{width:100%!important;height:100%!important;object-fit:contain!important;background:#080808;border-radius:6px}
  .hf-card:after{display:none!important}
  .hf-hint{position:static!important;margin:8px 0 0!important;text-align:left!important;color:#777!important}

  /* Experience / Alliance / About */
  .exp-hero,.nv3-hero,.av3-hero{min-height:720px!important;padding-top:100px!important}
  .exp-final,.av3-final,.nv3-final{min-height:560px!important}
  .av3-half{min-height:500px!important}
  .nv3-pillar{min-height:500px!important}

  /* Event page: replace scroll-driven 3D ring with touch-native flyer rail */
  .ring-stage{height:auto!important;position:relative!important}
  .ring-sticky{position:relative!important;top:auto!important;height:auto!important;display:block!important;overflow:visible!important;padding:12px 0 28px!important}
  .ring{--R:0px!important;display:flex!important;gap:12px!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:auto!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;transform:none!important;animation:none!important;padding:10px 8vw 18px!important;scrollbar-width:none}
  .ring::-webkit-scrollbar{display:none}
  .ring li{position:relative!important;inset:auto!important;transform:none!important;backface-visibility:visible!important;flex:0 0 min(78vw,330px)!important;aspect-ratio:4/5!important;scroll-snap-align:center;opacity:1!important;z-index:auto!important}
  .ring-hint{padding:0 15px!important;text-align:left!important}

  /* Generic forms */
  input,select,textarea{font-size:16px!important}
}

@media(max-width:700px){
  :root{--mobile-pad:16px}
  .container{width:calc(100% - 32px)!important}
  .section{padding:68px 0!important}
  .display.xl{font-size:clamp(58px,18vw,92px)!important;line-height:.86!important}
  .display.lg{font-size:clamp(48px,15vw,78px)!important;line-height:.88!important}
  .copy{font-size:15px!important;line-height:1.68!important}

  /* global header */
  .topline{height:28px!important;font-size:7px!important;letter-spacing:.08em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 12px!important}
  .site-header{top:28px!important;height:68px!important}
  .header-inner{height:68px!important;width:calc(100% - 24px)!important}
  .brand-pair .frank{width:102px!important;max-height:43px!important}.brand-pair .tauro{width:39px!important;max-height:43px!important}.brand-pair .x{font-size:13px!important}
  .menu-btn{width:44px!important;height:44px!important;font-size:18px!important}
  .mobile-nav{top:96px!important;max-height:calc(100dvh - 96px)!important}

  /* home hero */
  .page-hero.home{min-height:690px!important;padding-top:96px!important}
  .hero-content{padding:125px 0 52px!important}
  .hero-content>p{max-width:100%!important;margin:20px 0 24px!important}
  .actions{grid-template-columns:1fr!important}

  /* roster home */
  .r-head{display:block!important;margin-bottom:24px!important}
  .r-head p{font-size:14px;margin:13px 0 18px!important}
  .c-card{flex-basis:78vw!important;max-width:300px}
  .c-base{padding:18px!important}.c-base h3{font-size:34px!important}

  /* event flyers */
  .home-flyer-showcase{padding:64px 0!important}
  .hf-copy h2{font-size:clamp(52px,15vw,78px)!important}
  .hf-card{width:min(78vw,300px)!important;flex-basis:min(78vw,300px)!important}

  /* Artist roster page (special embedded design) */
  .artists-page .wrap,body:has(.roster) .wrap{width:calc(100% - 28px)!important}
  .head-in{min-height:68px!important;padding:8px 0!important;flex-wrap:nowrap!important}
  .head-in .logos{gap:7px!important;min-width:0}.head-in .logos img:first-child{width:106px!important;max-height:43px!important}.head-in .logos img:last-child{width:43px!important;max-height:43px!important}.head-in .logos span{font-size:14px!important}
  .head-in>.nav,.head-in>.btn-red{display:none!important}
  .artist-menu-btn{display:grid!important;place-items:center;width:44px;height:44px;flex:0 0 auto;background:transparent;border:1px solid rgba(255,255,255,.14);color:#fff;font-size:19px}
  .artist-mobile-nav{display:block!important;position:fixed;left:0;right:0;top:98px;z-index:1600;background:rgba(5,5,5,.99);backdrop-filter:blur(18px);padding:10px 16px 24px;max-height:calc(100dvh - 98px);overflow:auto;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.28s var(--ease);border-bottom:1px solid rgba(255,255,255,.1)}
  .artist-mobile-nav.open{transform:none;opacity:1;pointer-events:auto}
  .artist-mobile-nav a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.07);font:700 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#c4c4c4}
  .artist-mobile-nav a.active{color:#fff;border-left:2px solid #98080F;padding-left:12px}
  .artist-mobile-nav .artist-mobile-cta{margin-top:14px;justify-content:center;background:#98080F;color:#fff;border:0}
  .hero{min-height:560px!important}.hero .wrap{padding:82px 0 48px!important}.hero h1,h1{font-size:clamp(56px,18vw,90px)!important}.lead{font-size:15px!important}.kpis{grid-template-columns:1fr 1fr!important;margin-top:28px!important}.kpis div{padding:15px!important}.kpis b{font-size:32px!important}
  .roster{padding:58px 0 82px!important}.sec-head{display:block!important}.sec-head p{margin-top:16px!important}.filters{display:block!important;padding:22px 0 4px!important}.filters>div{margin-bottom:18px!important}.chips{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:42px;scroll-snap-align:start}.art-group{margin-top:46px!important}.art-group-head{flex-wrap:wrap!important;gap:10px!important}.art-group-head i{flex-basis:100%!important}.art-grid{grid-template-columns:1fr!important;gap:14px!important}.art-card{aspect-ratio:4/5!important;min-height:0!important}.art-hover{display:none!important}.art-base{opacity:1!important;transform:none!important;pointer-events:auto!important;padding:19px!important}.art-card:after{opacity:1!important;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.05) 66%)!important}.art-tags{opacity:1!important}.art-base h4{font-size:36px!important}.art-base .btn-red{min-height:44px!important}

  /* Artist profiles */
  main.wrap{width:calc(100% - 28px)!important}
  .p-hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:28px!important;padding:32px 0 42px!important}.p-photo{width:100%!important;max-width:520px;margin:0 auto;aspect-ratio:3/4!important}.p-back{margin-bottom:18px!important}.p-name{font-size:clamp(52px,17vw,82px)!important}.p-claim{font-size:15px!important;line-height:1.62!important;margin-top:18px!important}.p-stats{grid-template-columns:1fr 1fr!important;margin-top:25px!important}.p-stat{padding:15px!important}.p-stat b{font-size:28px!important}.p-stat:last-child:nth-child(odd){grid-column:1/-1}.p-actions{display:grid!important;grid-template-columns:1fr!important}.p-actions a{justify-content:center;min-height:48px}.p-sec{padding-bottom:58px!important}.p-cols{grid-template-columns:1fr!important}.p-col{padding:23px 20px!important}.p-video{aspect-ratio:16/9!important}.p-gallery-track{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none}.p-gallery-track::-webkit-scrollbar{display:none}.p-gallery-track figure{flex:0 0 82vw;max-width:430px;aspect-ratio:4/3;scroll-snap-align:start}.p-cta{display:block!important;padding-bottom:68px!important}.p-cta a{width:100%;justify-content:center;margin-top:20px;min-height:50px}

  /* V3 pages */
  .exp-hero,.nv3-hero,.av3-hero{min-height:650px!important}.exp-hero-inner,.nv3-hero-inner{padding:62px 0 48px!important}.exp-hero-inner>p,.nv3-hero-inner>p{font-size:15px!important}.exp-shot{height:270px!important}.exp-steps p{padding-left:0!important}.av3-lock{margin:24px 0 14px!important}.av3-half{min-height:470px!important}.av3-half-body h2{font-size:56px!important}.av3-metrics div{padding:26px 20px!important}.av3-service-list p{padding-left:0!important}.nv3-pillar{min-height:430px!important}.nv3-no{font-size:58px!important}.nv3-strip figure{flex-basis:82vw!important;height:360px!important}.nv3-chain{font-size:20px!important}

  /* events */
  .ring li{flex-basis:82vw!important}

  /* Player optimized for one-hand use */
  body{padding-bottom:88px!important}
  .fs-player{height:88px!important;padding:9px 10px 8px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .fs-cover{width:44px!important;height:44px!important;border-radius:3px}.fs-now{font-size:6px!important}.fs-title{font-size:16px!important}.fs-artist{font-size:7px!important}.fs-controls{gap:0!important}.fs-play{width:44px!important;height:44px!important}.fs-controls .fs-prev,.fs-controls .fs-next{display:none!important}.fs-right{top:0!important}.fs-playlist{bottom:96px!important;right:8px!important;width:calc(100vw - 16px)!important;max-height:58dvh!important}.fs-resume{bottom:100px!important;right:10px!important}
}

@media(max-width:380px){
  .brand-pair .frank{width:90px!important}.brand-pair .tauro{width:34px!important}
  .display.xl{font-size:56px!important}.display.lg{font-size:48px!important}
  .c-card{flex-basis:84vw!important}.hf-card{width:82vw!important;flex-basis:82vw!important}
  .p-stats{grid-template-columns:1fr!important}.p-stat:last-child:nth-child(odd){grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  .m-track,.hf-carousel,.ring{animation:none!important}
  *{scroll-behavior:auto!important}
}

/* REAL ARTIST PHOTO FOCAL POSITIONS */
[data-artist-image="young-eiby"]{object-position:52% 48%!important;background-position:52% 48%!important}
[data-artist-image="strong-black"]{object-position:54% 49%!important;background-position:54% 49%!important}
[data-artist-image="calulo-og"]{object-position:50% 48%!important;background-position:50% 48%!important}
[data-artist-image="d-lv-six"]{object-position:49% 53%!important;background-position:49% 53%!important}
[data-artist-image="og-kvsh"]{object-position:50% 46%!important;background-position:50% 46%!important}


/* =========================================================
   MOBILE NAVIGATION / CAROUSELS / COMPACT FOOTER
   ========================================================= */
@media(max-width:620px){
  /* Keep all visual carousels alive on mobile as touch rails. */
  .roster-home .marquee{display:block!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;overscroll-behavior-x:contain!important;padding-inline:15px!important;-webkit-mask-image:none!important;mask-image:none!important}
  .roster-home .m-track{display:flex!important;transform:none!important;animation:none!important;gap:12px!important;width:max-content!important}
  .roster-home .c-card{display:block!important;flex:0 0 min(78vw,300px)!important;scroll-snap-align:center!important}
  .home-flyer-showcase .hf-carousel{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}
  .event-craft-list{scroll-snap-type:x mandatory!important;overscroll-behavior-x:contain!important}

  /* Compact footer: brand once, Explore / Booking / Social on one row. */
  .footer{padding:28px 0 112px!important}
  .footer .container{width:min(calc(100% - 24px),var(--max))!important}
  .footer-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px 10px!important;align-items:start!important}
  .footer-grid>div:first-child{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding-bottom:16px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .footer-lock{gap:8px!important;margin:0!important}.footer-lock img:first-child{width:126px!important;max-height:48px!important}.footer-lock img:last-child{width:48px!important;max-height:48px!important}.footer-lock .gold{font-size:13px!important}
  .footer-grid>div:first-child .copy{display:none!important}
  .footer h4{margin:0 0 10px!important;font-size:7px!important;letter-spacing:.17em!important;color:#777!important}
  .footer a{font-size:9px!important;line-height:1.2!important;margin:8px 0!important;color:#aaa!important;white-space:normal!important}
  .footer-grid>div:nth-child(2) a:nth-of-type(n+4),.footer-grid>div:nth-child(3) a:nth-of-type(n+4),.footer-grid>div:nth-child(4) a:nth-of-type(n+4){display:none!important}
  .footer-bottom{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important;gap:10px!important;margin-top:20px!important;padding-top:16px!important;font-size:6.5px!important;line-height:1.45!important;letter-spacing:.08em!important}
  .footer-bottom span{max-width:48%!important}.footer-bottom span:last-child{text-align:right!important}
}
@media(max-width:380px){
  .footer-lock img:first-child{width:108px!important}.footer-lock img:last-child{width:42px!important}
  .footer a{font-size:8px!important}.footer h4{font-size:6.5px!important}
}

/* REV12 — nuevos artistas */
[data-artist-image="marcianeke"]{object-position:50% 36%!important;background-position:50% 36%!important}
[data-artist-image="angelo-sanz"]{object-position:50% 42%!important;background-position:50% 42%!important}
.editorial-icon{width:26px;height:26px;display:block;color:#E5A746;flex:0 0 auto}
.editorial-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}


/* REV13 — mobile artist cards: tap reveals metrics + ficha actions */
@media(max-width:700px){
  .art-card{cursor:pointer!important;transition:min-height .28s ease,box-shadow .28s ease!important}
  .art-base{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
  .art-base .btn-red{width:100%!important;justify-content:center!important;margin-top:3px!important}
  .art-base::after{content:'Toca la tarjeta para ver métricas';display:block;margin-top:2px;color:#8a8a8a;font:700 8px/1.35 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
  .art-hover{display:none!important;opacity:0!important}
  .art-card.is-open{height:min(76dvh,690px)!important;min-height:610px!important;aspect-ratio:auto!important;border-color:rgba(229,167,70,.38)!important;box-shadow:0 18px 55px rgba(0,0,0,.45)!important}
  .art-card.is-open::after{opacity:.2!important}
  .art-card.is-open .art-photo{filter:brightness(.22) saturate(.65)!important;transform:scale(1.02)!important}
  .art-card.is-open .art-tags{opacity:0!important;pointer-events:none!important}
  .art-card.is-open .art-base{display:none!important}
  .art-card.is-open .art-hover{display:flex!important;opacity:1!important;position:absolute!important;inset:0!important;z-index:9!important;padding:20px 18px 22px!important;overflow-y:auto!important;background:linear-gradient(180deg,rgba(5,5,5,.72),rgba(5,5,5,.98) 62%)!important}
  .art-card.is-open .art-hover h4{font-size:40px!important;margin-bottom:2px!important}
  .art-card.is-open .art-hover p{font-size:13px!important;line-height:1.55!important;margin:4px 0 10px!important}
  .art-card.is-open .art-stats{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:1px!important}
  .art-card.is-open .art-stat{min-width:0!important;padding:11px 10px!important;display:flex!important;align-items:center!important;gap:9px!important}
  .art-card.is-open .art-stat:nth-child(3):last-child{grid-column:1/-1!important}
  .art-card.is-open .art-stat b{font-size:20px!important}
  .art-card.is-open .art-stat span{font-size:7.5px!important;line-height:1.25!important}
  .art-card.is-open .art-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:auto!important;padding-top:16px!important}
  .art-card.is-open .art-actions .btn-red{grid-column:1/-1!important}
  .art-card.is-open .art-actions a{width:100%!important;min-width:0!important;justify-content:center!important;text-align:center!important;padding:0 9px!important;min-height:44px!important;font-size:9px!important}
}
@media(max-width:380px){
  .art-card.is-open{height:78dvh!important;min-height:590px!important}
  .art-card.is-open .art-stats{grid-template-columns:1fr!important}
  .art-card.is-open .art-stat:nth-child(3):last-child{grid-column:auto!important}
}
