/* sections v2
   Loaded in numeric order: later files refine earlier ones. */
@layer site {
/* hero v2 */
.hero2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center}
.prev{position:relative;display:block;width:100%;transform:rotate(2.5deg);animation:fadeUp 1s var(--ease-out) calc(var(--intro-delay) + .75s) both,floaty 7s ease-in-out calc(var(--intro-delay) + 1.8s) infinite;transition:transform .6s var(--ease-out)}
.prev:hover{transform:rotate(0deg) scale(1.02)}
.prev-name{display:block;font:500 var(--fs-xs) var(--font-body);color:var(--color-text-muted);margin-bottom:10px}
.prev-frame{position:relative;display:flex;flex-direction:column;gap:14px;aspect-ratio:4/3;padding:22px;border-radius:var(--radius-sm);background:var(--color-neutral-18);outline:1.5px solid var(--color-fg);outline-offset:0;box-shadow:0 40px 80px var(--color-shade-a50)}
.prev-dim{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-fg);color:var(--color-bg);font:600 var(--fs-xs) var(--font-mono)}

/* capabilities v2 — grouped */
.capgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.capg{display:flex;flex-direction:column;gap:16px}
.capg .capr{padding:18px 0}
.capg .capr b{font-size:clamp(20px,1.8vw,24px)}

/* AI widget */
.ai-grid{align-items:center}
.ai-row{grid-template-columns:40px minmax(0,1fr) !important;padding:20px 0 !important}
.ai-row b{display:block;font-size:var(--fs-xl);font-weight:600;letter-spacing:-0.03em;margin-bottom:2px}
.ai-row span{font-size:var(--fs-base);color:var(--color-text-muted)}
.aiw{border-radius:var(--radius-xl);background:var(--color-neutral-20);border:1px solid var(--color-fg-a10);overflow:hidden;box-shadow:0 40px 90px var(--color-shade-a45)}
.aiw-top{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--color-fg-a08);font-size:var(--fs-sm)}
.aiw-spark{width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-fg);color:var(--color-bg);display:inline-flex;align-items:center;justify-content:center;flex:none}
.aiw-spark.sm{width:22px;height:22px;border-radius:var(--radius-md)}
.aiw[data-ph="1"] .think .aiw-spark{animation:rot 1.4s linear infinite}
.aiw-body{padding:22px;display:flex;flex-direction:column;gap:14px;min-height:500px}
.aim{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-base);line-height:1.45;transition:opacity .4s ease,transform .5s var(--ease-out)}
.aiw-who{flex:none;padding:3px 8px;border-radius:var(--radius-md);background:var(--color-fg-a08);font:600 var(--fs-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle)}
.aim.user{padding:14px 16px;border-radius:16px 16px 16px 4px;background:var(--color-neutral-31)}
.caret{display:inline-block;width:2px;height:18px;background:var(--color-fg);margin-left:-6px;animation:blink 1s steps(1) infinite}
.aiw[data-ph="4"] .caret,.aiw[data-ph="3"] .caret,.aiw[data-ph="2"] .caret,.aiw[data-ph="1"] .caret{opacity:0;animation:none}
.shim{background:linear-gradient(90deg,var(--color-fg-a35) 0%,var(--color-fg) 50%,var(--color-fg-a35) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 1.4s linear infinite}
.aim.think,.aiopts,.aim.out,.aim.fb{opacity:0;transform:translateY(10px)}
.aim.fb{padding:12px 14px;border-radius:16px 16px 16px 4px;background:var(--color-neutral-31);border:1px solid var(--color-fg-a12)}
.aiw[data-ph="3"] .fb,.aiw[data-ph="4"] .fb{opacity:1;transform:none}
.aiw[data-ph="1"] .think,.aiw[data-ph="2"] .think,.aiw[data-ph="3"] .think,.aiw[data-ph="4"] .think{opacity:1;transform:none}
.aiw[data-ph="2"] .aiopts,.aiw[data-ph="3"] .aiopts,.aiw[data-ph="4"] .aiopts{opacity:1;transform:none}
.aiw[data-ph="4"] .out{opacity:1;transform:none}
.aiw[data-ph="2"] .shim,.aiw[data-ph="3"] .shim,.aiw[data-ph="4"] .shim{animation:none;color:var(--color-text-muted);background:none}
.aiopts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;transition:opacity .4s ease,transform .5s var(--ease-out)}
.aio{position:relative;aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--color-neutral-31);border:1.5px solid var(--color-fg-a08);padding:12px;display:flex;flex-direction:column;gap:8px;transition:transform .6s var(--ease-pop),border-color .3s ease,opacity .3s ease}
.aio i{display:block;width:100%;border-radius:5px;background:var(--color-fg-a14)}
.aio:nth-child(1){transform:rotate(-4deg)}
.aio:nth-child(3){transform:rotate(4deg)}
.aiw[data-ph="2"] .aio{animation:itIn .6s var(--ease-pop) both}
.aiw[data-ph="2"] .aio:nth-child(2){animation-delay:.12s}
.aiw[data-ph="2"] .aio:nth-child(3){animation-delay:.24s}
.aio .pick{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%) scale(0) rotate(-12deg);white-space:nowrap;padding:5px 10px;border-radius:var(--radius-pill);background:var(--acc);color:var(--color-bg);font:600 var(--fs-xs) var(--font-body);transition:transform .5s var(--ease-pop)}
.aio.won{border-color:var(--color-fg);transform:rotate(0) scale(1.06);z-index:2}
.aio.won .pick{transform:translateX(-50%) scale(1) rotate(-6deg)}
.aiopts.picked .aio:not(.won){opacity:.35}

