/* Vĩnh Lộc Pickleball V2.2 — approved layout fidelity and cross-device refinements.
   Site data stays in Core. Do not use a full-page screenshot as the interface. */
:root{--vlp-bg:#061b31;--vlp-panel:#09223b;--vlp-electric:#4eabf6;--vlp-lime:#e7ff35}
body{background:var(--vlp-bg)}
body.home .site-header{background:#06192ceb!important;border-bottom:1px solid #236094!important;backdrop-filter:blur(12px)}
body.home .site-header .header-inner{max-width:1430px!important}
body.home .site-header .brand .brand-logo{filter:drop-shadow(0 5px 9px #0009)!important}
/* Original artwork has a 4.22:1 wide transparent text region and both athletes on
   the right. Treat it as ONE panoramic background rather than zooming a portrait. */
body.home .arena-hero.vl-hero:not(.vl-custom-hero){height:clamp(292px,24vw,410px)!important;min-height:0!important;background-image:url('../img/approved-hero-art.webp')!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
body.home .arena-hero.vl-hero .arena-hero-visual{display:none!important}
body.home .arena-hero.vl-hero .arena-hero-side{display:none!important}
body.home .vl-hero .arena-hero-copy{width:min(48%,640px)!important;margin-left:clamp(10px,3vw,48px)!important;padding-block:18px!important}
body.home .vl-hero .arena-hero-copy h1{margin-top:5px!important;margin-bottom:7px!important}
body.home .vl-hero .arena-hero-copy h1 span,body.home .vl-hero .arena-hero-copy h1 strong{font-size:clamp(41px,4.65vw,75px)!important;line-height:.97!important}
body.home .vl-hero .arena-hero-copy>p{line-height:1.35!important;letter-spacing:.075em!important;font-size:clamp(9px,.86vw,12px)!important}
body.home .vl-hero .vl-hero-facts{gap:8px 15px!important;margin:10px 0 13px!important}
body.home .vl-hero .vl-hero-facts span{font-size:clamp(9px,.8vw,11px)!important}
body.home .vl-hero .arena-hero-actions .button{background:linear-gradient(105deg,#f4ff9a,#dfff1a)!important;color:#081a2c!important;box-shadow:0 0 19px #ccff2373!important;min-height:36px!important}
body.home .arena-section{padding:14px 0 16px!important;background:linear-gradient(180deg,#071d35,#071b30)!important}
body.home .arena-section-title{margin-bottom:10px!important}
body.home .arena-section-title h2{border-left:3px solid var(--vlp-lime)!important;padding-left:10px!important;color:#fff!important}
body.home .tour-grid,body.home .service-grid,body.home .vl-player-grid,body.home .vl-news-grid{gap:10px!important}
body.home .tour-card,body.home .service-tile,body.home .athlete-card,body.home .vl-rank-card,body.home .vl-news-card{border:1px solid #377baf!important;border-radius:7px!important;overflow:hidden;box-shadow:inset 0 1px 0 #fff1,0 3px 15px #0005}
body.home .tour-card:hover,body.home .service-tile:hover,body.home .athlete-card:hover,body.home .vl-news-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0008,0 0 0 1px #e4ff4c4d!important;border-color:#b8e75d!important}
body.home .tour-card .tour-cta{background:linear-gradient(110deg,#f3ff9b,#dfff27)!important;color:#071b32!important;font-weight:850!important}
body.home .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.home .service-tile .service-photo{background-size:cover!important;background-position:center!important}
body.home .service-tile small{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.home .vl-player-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.home .vl-player-grid .athlete-card{aspect-ratio:.77;min-width:0;min-height:0!important;position:relative}
body.home .vl-player-grid .athlete-photo,body.home .vl-player-grid .athlete-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 19%}
body.home .vl-player-grid .athlete-meta{position:absolute;left:0;right:0;bottom:0;padding:46px 9px 10px!important;background:linear-gradient(0deg,#06172b 0%,#061a2ced 55%,transparent 100%)!important;z-index:2}
body.home .vl-player-grid .athlete-meta strong{font-size:clamp(10px,.94vw,14px)!important;line-height:1.3!important;white-space:normal!important}
body.home .vl-player-grid .athlete-rank{z-index:3;max-width:calc(100% - 16px);white-space:normal;font-size:9px!important;line-height:1.3}
body.home .vl-player-grid .vl19-preview-card .athlete-rank{background:#c8def3!important;color:#06213b!important}
body.home .vl-rank-card{grid-template-columns:minmax(105px,36%) minmax(0,1fr)!important}
body.home .vl-rank-row{min-height:27px}
body.home .vl-news-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.home .vl-news-card .vl-news-image{aspect-ratio:16/9!important}
body.home .vl-news-card .vl-news-image img{width:100%;height:100%;object-fit:cover!important}
body.home .vl-photo-label{font-size:8px!important;line-height:1.3;color:#dceaf9;max-width:45%}
@media (max-width:1200px){body.home .vl-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.home .vl-player-grid .athlete-card{aspect-ratio:.9;min-height:220px!important}body.home .vl-hero .arena-hero-copy{width:53%!important}}
@media (max-width:1000px){body.home .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.home .vl-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.home .arena-hero.vl-hero:not(.vl-custom-hero){height:385px!important;background-size:auto 100%!important;background-position:58% center!important}body.home .vl-hero .arena-hero-copy{width:67%!important}}
@media (max-width:640px){body.home .arena-hero.vl-hero:not(.vl-custom-hero){height:395px!important;background-image:linear-gradient(90deg,#06192ef0 0%,#06192ed4 57%,#06192e45 100%),url('../img/approved-hero-art.webp')!important;background-size:cover,auto 100%!important;background-position:center,61% center!important}body.home .vl-hero .arena-hero-grid{align-items:center!important}body.home .vl-hero .arena-hero-copy{width:100%!important;max-width:355px!important;margin-left:0!important;padding:28px 0 13px!important}body.home .vl-hero .arena-hero-copy h1 span,body.home .vl-hero .arena-hero-copy h1 strong{font-size:clamp(37px,9.5vw,55px)!important}body.home .vl-hero .vl-hero-facts{max-width:310px!important;gap:6px 11px!important}body.home .tour-grid,body.home .service-grid,body.home .vl-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}body.home .vl-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}body.home .vl-player-grid .athlete-card{aspect-ratio:.8;min-height:205px!important}body.home .vl-rank-grid{grid-template-columns:1fr!important}body.home .vl-rank-card{grid-template-columns:33% minmax(0,1fr)!important}body.home .arena-section-title a{font-size:10px!important;white-space:nowrap}}
@media(max-width:390px){body.home .tour-grid,body.home .service-grid{grid-template-columns:1fr!important}body.home .vl-hero .arena-hero-copy h1 span,body.home .vl-hero .arena-hero-copy h1 strong{font-size:36px!important}}
@media(prefers-reduced-motion:reduce){body.home .tour-card,body.home .service-tile,body.home .athlete-card,body.home .vl-news-card{transition:none!important}}

/* V2.2.1: readable controls and cards at ordinary and enlarged text sizes. */
body.home .vl-hero .arena-hero-copy>p{font-size:clamp(14px,1vw,16px)!important;letter-spacing:.025em!important}
body.home .vl-hero .vl-hero-facts span{font-size:14px!important;line-height:1.4}
body.home .vl-hero .arena-hero-actions .button{font-size:14px!important;min-height:44px!important}
body.home .vl-player-grid .athlete-meta strong{font-size:clamp(14px,1vw,17px)!important}
body.home .vl-player-grid .athlete-rank{font-size:12px!important}
body.home .vl-photo-label{font-size:12px!important}
body.home .arena-section-title a{font-size:14px!important;white-space:normal!important}
body.home .tour-card .tour-card-content,body.home .service-tile,body.home .vl-news-card{overflow-wrap:anywhere}
@media(max-width:640px){
 body.home .arena-hero.vl-hero:not(.vl-custom-hero){min-height:430px!important;height:auto!important}
 body.home .vl-hero .arena-hero-copy{max-width:100%!important;padding:35px 0!important}
 body.home .vl-hero .arena-hero-copy h1 span,body.home .vl-hero .arena-hero-copy h1 strong{font-size:clamp(36px,9vw,55px)!important}
 body.home .tour-grid,body.home .service-grid{grid-template-columns:1fr!important}
 body.home .arena-section-title{align-items:flex-start!important;gap:8px!important}
}
