/* October 14: readable labels, stable fan interaction, personal photo story. */
.section-heading .eyebrow,.why-lead>.eyebrow{font-size:20px;letter-spacing:1.3px;line-height:1.45;font-weight:800}
.benefit-card .small-label,.client .small-label,.step-copy .small-label{font-size:14px;letter-spacing:.7px}
.fan-slot{position:relative;flex:0 0 calc((100% + 120px)/6);min-width:0;aspect-ratio:3/4;margin-left:-24px;z-index:1}
.fan-slot:first-child{margin-left:0}
.fan-slot:nth-child(2){z-index:2}.fan-slot:nth-child(3){z-index:3}.fan-slot:nth-child(4){z-index:4}.fan-slot:nth-child(5){z-index:5}.fan-slot:nth-child(6){z-index:6}
.fan-slot>.fan-card{display:block;width:100%;height:100%;max-width:none;margin:0;flex:none}
.fan-slot:has([aria-expanded=true]){z-index:20}.fan-slot:focus-within{z-index:25}
.service-fan:has(.fan-card:hover) .fan-card:not(:hover):not([aria-expanded=true]){transform:translateY(var(--offset)) rotate(var(--angle))}
@media(hover:hover) and (pointer:fine){
 .fan-slot:hover{z-index:30}
 .fan-slot:hover>.fan-card{transform:translateY(-22px) rotate(0) scale(1.02);box-shadow:0 22px 38px #003d343d}
}
#detail-cgi{--panel-ink:#292609;--panel-bg:linear-gradient(115deg,#ffe889,#fdd20e);--panel-box:#fff8c080}
#detail-ugc{--panel-ink:#fff5e2;--panel-bg:linear-gradient(115deg,#b72e1d,#972318);--panel-box:#ffffff15}
#detail-commercial{--panel-ink:#fff5df;--panel-bg:linear-gradient(115deg,#075e54,#003d39);--panel-box:#ffffff12}
#detail-explainer{--panel-ink:#321340;--panel-bg:linear-gradient(115deg,#ecddff,#cdb3f0);--panel-box:#ffffff50}
#detail-posters{--panel-ink:#20320b;--panel-bg:linear-gradient(115deg,#e8fcab,#ccec55);--panel-box:#ffffff50}
#detail-voice{--panel-ink:#fff8e9;--panel-bg:linear-gradient(115deg,#2458d6,#173895);--panel-box:#ffffff14}
.service-detail{background:var(--panel-bg);color:var(--panel-ink);border:1px solid #00464324;box-shadow:0 12px 25px #003d3410}
.service-detail .detail-heading .eyebrow,.service-detail .detail-content>p,.service-detail .detail-close,.service-detail .offering-link,.service-detail .service-secondary{color:var(--panel-ink)}
.service-detail .offering-for{background:var(--panel-box);color:var(--panel-ink)!important}
.service-detail .offering-link,.service-detail .detail-close{border-color:currentColor}
.service-detail .detail-heading .eyebrow{font-size:14px;letter-spacing:.7px}
.detail-close{width:42px;height:42px;top:-12px}
.why-intro{max-width:540px}.why-lead h2{font-size:clamp(44px,4.6vw,68px)}
.campaign-figure figcaption{font-size:14px;flex-wrap:wrap}.campaign-note{bottom:-30px}
.about-story .section-heading{margin-bottom:65px}
.story-grid{display:grid;grid-template-columns:1fr 1.36fr;gap:60px 65px;align-items:start}
.story-moment{min-width:0;position:relative}
.story-moment figure{margin:0 0 27px;border-radius:15px;overflow:hidden;box-shadow:0 12px 28px #00464312;background:#e9eee5}
.story-moment img{width:100%;height:auto;display:block}
.story-copy{padding:0 8px 0 25px;border-left:3px solid var(--green)}
.story-copy .small-label{color:var(--green);font-size:15px;letter-spacing:1px;margin-bottom:14px}
.story-copy h3{font-size:clamp(27px,2.5vw,36px);line-height:1.2;letter-spacing:-1px;margin-bottom:18px}
.story-copy p{font-size:18px;line-height:1.85;color:var(--muted);max-width:580px;margin-bottom:20px}
.story-create{padding-top:110px}.story-together{padding-top:110px}
.story-hello .story-copy{border-color:#bc3d23}.story-script .story-copy{border-color:#b294da}.story-together .story-copy{border-color:#d2a900}
.contact-star{display:block;animation:creativeTurn 24s linear infinite;transform-origin:center;line-height:1}
.portrait-label .asterisk{display:inline-block;animation:creativeTurn 30s linear infinite}
@keyframes creativeTurn{to{transform:rotate(360deg)}}
.creative-cursor{display:none;position:fixed;pointer-events:none;z-index:2147483647;width:29px;height:36px;margin-left:-3px;margin-top:-2px;filter:drop-shadow(0 2px 2px #002b2940)}
.creative-cursor svg{display:block;width:100%;height:100%;transform-origin:3px 2px;transition:transform .16s ease}
.pen-cursor .creative-cursor{display:block}.pen-cursor,.pen-cursor a,.pen-cursor button,.pen-cursor summary{cursor:none!important}
.creative-cursor.over-link svg{transform:rotate(-8deg) scale(1.1)}.creative-cursor.pressed svg{transform:scale(.86)}
.cursor-dot,.cursor-ring{display:none!important}
@media(min-width:1800px){.fan-slot{max-width:270px}}
@media(max-width:1050px){
 .fan-slot{flex:0 0 245px;width:245px;margin:0;scroll-snap-align:center}
 .fan-slot>.fan-card,.service-fan:has(.fan-card:hover) .fan-card:not(:hover):not([aria-expanded=true]){transform:none}
 .fan-slot:hover>.fan-card,.fan-slot>.fan-card[aria-expanded=true]{transform:translateY(-8px)}
 .story-grid{gap:45px 35px}.story-create,.story-together{padding-top:60px}
}
@media(max-width:750px){
 .section-heading .eyebrow,.why-lead>.eyebrow{font-size:18px;letter-spacing:1px}
 .fan-slot{flex-basis:250px;width:250px}.story-grid{grid-template-columns:1fr;gap:45px}.story-create,.story-together{padding-top:0}
 .story-hello figure,.story-script figure{max-width:440px;margin-left:auto;margin-right:auto}
 .story-copy{padding-left:20px}.story-copy h3{font-size:29px}.story-copy p{font-size:18px}.about-story .section-heading{margin-bottom:35px}
 .campaign-figure figcaption{font-size:13px}.campaign-note{bottom:-35px}.contact-star{display:block;font-size:55px;right:0;top:-4px}
 .contact-top h2{padding-top:20px}
}
@media(max-width:480px){.fan-slot{width:260px;flex-basis:260px}.fan-heading{font-size:29px!important}.detail-heading{padding-right:38px}}
@media(prefers-reduced-motion:reduce){.contact-star,.portrait-label .asterisk{animation:none}.creative-cursor svg{transition:none;transform:none!important}.fan-slot>.fan-card{transform:none!important}}

/* Mobile polish: artwork is never squeezed into legacy side-by-side rows. */
.brand img{width:46px;height:46px;border-radius:9px}
.watch-button{background:var(--yellow);color:var(--green);border-color:var(--yellow);font-weight:800}
.watch-button:hover{background:#efc500;color:var(--green);border-color:#efc500}
.portrait-frame{position:relative;isolation:isolate;overflow:hidden}
.portrait-frame .hero-outline{z-index:1;top:12%;left:2%;width:96%;font-size:clamp(68px,6.9vw,105px);letter-spacing:-5px;transform:rotate(-7deg);text-align:center;white-space:nowrap;pointer-events:none}
.portrait-frame img{position:relative;z-index:2;object-fit:contain;object-position:center bottom}
.portrait-label{z-index:3;bottom:18px;left:-6px;transform:rotate(7deg);padding:17px 24px 15px 29px;transform-origin:16px 14px}
.portrait-label::before{content:"";position:absolute;left:12px;top:9px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fb8466 0 18%,#c23c21 35% 75%,#832310 90%);box-shadow:1px 3px 3px #003d3445}
.portrait-label::after{content:"";position:absolute;left:18px;top:20px;height:9px;width:2px;background:#536459;transform:rotate(-20deg);z-index:-1}
.portrait-caption{bottom:-25px}
.mobile-fan-toggle{display:none}
@media(max-width:750px){
 .category-grid{grid-template-columns:1fr;gap:20px}
 .category-card,.category-card:first-child{display:block;padding:0;gap:0;position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden}
 .category-image{width:100%;height:auto;aspect-ratio:16/9;border-radius:0;overflow:hidden}
 .category-image img{width:100%;height:100%;object-fit:contain;object-position:center;background:#edf1e8}
 .category-info,.category-count,.category-open{display:none}
 .portrait-area{padding-top:34px;padding-bottom:72px}
 .portrait-frame{height:390px}
 .portrait-frame .hero-outline{font-size:clamp(49px,14vw,78px);letter-spacing:-3px;top:11%;left:0;width:100%}
 .hero-brush{inset:40px 10px 70px}
 .hero-stamp{top:15px;right:-3px;width:64px;height:64px;font-size:9px}
 .portrait-label{bottom:28px;left:10px;padding:13px 15px 10px 23px;gap:10px;font-size:16px;transform:rotate(7deg)}
 .portrait-label em{font-size:22px}.portrait-label .asterisk{font-size:30px}.portrait-label::before{width:9px;height:9px;left:9px;top:6px}.portrait-label::after{left:14px;top:13px;height:7px}
 .portrait-caption{bottom:0;right:12px;font-size:11px}.portrait-side{right:-5px;font-size:9px;top:145px}
 .fan-stage.loop-ready{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none}
 .fan-stage.loop-ready .fan-slot{scroll-snap-align:none}
 .mobile-fan-toggle{display:block;background:transparent;color:var(--green);border:1px solid #00464350;border-radius:24px;padding:9px 17px;margin:0 auto 25px;font-size:14px;font-weight:700}
 .featured-strip{grid-template-columns:1fr;gap:16px}.featured-strip .watch-button{justify-self:start;margin-left:0}
}
@media(max-width:480px){.portrait-frame{height:330px}.portrait-area{padding-left:20px;padding-right:20px}.brand img{width:38px;height:38px}}