/* faq v2 */
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:72px;align-items:start}
.faq-side{position:sticky;top:110px}

@media (max-width:1024px){.capgrid{grid-template-columns:minmax(0,1fr);gap:56px}}
@media (max-width:860px){
.hero2,.faq-grid{grid-template-columns:minmax(0,1fr);gap:40px}
.prev{display:none}
.faq-side{position:static}
}

/* capabilities — flip mosaic (after SEVRA) */
.capwrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.mosaic-clip{border-radius:var(--radius-xl);overflow:hidden;height:620px}
.mosaic{display:grid;width:calc(100% + 88px);height:100%;margin-left:-44px;grid-template-columns:.82fr 1.15fr 1.15fr .82fr;grid-template-rows:.6fr 1.2fr 1.2fr .6fr;gap:11px}
.mt{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-neutral-20);border:1px solid var(--color-fg-a05)}
.mt i{position:absolute;display:block;border-radius:var(--radius-md);background:var(--color-fg-a10)}
.more-t{display:flex;flex-direction:column;justify-content:space-between;padding:20px;background:var(--color-surface)}
.fl{position:relative;perspective:1400px}
.fl-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:slotFlip 9.6s cubic-bezier(.72,0,.24,1) infinite}
.fl-f,.fl-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);overflow:hidden;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.fl-f{background:var(--color-surface-2);border:1px solid var(--color-fg-a08)}
.fl-b{transform:rotateY(180deg)}
.fl-ic{color:var(--color-text-subtle)}
.fl-t{font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-0.03em;line-height:1.05}
.tk{height:clamp(30px,3vw,40px);overflow:hidden}
.tk-in{height:500%;animation:tick4 4.8s cubic-bezier(.7,0,.3,1) infinite}
.tk-row{height:20%;display:flex;align-items:center;font-family:var(--font-display);font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:-0.04em;white-space:nowrap}
@media (max-width:1024px){.capwrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
.mosaic-clip{height:auto}
.mosaic{width:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:200px}
.mosaic>.mt:not(.more-t){display:none}
}
@media (prefers-reduced-motion:reduce){.fl-in{animation:none !important;transform:rotateY(180deg)}.tk-in{animation:none !important}}

/* hero v3: centered + curved carousel */
.ln{text-align:center}
.curve{position:relative;height:340px;margin-top:64px;-webkit-mask-image:linear-gradient(90deg,transparent 0,var(--color-shade) 14%,var(--color-shade) 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,var(--color-shade) 14%,var(--color-shade) 86%,transparent 100%)}
.cc{position:absolute;left:50%;top:0;width:280px;margin-left:-140px;display:flex;flex-direction:column;gap:12px;text-align:left;will-change:transform;transform-origin:50% 120%}
.cc-art{display:block;height:200px;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--color-fg-a08);box-shadow:0 30px 60px var(--color-shade-a40);transition:transform .5s var(--ease-out)}
.cc:hover .cc-art{transform:translateY(-6px)}
.cc-meta{display:flex;flex-direction:column;gap:2px;padding-left:4px}
.cc-meta b{font-size:var(--fs-md);font-weight:600;letter-spacing:-0.03em}
.cc-meta span{font-size:var(--fs-sm);color:var(--color-text-faint)}
.say{position:absolute;right:-40px;top:-28px;display:flex;align-items:flex-start;gap:2px;pointer-events:none;animation:fadeIn .6s ease calc(var(--intro-delay) + 1.6s) both,bob 6s ease-in-out calc(var(--intro-delay) + 2.2s) infinite}
.say-b{margin-top:16px;display:inline-flex;align-items:center;gap:3px;padding:8px 14px;border-radius:4px 16px 16px 16px;background:var(--color-fg);color:var(--color-bg);font:600 var(--fs-sm) var(--font-body);letter-spacing:0;white-space:nowrap;box-shadow:0 12px 30px var(--color-shade-a35)}
.say-k{display:inline-block;width:2px;height:15px;background:var(--color-bg);animation:blink 1s steps(1) infinite}
.hpin{position:absolute;z-index:2;display:flex;align-items:flex-end;gap:8px;max-width:270px;pointer-events:none;animation:bubPop .7s var(--ease-pop) both}
.hp1{left:5%;top:150px;animation-delay:calc(var(--intro-delay) + 1.9s);transform-origin:bottom left}
.hp2{right:5%;top:300px;animation-delay:calc(var(--intro-delay) + 2.3s);transform-origin:bottom left}
.hpin-av{width:34px;height:34px;border-radius:50% 50% 50% 4px;overflow:hidden;flex:none;border:2px solid var(--color-fg);background:var(--color-surface-2)}
.hpin-av img{width:100%;height:100%;object-fit:cover;transform:scale(1.34);display:block}
.hpin-b{padding:10px 13px;border-radius:14px 14px 14px 4px;background:var(--color-glass);border:1px solid var(--color-fg-a10);font-size:var(--fs-sm);line-height:1.4;color:var(--color-fg-a80);text-align:left;backdrop-filter:blur(8px)}
.hpin-b b{display:block;font-size:var(--fs-xs);color:var(--color-fg);margin-bottom:2px}
@media (max-width:1180px){.hpin{display:none}}
@media (max-width:860px){.say{display:none}.curve{height:300px}.cc{width:230px;margin-left:-115px}.cc-art{height:165px}}

