/* Touch-first idea orbit; no imagery or continuous animation required. */
.idea-lab{background:#25291f;color:var(--paper);display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center}
.idea-lab .idea-intro h2{font-size:clamp(37px,4.8vw,70px);line-height:1.07;letter-spacing:-.055em;margin:22px 0}
.idea-lab .idea-intro h2 em{color:#e99780}
.idea-lab .idea-intro p{font-size:14px;color:#c6cabc;line-height:1.7}
.idea-lab .idea-intro .text-link{margin-top:28px;font-size:12px;gap:20px}
.idea-lab .idea-demo{min-width:0;width:100%;max-width:540px;justify-self:center}
.idea-lab .idea-topline{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:#bdc5af}
.idea-lab .idea-orbit{display:block;position:relative;width:100%;aspect-ratio:1.2;border:0;background:none;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0;margin:8px 0;overflow:hidden}
.idea-lab .orbit-art{position:absolute;inset:0;pointer-events:none}
.idea-lab .orbit-ring{position:absolute;left:50%;top:50%;border:1px solid #b5c49b33;border-radius:50%;aspect-ratio:1;transform:translate(-50%,-50%)}
.idea-lab .ring-one{width:76%;border-style:dashed;border-color:#b5c49b44}
.idea-lab .ring-two{width:56%;border-color:#b5c49b55}
.idea-lab .ring-three{width:34%;border-color:#e9978077}
.idea-lab .ring-one::after{content:'';position:absolute;top:16%;right:12%;width:7px;height:7px;border-radius:50%;background:#e99780}
.idea-lab .ring-two::after{content:'';position:absolute;bottom:10%;left:16%;width:5px;height:5px;border-radius:50%;background:#bdc5af}
.idea-lab .orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;transition:transform .2s}
.idea-lab .orbit-center svg{width:34px;height:34px}
.idea-lab .orbit-center>span{font-size:10px;letter-spacing:.2px}
.idea-lab .idea-orbit:active .orbit-center{transform:translate(-50%,-50%) scale(.93)}
.idea-lab .orbit-word{position:absolute;transform:translate(-50%,-50%);max-width:32%;padding:8px 10px;background:#25291f;color:#c6cabc;border:1px solid #727e5d66;font-size:12px;line-height:1.35;text-align:center}
.idea-lab .orbit-word:nth-of-type(2){left:25%;top:17%}
.idea-lab .orbit-word:nth-of-type(3){left:75%;top:17%}
.idea-lab .orbit-word:nth-of-type(4){left:82%;top:50%}
.idea-lab .orbit-word:nth-of-type(5){left:75%;top:83%}
.idea-lab .orbit-word:nth-of-type(6){left:25%;top:83%}
.idea-lab .orbit-word:nth-of-type(7){left:18%;top:50%}
.idea-lab .orbit-word[hidden]{display:none}
.idea-lab .orbit-word.is-new{background:#e99780;color:#25291f;border-color:#e99780;z-index:2;animation:idea-arrive .35s ease-out}
.idea-lab .orbit-ripple{position:absolute;left:50%;top:50%;width:88px;height:88px;border:1px solid #e99780;border-radius:50%;transform:translate(-50%,-50%);opacity:0}
.idea-lab.pulse-a .orbit-ripple{animation:idea-ripple-a .65s ease-out}
.idea-lab.pulse-b .orbit-ripple{animation:idea-ripple-b .65s ease-out}
.idea-lab .idea-result{border-top:1px solid #727e5d66;padding-top:18px;min-height:126px}
.idea-lab .idea-tag{font-size:9px;letter-spacing:1.3px;color:#bdc5af}
.idea-lab .idea-result h3{font-size:clamp(23px,2.5vw,32px);line-height:1.18;letter-spacing:-.04em;margin:10px 0 9px;color:#f3b4a1}
.idea-lab .idea-result p{font-size:13px;line-height:1.6;color:#d5d9ce;max-width:480px}
.idea-lab .idea-note{font-size:9px;color:#a9b19c;margin-top:16px}
.idea-lab :focus-visible{outline:2px solid #f3b4a1;outline-offset:5px}
@keyframes idea-arrive{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes idea-ripple-a{from{opacity:.7;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@keyframes idea-ripple-b{from{opacity:.7;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@media(prefers-reduced-motion:reduce){.idea-lab .orbit-word.is-new,.idea-lab .orbit-ripple{animation:none}.idea-lab .orbit-center{transition:none}}
.how-together .work-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:24px 0 38px}
.how-together .work-heading h2{font-size:clamp(36px,4.7vw,68px);letter-spacing:-.055em;line-height:1.08}
.how-together .work-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:0;margin:0;border-top:1px solid var(--line)}
.how-together .work-steps li{padding-top:22px}
.how-together .work-number{display:block;font-family:Georgia,serif;font-size:62px;line-height:1;color:var(--red);margin-bottom:23px}
.how-together .work-steps h3{font-size:25px;line-height:1.2;letter-spacing:-.045em;margin-bottom:12px}
.how-together .work-steps p{font-size:14px;color:#66695e;line-height:1.65;max-width:310px}
.how-together .work-ending{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:34px}
.how-together .work-ending p{font-size:18px;letter-spacing:-.4px}
.how-together .work-ending .text-link{font-size:12px;flex-shrink:0}
@media(max-width:760px){
 .idea-lab{grid-template-columns:1fr;gap:28px}
 .idea-lab .idea-intro h2{font-size:40px;margin:16px 0}
 .idea-lab .idea-intro p{font-size:13px}
 .idea-lab .idea-intro .text-link{margin-top:14px}
 .idea-lab .idea-orbit{aspect-ratio:1.08;margin:10px 0}
 .idea-lab .orbit-center{width:76px;height:76px}
 .idea-lab .orbit-center svg{width:29px;height:29px}
 .idea-lab .orbit-center>span{font-size:9px}
 .idea-lab .orbit-word{font-size:11px;padding:7px 8px;max-width:32%}
 .idea-lab .idea-result{min-height:137px}
 .idea-lab .idea-result h3{font-size:25px}
 .how-together .work-heading{margin:20px 0 28px}
 .how-together .work-heading h2{font-size:38px}
 .how-together .work-steps{grid-template-columns:1fr;gap:0}
 .how-together .work-steps li{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}
 .how-together .work-number{font-size:42px;margin:0}
 .how-together .work-steps h3{font-size:23px;margin-bottom:8px}
 .how-together .work-steps p{font-size:13px;max-width:none}
 .how-together .work-ending{flex-direction:column;align-items:flex-start;border:0;margin:23px 0 0;padding:0;gap:12px}
 .how-together .work-ending p{font-size:17px;max-width:260px;line-height:1.5}
}
