/* Handcrafted wool characters. No canvas, 3D engine or continuous render loop. */
.wool-image{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none}
.wool-depth{position:relative;isolation:isolate}
.wool-depth:before{content:"";position:absolute;inset:24% 5% 4%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#dedccf88,transparent 70%);pointer-events:none}
.wool-depth>.wool-image{filter:drop-shadow(0 17px 12px #243f3617);transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-origin:50% 85%}
.wool-hero{background:linear-gradient(115deg,#faf9f6 12%,#f8f3e9 100%)}
.wool-hero .hero-inner{grid-template-columns:1fr 1.08fr;min-height:715px;padding-bottom:42px}
.wool-hero .hero-copy{z-index:3}
.wool-hero .hero-intro{max-width:415px}
.hero-art.wool-hero-art{display:flex;align-items:center;width:calc(100% + 160px);height:650px;margin-left:-94px;margin-top:30px;pointer-events:none;z-index:1}
.wool-hero-art:before{display:none}
.wool-hero-art picture{display:block;width:100%}
.wool-hero-image{filter:drop-shadow(0 20px 13px #48514713);transform-origin:65% 80%;animation:wool-settle 3.8s cubic-bezier(.18,.65,.25,1) both}
.service-preview.wool-service-preview{height:auto;min-height:360px;aspect-ratio:1.16;background:transparent;border-radius:0;overflow:visible;padding:0;perspective:1000px}
.wool-service-preview .wool-image{max-height:440px;object-fit:contain;transform:rotate(-2deg)}
.wool-intro-layout{display:grid;grid-template-columns:1fr 280px;align-items:center;gap:55px}
.wool-intro-copy{min-width:0}
.wool-intro-hero h1{font-size:clamp(43px,5.6vw,78px)}
.wool-intro-art{width:100%;max-width:280px;justify-self:end}
.wool-intro-art:before{inset:40% 0 0}
.wool-connection-art .wool-image{transform:rotate(2deg)}
.wool-connection-art:before{inset:18% 2% 2%}
.local-art.wool-local-art{overflow:visible;background:transparent;border-radius:0;min-height:460px;display:flex;flex-direction:column;justify-content:flex-end;gap:22px;padding:0 10px 15px}
.wool-local-art .wool-image{width:86%;max-width:390px;margin:-15px auto 0;transform:rotate(-2deg)}
.wool-towns{position:relative;z-index:2;display:flex;gap:7px;justify-content:center;flex-wrap:wrap;max-width:400px}
.wool-towns span{font-size:11px;line-height:1.5;padding:7px 12px;border-radius:30px;background:#ffffffb8;border:1px solid #d8ddd1;color:#4a5a54}
.wool-audience-card{isolation:isolate;min-height:420px}
.wool-audience-card h3{max-width:75%}
.wool-audience-card p{max-width:63%;padding-right:0}
.wool-card-art{position:absolute;z-index:1;right:9px;bottom:53px;width:205px;height:205px;display:flex;align-items:flex-end;pointer-events:none;filter:drop-shadow(0 13px 8px #314b3f17)}
.wool-card-art .wool-image{max-height:100%;transform:rotate(-5deg);transition:transform .4s ease;transform-origin:50% 85%}
.wool-audience-card.grow .wool-card-art{width:170px;right:22px;bottom:57px}
.wool-audience-card .text-link,.wool-audience-card .round-arrow{z-index:3}
.insight-art.wool-insight-art{overflow:visible;background:#edf0e8;isolation:isolate;padding:8px 20px 0}
.wool-insight-art .wool-image{width:92%;height:calc(100% + 28px);margin-top:-28px;filter:drop-shadow(0 12px 8px #3c4f4217);transition:transform .45s ease}
.wool-insight-art:after{content:"";position:absolute;bottom:13px;left:20%;width:60%;height:12px;border-radius:50%;background:#77816d17;filter:blur(7px);z-index:-1}
.wool-cta-panel{overflow:visible;isolation:isolate}
.wool-cta-panel:after{display:none}
.wool-peeker{position:absolute;z-index:3;width:235px;right:65px;top:-156px;pointer-events:none}
.wool-peeker .wool-image{filter:drop-shadow(0 10px 5px #153b321c);transform:rotate(3deg);transition:transform .5s ease;transform-origin:50% 85%}
.cta-wrap:has(.wool-cta-panel){padding-top:165px}
.wool-cta-panel>.wool-peeker+div{position:relative;z-index:2}
.wool-cta-panel .cta-actions{position:relative;z-index:4}
.footer-brand{position:relative}
.wool-footer-friends{width:130px;max-width:100%;margin:22px 0 0;pointer-events:none}
.wool-footer-friends .wool-image{filter:drop-shadow(0 8px 5px #1a383715)}
@keyframes wool-settle{from{transform:translate3d(24px,16px,0) scale(.97)}to{transform:translate3d(0,0,0) scale(1)}}
@media(hover:hover) and (pointer:fine){
 .wool-service-preview:hover>.wool-image{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg) translateY(-8px)}
 .wool-local-art:hover>.wool-image,.wool-connection-art:hover>.wool-image{transform:translateY(-7px) rotate(1deg)}
 .wool-audience-card:hover .wool-card-art .wool-image{transform:translateY(-8px) rotate(1deg)}
 .insight-card:hover .wool-image{transform:translateY(-6px) rotate(-2deg)}
 .wool-cta-panel:hover .wool-peeker .wool-image{transform:translateY(-6px) rotate(-2deg)}
}
@media(max-width:1100px){
 .wool-hero .hero-inner{min-height:670px;grid-template-columns:1fr 1fr}
 .hero-art.wool-hero-art{width:calc(100% + 120px);margin-left:-70px;height:580px}
 .wool-intro-layout{grid-template-columns:1fr 220px;gap:35px}
 .wool-intro-hero h1{font-size:57px}
 .wool-card-art{width:170px;right:5px;bottom:62px}
 .wool-audience-card.grow .wool-card-art{width:145px;right:14px}
 .wool-audience-card p{max-width:66%}
 .wool-peeker{width:215px;top:-143px;right:45px}
}
@media(min-width:761px) and (max-width:960px){
 .wool-hero .hero-inner{min-height:690px;grid-template-columns:1.08fr 1fr}
 .hero-art.wool-hero-art{height:540px;width:calc(100% + 140px);margin-left:-75px}
 .wool-hero .hero-intro{max-width:340px}
 .wool-intro-layout{grid-template-columns:1fr 170px;gap:28px}
 .wool-intro-hero h1{font-size:49px}
 .service-preview.wool-service-preview{min-height:300px}
 .wool-audience-card{min-height:445px}
 .wool-audience-card p{max-width:100%;padding-right:0;margin-bottom:120px}
 .wool-card-art{width:155px;height:140px;bottom:61px}
 .wool-audience-card.grow .wool-card-art{width:130px;height:150px;bottom:56px}
 .local-art.wool-local-art{min-height:360px}
 .wool-footer-friends{margin:0 0 0 auto;width:95px}
}
@media(max-width:760px){
 .wool-hero .hero-inner{display:flex;flex-direction:column;min-height:0;padding-top:35px;padding-bottom:20px;gap:0}
 .wool-hero .hero-copy{align-self:stretch;max-width:620px}
 .wool-hero .hero-intro{max-width:480px}
 .hero-art.wool-hero-art{width:calc(100% + 36px);height:auto;min-height:0;margin:10px -18px -8px;align-self:center}
 .wool-hero-image{width:100%;height:auto;max-height:480px;object-fit:contain}
 .wool-intro-layout{grid-template-columns:1fr;gap:25px}
 .wool-intro-hero h1{font-size:48px}
 .wool-intro-art{max-width:170px;justify-self:end;margin:-15px 0 -20px}
 .service-preview.wool-service-preview{width:100%;height:auto;min-height:0;aspect-ratio:1.35;max-width:510px;margin:5px auto 0}
 .wool-service-preview .wool-image{height:100%;max-height:330px}
 .wool-audience-card{min-height:455px}
 .wool-audience-card h3{max-width:100%}
 .wool-audience-card p{max-width:100%;padding-right:0;margin-bottom:155px}
 .wool-card-art{width:185px;height:165px;right:23px;bottom:56px}
 .wool-audience-card.grow .wool-card-art{width:145px;height:155px;right:28px;bottom:57px}
 .local-art.wool-local-art{min-height:350px;max-width:440px;padding:15px 0}
 .wool-local-art .wool-image{width:77%;max-width:300px}
 .wool-towns{gap:6px;max-width:350px}
 .wool-towns span{font-size:10px;padding:6px 10px}
 .wool-connection-art{max-width:520px}
 .wool-peeker{width:180px;top:-120px;right:22px}
 .cta-wrap:has(.wool-cta-panel){padding-top:135px}
 .wool-cta-panel{padding-top:58px}
 .wool-cta-panel h2{max-width:100%}
 .wool-footer-friends{width:110px;margin-top:20px}
 .wool-insight-art .wool-image{max-height:calc(100% + 24px);margin-top:-24px}
}
@media(max-width:380px){
 .wool-intro-hero h1{font-size:42px}
 .wool-hero .hero-inner{padding-top:28px}
 .wool-card-art{width:165px}
 .wool-audience-card p{margin-bottom:150px}
 .wool-peeker{width:160px;top:-106px}
}
@media(prefers-reduced-motion:reduce){
 .wool-image,.wool-depth,.wool-card-art,.wool-peeker{animation:none!important;transition:none!important;transform:none!important}
}
/* Poses have restrained, distinct interactions; nothing runs continuously. */
.wool-card-art .wool-pose-launch{transform:rotate(-7deg)}
.wool-card-art .wool-pose-growth{transform:rotate(2deg)}
@media(hover:hover) and (pointer:fine){
 .wool-audience-card:hover .wool-pose-launch{transform:translateY(-10px) rotate(-1deg)}
 .wool-audience-card:hover .wool-pose-growth{transform:translateY(-3px) scale(1.035)}
 .wool-connection-art:hover>.wool-pose-connect{transform:translateY(-5px) rotate(-2deg)}
 .wool-service-preview:hover>.wool-pose-connect{transform:perspective(1000px) rotateY(4deg) translateY(-5px)}
 .wool-service-preview:hover>.wool-pose-campaign{transform:rotate(3deg) translateY(-5px)}
 .wool-service-preview:hover>.wool-pose-talk{transform:translateY(-4px) scale(1.02)}
 .wool-intro-art:hover>.wool-pose-plan{transform:rotate(2deg) translateY(-4px)}
 .wool-intro-art:hover>.wool-pose-talk{transform:translateY(-3px) scale(1.025)}
 .wool-intro-art:hover>.wool-pose-read{transform:rotate(-3deg) translateX(3px)}
}
/* Fit the descriptive homepage heading while keeping the existing artwork. */
.homepage-seo-hero h1{font-size:clamp(54px,5.65vw,80px);letter-spacing:-.06em}
@media(min-width:761px) and (max-width:960px){
 .homepage-seo-hero h1{font-size:clamp(44px,5.65vw,54px)}
}
@media(max-width:760px){
 .homepage-seo-hero h1{font-size:clamp(40px,10.8vw,60px)}
}
@media(max-width:380px){
 .homepage-seo-hero h1{font-size:38px}
}