/* avatar group hover (transitions.dev recipe) */
.mv{--avatar-lift:-4px;--avatar-dur:320ms;--avatar-scale:1.05;--avatar-falloff:.45;--avatar-ease-in:cubic-bezier(0.22,1,0.36,1);--avatar-ease-out:cubic-bezier(0.34,3.85,0.64,1)}
.t-avatar{transform-origin:center;transform:translateY(var(--shift,0px)) scale(var(--scale-active,1));transition:transform var(--avatar-dur) var(--avatar-ease-in);will-change:transform}
.avs .t-avatar{margin-left:-8px}
.avs .t-avatar:first-child{margin-left:0}
.avs .t-avatar .av{margin-left:0}
@media (prefers-reduced-motion:reduce){.t-avatar{transition:none !important;transform:none !important}}

/* border beam on the AI prompt */
.aim.user{position:relative;overflow:hidden}
.aim.user::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:linear-gradient(90deg,transparent,var(--color-fg) 40%,var(--acc) 60%,transparent);background-size:45% 100%;background-repeat:no-repeat;animation:beam 1.8s linear infinite;opacity:0;transition:opacity .3s ease}
.aiw[data-ph="0"] .aim.user::after{opacity:1}

/* grid beam behind stats */
.gbeam{position:relative}
.gbeam canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gbeam>div{position:relative;padding:30px 28px 32px;border-left:1px solid var(--color-bg-a08)}
.gbeam>div:first-child{border-left:0}

/* work showroom ring */
.show{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}
.ring-stage{position:relative;width:100%;height:520px;perspective:1800px;perspective-origin:50% 30%}
.ring{position:absolute;left:50%;top:46%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-8deg)}
.rc{position:absolute;left:-150px;top:-200px;width:300px;height:400px;padding:0;display:block;backface-visibility:visible;will-change:transform,opacity;cursor:pointer}
.rc-art{display:block;width:100%;height:100%;border-radius:var(--radius-lg);padding:22px;border:1px solid var(--color-bg-a08);box-shadow:0 30px 60px var(--color-bg-a18)}
.rc.you .rc-art{border:2px dashed var(--color-bg-a35);background:var(--color-fg) !important}
.rc.front .rc-art{box-shadow:0 40px 80px var(--color-bg-a28)}
.show-info{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:24px;width:100%;max-width:820px}
.show-txt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;animation:fadeUp .5s var(--ease-out) both}
.show-nav{width:56px;height:56px;border-radius:var(--radius-round);border:1.5px solid var(--color-bg-a25) !important;display:flex !important;align-items:center;justify-content:center;transition:background .25s ease,color .25s ease}
.show-nav:hover{background:var(--color-bg) !important;color:var(--color-fg)}
.show-dots{display:flex;gap:8px;margin-top:22px}
.sdot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--color-bg-a20) !important;transition:width .4s var(--ease-out),background .3s ease}
.sdot.on{width:28px;background:var(--color-bg) !important}
@media (max-width:860px){.ring-stage{height:380px}.rc{left:-110px;top:-150px;width:220px;height:300px}.show-info{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}.show-nav{width:44px;height:44px}}

/* round 2 fixes */
.ring-stage{height:470px !important;perspective:1600px !important;perspective-origin:50% 40% !important;overflow:visible}
.ring{top:50% !important;transform:none}
.rc{transition:box-shadow .3s ease}
.mstars{display:inline-flex;gap:2px;color:var(--color-bg)}
.lab-acc,.aio .pick{background:color-mix(in srgb,var(--acc) 16%,var(--color-bg)) !important;color:var(--acc) !important;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent)}
.tlogo.has{border:0;background:var(--color-fg)}
.tlogo.has img{width:20px;height:20px;object-fit:contain;display:block}
@media (max-width:860px){.ring-stage{height:360px !important}}
}
