/* Shared vector artwork renders consistently on desktop, iOS and Android. */
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.v-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible}
.brand-star{display:inline-flex;align-items:center}
.menu-icon,.toggle,.partner-arrow,.close-dialog{display:inline-flex;align-items:center;justify-content:center}
.round-link .v-icon{width:25px;height:25px}
.artist-buttons .v-icon{width:18px;height:18px}
.logos-pause .v-icon{width:12px;height:12px}
.poster-stamp .v-icon{width:9px;height:9px}
.service-content li:before{content:none}
.service-content li>.v-icon{width:12px;height:12px;margin-right:13px;color:var(--accent)}
.footer-brand>span{display:inline-flex}
.close-dialog{padding:9px}
.nav-contact>span{display:inline-flex}
.footer-bottom a{white-space:nowrap}

/* Keep desktop composition and details through smaller laptop/tablet widths. */
@media(min-width:681px) and (max-width:1050px){
 nav{gap:22px;font-size:11px}
 .nav-contact span{padding-left:12px}
 .header{gap:24px}
 .hero-artists .hero-top{font-size:8px;letter-spacing:1px}
}
@media(max-width:760px){
 html{scroll-padding-top:22px}
 .header{height:80px;gap:20px}
 .menu-button{min-height:44px;gap:12px}
 .menu-icon{width:22px;height:22px}
 nav{top:80px}
 nav.open{border-top:1px solid var(--line);box-shadow:0 14px 20px #0002}
 nav a{min-height:44px}
 .hero-artists{padding-bottom:32px}
 .hero-artists .hero-top{padding:22px 6% 0;flex-wrap:wrap;gap:8px;font-size:8px;letter-spacing:1px;line-height:1.5}
 .hero-artists .hero-edition{display:inline;color:#bdbab4;font-size:7px;letter-spacing:1px}
 .hero-artists .hero-main{padding:26px 6% 28px}
 .hero-artists h1{font-size:clamp(39px,12.6vw,76px);letter-spacing:-.7px;line-height:.97}
 .hero-artists .hero-bottom{margin-top:23px;align-items:center;gap:18px}
 .hero-artists .hero-bottom p{font-size:12px;line-height:1.7}
 .hero-artists .round-link{width:44px;height:44px;min-width:44px}
 .artist-carousel{width:84%;max-width:400px;margin:4px auto 0}
 .poster-stack{height:auto;aspect-ratio:3/4.1}
 .paper-sheet{padding:7% 7% 9%}
 .poster-kicker{font-size:7px;letter-spacing:.7px;gap:8px;padding-bottom:8px;margin-bottom:10px}
 .poster-artist-name{font-size:clamp(30px,9.5vw,44px)}
 .poster-service{font-size:10px;line-height:1.4}
 .poster-artist-details{gap:7px}
 .artist-poster[data-paper="myspacemark"] .poster-artist-name{font-size:clamp(25px,7.7vw,36px)}
 .poster-stamp{display:inline-flex;align-items:center;gap:3px;font-size:7px;padding:4px;letter-spacing:.5px}
 .artist-poster[data-paper="nba-herm"] .paper-sheet{padding-top:calc(12% + 20px)}
 .poster-instruction{margin-top:16px;font-size:8px;letter-spacing:.8px}
 .artist-carousel-controls{display:grid;grid-template-columns:1fr auto;gap:8px 14px;margin-top:10px}
 .artist-progress{display:contents}
 #artist-position{grid-column:1;grid-row:1;padding-top:0;align-self:center;font-size:11px}
 .artist-buttons{grid-column:2;grid-row:1;margin-left:0;gap:8px}
 .artist-buttons button{width:44px;height:44px;min-width:44px;min-height:44px}
 .artist-dots{position:relative;grid-column:1/-1;grid-row:2;display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;max-width:100%;scrollbar-width:none;overscroll-behavior-x:contain}
 .artist-dots::-webkit-scrollbar{display:none}
 .artist-dots button{flex:0 0 32px;width:32px;min-width:32px;height:44px;min-height:44px}
 .artist-dots button::after{top:19px;left:13px}
 .ribbon{justify-content:flex-start;gap:18px;overflow-x:auto;white-space:nowrap;padding:18px 6%;scrollbar-width:none}
 .ribbon>span{flex-shrink:0;font-size:9px}
 .ribbon span:nth-last-child(-n+2){display:inline-block}
 .ribbon span:nth-child(even){font-size:20px}
 .official-partners{padding:27px 6%}
 .official-partner-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .official-partner-list li+li{border-top:0;border-left:1px solid var(--line);padding-top:0;padding-left:12px}
 .official-partner-list a{min-height:98px;gap:10px;justify-content:space-between;position:relative;padding-bottom:22px}
 .partner-name{display:block;font-size:clamp(21px,5.8vw,32px);line-height:1.05}
 .partner-platform{display:block;font-size:.65em;margin-top:5px}
 .partner-arrow{position:absolute;bottom:0;left:0;font-size:14px}
 .partner-role{font-size:8px;line-height:1.5;letter-spacing:.5px}
 .companies-heading h2{font-size:9px;letter-spacing:1px}
 .companies-aside{gap:10px}
 .companies-aside>span{font-size:9px}
 .logos-pause{min-height:44px;min-width:66px;justify-content:center}
 .section-pad{padding:60px 6%}
 .section-heading{gap:20px}
 .section-heading p{display:block;font-size:10px;line-height:1.6;max-width:130px}
 .service summary{display:grid;grid-template-columns:23px minmax(0,1fr) 26px;gap:8px 12px;padding:23px 0}
 .service-number{grid-column:1;grid-row:1;width:auto}
 .service-title{grid-column:2;grid-row:1;font-size:clamp(21px,5.9vw,28px);letter-spacing:-.5px}
 .service-tag{display:block;grid-column:2;grid-row:2;margin-left:0;font-size:8px;line-height:1.5;letter-spacing:.8px}
 .toggle{grid-column:3;grid-row:1/3;margin-left:0;width:24px;height:24px;font-size:22px}
 .service-content{padding-left:35px;padding-right:0;gap:18px}
 .service-content .text-link{min-height:44px;gap:14px}
 .about-identity{margin-bottom:22px}
 .vigor-official-logo{width:112px}
 .about-copy{gap:26px}
 .about-copy h2 br:nth-child(2){display:initial}
 .about-body{font-size:14px;line-height:1.8}
 .approach-heading{gap:15px;align-items:center}
 .approach-heading h2{font-size:clamp(31px,8.3vw,54px);line-height:1.08}
 .large-star{display:inline-flex;flex-shrink:0;font-size:50px;margin:0}
 .steps{gap:28px}
 .steps article{padding:22px 0 0}
 .step-num{position:static;display:block}
 .steps h3{margin:18px 0 12px}
 .contact .button{min-height:52px}
 .footer-bottom{gap:18px 15px;align-items:center;font-size:9px}
 .footer-bottom>span:nth-child(2){display:block;order:3;flex-basis:100%;font-size:8px;letter-spacing:1.2px}
 .footer-bottom a{margin-left:auto;min-height:44px;display:inline-flex;align-items:center;gap:8px}
 .dialog-inner{padding:32px 22px}
 input,textarea,select{font-size:16px;min-height:44px}
 .close-dialog{width:44px;height:44px}
}
/* On wide phones, retain the desktop's side-by-side headline and poster. */
@media(min-width:600px) and (max-width:760px){
 .hero-artists{display:grid;grid-template-columns:1.1fr 1fr;padding:0 6% 36px;gap:0 24px;align-items:center}
 .hero-artists .hero-top{grid-column:1/-1;order:0;padding:25px 0 24px;justify-content:space-between}
 .hero-artists .hero-main{grid-column:1;grid-row:2;order:0;padding:0;width:auto}
 .hero-artists h1{font-size:6.3vw}
 .hero-artists .hero-bottom{display:block;margin-top:24px}
 .hero-artists .hero-bottom p{font-size:11px}
 .hero-artists .round-link{margin-top:18px}
 .artist-carousel{grid-column:2;grid-row:2;order:0;width:100%;margin:0;max-width:none}
 .poster-stack{aspect-ratio:3/4.6}
 .poster-artist-name{font-size:30px}
 .poster-stamp{display:none}
 .poster-kicker{font-size:6px;letter-spacing:.2px}
 .poster-service{font-size:9px}
 .poster-instruction{font-size:7px}
 .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 .steps h3{font-size:21px}
 .steps p{font-size:12px}
}
@media(max-width:359px){
 .hero-artists .hero-bottom p{font-size:11px}
 .poster-stamp{display:none}
 .poster-service{font-size:9px}
 .poster-kicker{font-size:6px;letter-spacing:.4px}
 .official-partner-list{gap:9px}
 .official-partner-list li+li{padding-left:9px}
 .companies-heading{align-items:flex-start}
 .companies-aside{flex-direction:column;gap:4px;align-items:flex-end}
 .large-star{font-size:36px}
 .approach-heading{display:block;position:relative;padding-bottom:46px}
 .approach-heading .large-star{position:absolute;right:0;bottom:0}
 .approach-heading h2{font-size:30px}
 .section-heading p{font-size:9px;max-width:110px}
}
