.audience-section{padding:90px var(--section-x);background:#eaf7ff}.audience-heading,.audience-tabs,.audience-panel{max-width:1240px;margin-inline:auto}.audience-heading h2{margin-top:18px;font-size:clamp(32px,4.5vw,62px);line-height:1.06}.audience-tabs{display:flex;gap:12px;margin-top:36px;margin-bottom:24px}.audience-tabs button{flex:1;display:flex;justify-content:space-between;gap:12px;padding:20px 24px;border:1px solid #c8e0ef;background:#ffffff80;border-radius:16px;font:inherit;font-weight:800;color:#42647d;cursor:pointer;transition:background .2s,color .2s}.audience-tabs button[aria-selected=true]{background:#083d66;color:white;border-color:#083d66}.audience-tabs button span{font-size:11px;opacity:.6}.audience-panel{display:grid;grid-template-columns:1.05fr 1fr;border-radius:30px;overflow:hidden;background:white;border:1px solid #d9e9f3;box-shadow:0 24px 60px #083d6610}.audience-panel>*{min-width:0}.audience-photo{position:relative;min-height:450px}.audience-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center top}.audience-photo>span{position:absolute;bottom:24px;left:24px;padding:11px 15px;background:#ffffffed;border-radius:30px;font-size:10px;font-weight:800;letter-spacing:.09em;color:#083d66}.audience-copy{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center}.audience-eyebrow{font-size:10px;letter-spacing:.12em;color:#1684c6;font-weight:800}.audience-copy h3{font-size:clamp(30px,3vw,44px);line-height:1.08;margin:20px 0}.audience-copy>p{line-height:1.75;color:#587084}.audience-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.audience-chips span{font-size:12px;padding:8px 12px;background:#eff7fc;border-radius:30px;color:#476b84}.details-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 22px;background:#1684c6;color:white;border:0;border-radius:14px;font:inherit;font-weight:800;cursor:pointer;transition:background .2s}.details-cta:hover{background:#08659d}.audience-copy .audience-footnote{font-size:11px;line-height:1.6;margin-top:16px}.process-story{padding:70px var(--section-x);display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(30px,5vw,80px);background:#083d66}.process-photo{position:relative;border-radius:24px;overflow:hidden;background:#052a46}.process-photo img,.process-photo video{width:100%;max-height:570px;aspect-ratio:5/4;object-fit:cover}.process-photo video[hidden]{display:none}.process-caption{position:absolute;bottom:20px;left:22px;border-radius:30px;padding:9px 14px;background:#ffffffdc;font-size:10px;font-weight:800;letter-spacing:.1em;color:#083d66}.process-copy h2{color:white;margin:20px 0;font-size:clamp(36px,4vw,56px)}.process-copy .section-kicker{color:#bddcee}.process-copy p{color:#bddcee;line-height:1.8;margin-bottom:28px}.process-copy .details-cta{background:#dff3ff;color:#083d66}.work-card[role=button]{cursor:pointer}.work-card[role=button]:focus-visible,.details-cta:focus-visible,.audience-tabs button:focus-visible{outline:3px solid #29a8ee;outline-offset:5px}.work-card .work-arrow{transition:transform .2s}.work-card:hover .work-arrow{transform:rotate(45deg)}.case-dialog{margin:auto;width:min(1050px,94vw);max-height:90dvh;padding:24px;background:#f5fbff;color:#083d66;border:0;border-radius:28px;overflow:auto}.case-dialog::backdrop{background:#05253dbd;backdrop-filter:blur(7px)}.case-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:11px;letter-spacing:.1em;font-weight:800}.case-toolbar button{width:40px;height:40px;border:0;border-radius:50%;background:#e1eef7;font-size:24px;color:#083d66;cursor:pointer}.case-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.case-layout>img{width:100%;max-height:65dvh;object-fit:contain;border-radius:18px}.case-copy h2{font-size:clamp(28px,3vw,40px);margin:18px 0}.case-copy>p,.case-note p{line-height:1.7;color:#587084}.case-note{border-top:1px solid #d8e8f2;margin:24px 0;padding-top:20px}.case-note>span{font-size:10px;font-weight:800;letter-spacing:.1em}.case-note p{margin-top:10px}.case-copy .details-cta{width:100%}
@media(max-width:800px){.audience-panel{grid-template-columns:1fr}.audience-photo{min-height:0;aspect-ratio:5/4}.audience-copy{padding:28px}.process-story{grid-template-columns:1fr}.case-layout{grid-template-columns:1fr}.case-layout>img{max-height:48dvh}.case-dialog{padding:20px}.audience-tabs button{padding:17px 14px}.audience-tabs{gap:8px}}
@media(max-width:480px){.audience-section{padding:60px 18px}.audience-tabs button{font-size:12px;padding:16px 10px;justify-content:center}.audience-tabs button span{display:none}.audience-heading h2{font-size:34px}.audience-panel{border-radius:22px}.audience-photo>span{left:16px;bottom:16px;font-size:9px}.process-story{padding:50px 18px}.case-dialog{border-radius:20px}.case-copy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-aos],.reveal-item{opacity:1!important;transform:none!important}}

.process-story [hidden]{display:none!important}

