.hero,.process{position:relative;isolation:isolate;overflow:hidden}
.hero::before,.process::before{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 30%,#fff5de20,transparent 43%),radial-gradient(ellipse at 78% 72%,#b63b1225,transparent 42%);animation:orange-drift 22s ease-in-out infinite alternate;will-change:transform}
.hero::after{content:'';position:absolute;width:520px;height:520px;border:1px solid #fff5de26;box-shadow:0 0 0 55px #fff5de08,0 0 0 110px #fff5de06;border-radius:50%;inset-inline-start:-320px;top:30%;z-index:-1;pointer-events:none;animation:orange-orbit 25s ease-in-out infinite alternate}
.process::before{animation-duration:29s;animation-direction:alternate-reverse}
.hero-art[role=button]{cursor:pointer;border-radius:45%;outline-offset:9px;touch-action:manipulation;perspective:800px}
.hero-art .art-disc{display:none;animation:none;box-shadow:none}
.hero-art[role=button]:focus-visible{outline:2px dashed var(--cream)}
.hero-art .hero-mascot{transition:transform .28s ease-out;transform-origin:50% 78%;will-change:transform;user-select:none;-webkit-user-drag:none}
.character-hint{position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:.04em;color:#3b2117;background:#fff5de80;padding:5px 11px;border-radius:20px;pointer-events:none}
.hero-art.is-reacting .character-hint{background:var(--cream)}
.hero-art.is-reacting::after{content:'✦';position:absolute;color:var(--cream);font-size:35px;top:30%;right:0;pointer-events:none;animation:character-spark .9s ease-out both}
.service,.idea-card,.audio-card,.brief-form,.process-step{position:relative;isolation:isolate;transition:box-shadow .25s,border-color .25s,outline-color .25s}
.service,.idea-card,.process-step{cursor:pointer}
.service:focus-visible,.idea-card:focus-visible,.process-step:focus-visible{outline:3px solid #b3471c;outline-offset:6px}
.card-mascot{position:absolute;inset-inline-end:14px;top:-68px;width:88px;height:88px;z-index:10;pointer-events:none;opacity:0;transform:translateY(22px) rotate(7deg) scale(.75);transform-origin:50% 90%;transition:opacity .22s,transform .4s cubic-bezier(.18,.9,.25,1.4);filter:drop-shadow(0 4px 2px #683b261c)}
.card-mascot img{width:100%;height:100%;object-fit:contain}
.service>.service-mascot{opacity:1;top:-67px;width:100px;height:100px;transform:rotate(-7deg);inset-inline-end:22px;animation:none}
.service:nth-child(2)>.service-mascot{inset-inline-end:auto;inset-inline-start:28px;transform:rotate(6deg);width:94px;height:94px;top:-63px}
.service:nth-child(3)>.service-mascot{inset-inline-end:12%;transform:rotate(8deg);top:-71px}
.service:nth-child(4)>.service-mascot{inset-inline-end:auto;inset-inline-start:10%;transform:rotate(-9deg);width:96px;height:96px}
.service:nth-child(5)>.service-mascot{inset-inline-end:32px;transform:rotate(4deg);width:92px;height:92px;top:-62px}
.service:nth-child(6)>.service-mascot{inset-inline-end:auto;inset-inline-start:20px;transform:rotate(-5deg);top:-69px}
.service-mascot img{transform-origin:50% 85%}
.has-mascot{outline:2px solid var(--orange);outline-offset:4px}
.has-mascot>.card-mascot{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)}
.card-mascot.peek-again{animation:card-peek .55s ease-out}
.idea-card>.card-mascot{inset-inline-end:20px}
.audio-card>.card-mascot{inset-inline-end:18px}
.brief-form>.card-mascot{inset-inline-end:12px}
.process-step.has-mascot{outline-color:var(--cream)}
.process-step>.card-mascot{width:75px;height:75px;top:-58px}
.services .section-heading,.ideas .section-heading{margin-bottom:82px}
.service-list{row-gap:82px}
.motion-paused::before,.motion-paused::after{animation-play-state:paused!important}
@keyframes orange-drift{from{transform:translate(-3%,-2%) rotate(-5deg) scale(1)}to{transform:translate(5%,4%) rotate(8deg) scale(1.12)}}
@keyframes orange-orbit{from{transform:translateY(-70px) scale(.85)}to{transform:translate(90px,130px) scale(1.2)}}
@keyframes character-spark{0%{opacity:0;transform:translate(-5px,15px) scale(.5) rotate(0)}35%{opacity:1}100%{opacity:0;transform:translate(10px,-25px) scale(1.2) rotate(90deg)}}
@keyframes card-peek{0%,100%{transform:rotate(-4deg) translateY(0)}40%{transform:rotate(4deg) translateY(-9px)}}
@keyframes blue-halo-breathe{0%,100%{transform:scale(.98) rotate(-9deg)}50%{transform:scale(1.035) rotate(4deg)}}
@media(max-width:600px){.character-hint{font-size:8px;bottom:-7px;padding:4px 9px}.hero-art{margin-bottom:25px}.card-mascot{width:76px;height:76px;top:-58px;inset-inline-end:12px}.service-list{row-gap:30px}.idea-grid{row-gap:43px}.process-grid{row-gap:40px}.process-step>.card-mascot{width:66px;height:66px;top:-50px}.hero::after{width:380px;height:380px;inset-inline-start:-300px}.voice-grid{gap:45px}}
@media(max-width:600px){.services .section-heading,.ideas .section-heading{margin-bottom:72px}.service-list,.idea-grid{row-gap:72px}.process-grid{row-gap:70px}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after,.process::before{animation:none!important;will-change:auto}.hero-art .hero-mascot{transition:none;will-change:auto}.hero-art.is-reacting::after{display:none}.card-mascot{transition:none;animation:none!important}.has-mascot>.card-mascot{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-art .art-disc{animation:none!important}}