/* Product prices including print */
.product-price-label {
  position:absolute;z-index:8;top:20px;right:20px;
  display:flex;align-items:center;gap:12px;padding:13px 18px;
  max-width:calc(100% - 40px);box-sizing:border-box;
  border:2px solid rgba(255,255,255,.96);border-radius:22px;
  background:rgba(226,243,252,.9);color:#083d66;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 24px rgba(8,61,102,.08);pointer-events:none;
}
.product-price-label::before {
  content:"";flex:0 0 12px;width:12px;height:12px;border-radius:50%;
  background:#2daee6;box-shadow:0 0 0 7px rgba(45,174,230,.12);
}
.product-price-label strong{display:block;color:#083d66!important;-webkit-text-fill-color:#083d66;opacity:1;font-family:inherit;font-size:21px;line-height:1.15;font-weight:750;white-space:nowrap}
.product-price-label small{display:block;margin-top:4px;font-size:12px;line-height:1.3;font-weight:600;color:#627e91}
.work-card .product-price-label{top:72px}
.about-flow-visual .product-price-label{top:auto;bottom:24px;right:24px}
@media(max-width:640px){
 .product-price-label{top:14px;right:14px;padding:11px 15px;gap:11px;border-radius:18px;max-width:calc(100% - 28px)}
 .product-price-label strong{font-size:18px}
 .work-card .product-price-label{top:64px}
 .about-flow-visual .product-price-label{bottom:18px;right:18px}
}

/* Independent product motion; frame, tags and prices stay still. */
@keyframes incolor-product-sway{
 0%,100%{transform:translateY(0) rotate(-1.5deg)}
 50%{transform:translateY(-5px) rotate(1.5deg)}
}
@media(max-width:640px){
 .hero .hero-mobile-showcase{height:auto!important;aspect-ratio:4/3;background:transparent;border:0;overflow:visible;box-shadow:none;animation:none!important;transform:none!important}
 .hero .hero-mobile-showcase::before,.hero .hero-mobile-showcase::after{content:none!important}
 .mobile-product-stage{position:relative;width:100%;height:100%;aspect-ratio:4/3;border:1px solid white;border-radius:28px;background:radial-gradient(ellipse at 50% 40%,#f6fcff 0%,#dcf3ff 65%,#cceeff 100%);isolation:isolate}
 .mobile-product-stage::before{content:"";position:absolute;inset:16% 10% 27%;border:1px solid #a5def7;border-radius:50%;transform:rotate(-10deg);z-index:-1}
 .mobile-product-brand{position:absolute;top:28%;left:1%;width:98%;text-align:center;font-size:clamp(45px,15vw,80px);font-weight:900;letter-spacing:-.04em;color:#1684c61a;z-index:-1}
 .mobile-product-tags{position:absolute;top:5%;left:5%;right:5%;display:flex;justify-content:space-between;gap:8px}
 .mobile-product-tags span{padding:8px 12px;background:#ffffffd9;border-radius:30px;color:#083d66;font-size:10px;font-weight:800;letter-spacing:.04em}
 .mobile-product-item{position:absolute;transform-origin:50% 35%;z-index:1}
 .mobile-product-item svg{display:block;width:100%;height:100%;overflow:hidden}
 .mobile-product-hoodie{left:1%;top:24%;width:35%;height:53%}
 .mobile-product-shirt{left:31%;top:18%;width:42%;height:60%;z-index:2}
 .mobile-product-mug{right:1%;top:29%;width:28%;height:48%}
 .mobile-product-prices{position:absolute;left:5%;right:5%;bottom:5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:center;gap:8px;z-index:3}
 .mobile-product-prices .product-price-label{position:static;width:88%;max-width:100px;min-width:0;gap:5px;padding:6px 7px;border:1px solid #ffffffed;border-radius:13px;justify-content:center;background:#e6f5fcdf;box-shadow:0 3px 10px #083d6609;transform-origin:50% 25%}
 .mobile-product-prices .product-price-label::before{width:5px;height:5px;flex-basis:5px;box-shadow:none}
 .mobile-product-prices .product-price-label strong{font-size:clamp(13px,3.7vw,17px);line-height:1.15}
 .mobile-product-prices .product-price-label small{font-size:9px;margin-top:2px;line-height:1.15}
 .hero-product-name{display:block;font-size:9px;line-height:1.2;color:#42647d;margin-bottom:2px}
}
@media(max-width:640px) and (prefers-reduced-motion:no-preference){
 .mobile-product-hoodie{animation:incolor-product-sway 5.8s ease-in-out infinite}
 .mobile-product-shirt{animation:incolor-product-sway 6.7s ease-in-out -2.3s infinite}
 .mobile-product-mug{animation:incolor-product-sway 5.2s ease-in-out -1.4s infinite}
}

/* Subtle independent sway for the compact mobile price tags. */
@keyframes incolor-price-sway{
 0%,100%{transform:translateY(0) rotate(-.7deg)}
 50%{transform:translateY(-2px) rotate(.7deg)}
}
@media(max-width:640px) and (prefers-reduced-motion:no-preference){
 .mobile-product-prices .product-price-label:nth-child(1){animation:incolor-price-sway 6.4s ease-in-out -.8s infinite}
 .mobile-product-prices .product-price-label:nth-child(2){animation:incolor-price-sway 7.1s ease-in-out -3s infinite}
 .mobile-product-prices .product-price-label:nth-child(3){animation:incolor-price-sway 5.9s ease-in-out -1.8s infinite}
}

/* Gentle independent movement for desktop hero photographs. */
@keyframes incolor-desktop-photo-sway{
 0%,100%{translate:0 0;rotate:-.6deg}
 50%{translate:0 -5px;rotate:.6deg}
}
@media(min-width:641px) and (prefers-reduced-motion:no-preference){
 .hero-visual>img:nth-child(1){animation:incolor-desktop-photo-sway 7s ease-in-out infinite}
 .hero-visual>img:nth-child(2){animation:incolor-desktop-photo-sway 8s ease-in-out -2.6s infinite}
 .hero-visual>img:nth-child(3){animation:incolor-desktop-photo-sway 6.5s ease-in-out -1.7s infinite}
 .hero-visual>img:hover{animation:none;translate:0 0;rotate:0deg}
}
