.btn{appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);min-height:var(--touch-target-min);padding:var(--btn-pad-y) var(--btn-pad-x);font-family:var(--btn-font);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1;white-space:nowrap;border-radius:var(--btn-radius);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--btn-transition)}.btn:focus-visible{outline:2px solid var(--btn-focus-ring);outline-offset:var(--focus-ring-offset)}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-border)}@media(hover:hover){.btn--primary:hover{background:var(--btn-primary-bg-hover);color:var(--btn-primary-fg-hover);border-color:var(--btn-primary-border);transform:translateY(-1px)}}.btn--primary:focus-visible{background:var(--btn-primary-bg-hover);color:var(--btn-primary-fg-hover);border-color:var(--btn-primary-border);transform:translateY(-1px)}.btn--primary:active{background:var(--brand-lime-dim);color:var(--brand-ink);border-color:var(--btn-primary-border);transform:none}.btn--secondary{background:transparent;color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}@media(hover:hover){.btn--secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover)}}.btn--secondary:focus-visible{background:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover)}.btn--secondary:active{background:var(--color-border);border-color:var(--btn-secondary-border-hover)}.btn--icon{width:var(--touch-target-min);height:var(--touch-target-min);padding:0;border-radius:var(--btn-radius);border-color:var(--btn-icon-border);background:transparent;color:var(--btn-icon-fg)}@media(max-width:768px){.feat-cta-corner .btn,.dsc-cta,.ap2-cta{width:100%;justify-content:center}}@media(hover:hover){.btn--icon:hover{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-border)}}.btn--icon:focus-visible{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-border)}.btn--icon:active{background:var(--brand-lime-dim);color:var(--btn-primary-fg);border-color:var(--btn-primary-border)}.btn i,.btn svg{width:var(--btn-glyph);height:var(--btn-glyph);flex-shrink:0}.btn--sm{min-height:var(--btn-sm);padding:var(--space-1) var(--space-3);font-size:var(--size-xs);gap:var(--space-1)}.btn--md{min-height:var(--btn-md);padding:var(--space-2) var(--space-4);font-size:var(--size-sm)}.btn--lg{min-height:var(--btn-lg);padding:var(--space-3) var(--space-5);font-size:var(--size-base)}.btn--sm i,.btn--sm svg{width:var(--btn-glyph-sm);height:var(--btn-glyph-sm)}.btn--lg i,.btn--lg svg{width:var(--btn-glyph-lg);height:var(--btn-glyph-lg)}.btn--icon.btn--sm{width:var(--btn-sm);height:var(--btn-sm);padding:0}.btn--icon.btn--md{width:var(--btn-md);height:var(--btn-md);padding:0}.btn--icon.btn--lg{width:var(--btn-lg);height:var(--btn-lg);padding:0}.btn:disabled,.btn[disabled],.btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn--primary:hover,.btn--primary:focus-visible{transform:none}}.card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);color:var(--card-fg)}.card--dark{background:var(--card-dark-bg);color:var(--card-dark-fg);border-color:var(--card-dark-border)}a.card{color:var(--card-fg);text-decoration:none}.card--compact{padding:var(--card-pad-compact)}.card--spacious{padding:var(--card-pad-spacious)}.card--interactive{cursor:pointer;transition:border-color var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default)}.card--interactive:hover,.card--interactive:focus-within{border-color:var(--color-border-strong)}.card--interactive:focus-visible{outline:var(--border-focus);outline-offset:3px}.card--interactive:active{border-color:var(--color-border-strong);background:var(--color-surface-sunken)}@media(hover:hover)and (pointer:fine){.card--interactive:hover,.card--interactive:focus-within{transform:translateY(-2px)}}.card--empty,.card--error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:132px;text-align:center}.card--empty i[data-lucide],.card--error i[data-lucide]{width:24px;height:24px;color:var(--color-text-tertiary)}.card-state-msg{margin:0;font-size:var(--size-sm);color:var(--color-text-secondary)}.card-state-hint{margin:0;font-size:var(--text-caption);color:var(--color-text-tertiary);line-height:var(--line-body)}.card--loading{display:flex;flex-direction:column;gap:var(--space-3)}.card-skel{position:relative;overflow:hidden;background:var(--color-surface-sunken);border-radius:var(--radius-sm)}.card-skel--media{height:92px}.card-skel--title{height:18px;width:55%}.card-skel--line{height:12px}.card-skel--line.is-short{width:78%}.card-skel:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgb(var(--brand-ink-rgb) / .06),transparent);animation:card-skel-sweep 1.4s var(--ease-default) infinite}@keyframes card-skel-sweep{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.card-skel:after{display:none}}.chip{display:inline-flex;align-items:center;gap:var(--chip-gap);padding:var(--chip-pad-y) var(--chip-pad-x);font-family:var(--chip-font);font-feature-settings:var(--font-feature-mono);font-size:var(--chip-font-size);line-height:var(--chip-line);font-weight:var(--chip-font-weight);color:var(--chip-fg);background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:var(--chip-radius)}.chip i[data-lucide],.chip svg[data-lucide],.chip svg.lucide{width:var(--chip-icon-size);height:var(--chip-icon-size);flex:0 0 var(--chip-icon-size);display:block;color:var(--chip-fg);stroke-width:2}.chip .chip-icon{width:var(--chip-icon-size);height:var(--chip-icon-size);flex:0 0 var(--chip-icon-size);display:inline-flex;align-items:center;justify-content:center;line-height:0}.chip .chip-icon>img,.chip .chip-icon>svg{width:var(--chip-icon-size);height:var(--chip-icon-size);display:block;object-fit:contain}.chip:hover{border-color:var(--chip-border-hover)}.badge{display:inline-flex;align-items:center;gap:var(--badge-gap);padding:var(--badge-pad-y) var(--badge-pad-x);font-family:var(--badge-font);font-feature-settings:var(--font-feature-mono);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);color:var(--badge-fg);background:transparent;border:1px solid var(--badge-border);border-radius:var(--badge-radius);white-space:nowrap}.badge i[data-lucide],.badge svg[data-lucide],.badge svg.lucide{width:var(--badge-icon-size);height:var(--badge-icon-size);flex:0 0 var(--badge-icon-size);display:block;color:var(--badge-fg);stroke-width:2}.badge__dot{width:var(--badge-dot-size);height:var(--badge-dot-size);flex:0 0 var(--badge-dot-size);border-radius:var(--radius-full);background:var(--badge-dot)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);border-radius:50%;overflow:hidden;background:var(--color-surface-sunken);border:2px solid var(--color-border);flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar:hover,.avatar:focus-visible{border-color:var(--color-border-brand);transform:scale(1.04)}.section-label{font-family:var(--font-mono);font-feature-settings:var(--font-feature-mono);font-size:var(--text-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--color-text-tertiary);margin:0 0 var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);line-height:var(--chip-line)}.section-label:before{content:"";width:12px;height:2px;background:var(--color-accent);border-radius:var(--radius-sm);flex:0 0 12px}.section-label--no-bar:before{display:none}.section-label--center{display:flex;justify-content:center}.section-title{font-family:var(--font-display);font-weight:var(--weight-extrabold);font-size:var(--text-h1);line-height:var(--line-display);letter-spacing:var(--display-tight);margin:0 0 var(--space-3);text-wrap:balance;max-width:22ch;color:var(--color-text-primary);font-style:normal}.section-title:after{content:".";color:var(--brand-lime);text-shadow:var(--accent-period-shadow)}.section-title .dot{color:var(--brand-lime);text-shadow:var(--accent-period-shadow)}.section-subtitle{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--line-body);color:var(--color-text-secondary);max-width:60ch;margin:0 0 var(--space-5)}.role-card{display:grid;grid-template-columns:88px 1fr;gap:var(--space-5);padding:var(--space-6) 0;border-top:var(--border-hairline)}.role-card:first-of-type{border-top:0;padding-top:0}.sr-only:not(:focus):not(:active){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:768px){.ds-carousel[data-ds-carousel]{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-inline:var(--space-4);scroll-padding-inline:var(--space-4);padding-block:var(--space-3);margin-block:calc(var(--space-3) * -1)}.ds-carousel[data-ds-carousel][data-ds-carousel]{display:flex;grid-template-columns:none;flex-wrap:nowrap;gap:var(--space-3);width:100vw;max-width:none;margin-inline:calc(50% - 50vw)}.ds-carousel[data-ds-carousel]::-webkit-scrollbar{display:none}.ds-carousel[data-ds-carousel]>*{min-width:0;scroll-snap-align:start}.ds-carousel[data-ds-carousel][data-ds-carousel]>*{flex:0 0 100%;max-width:100%}}.ds-dots{display:none;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:nowrap;margin-top:var(--space-4)}.ds-dots button{width:var(--touch-target-dot, 24px);height:var(--touch-target-dot, 24px);padding:0;border:0;background:transparent;flex:none;cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.ds-dots button:before{content:"";width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-dot-inactive);transition:background .1s linear}.ds-dots button.is-active:before{width:26px;background:var(--color-dot-active)}.ds-dots button:focus-visible{outline:var(--border-focus);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-full)}@media(max-width:768px){.ds-dots{display:flex}}@media(prefers-reduced-motion:reduce){.ds-carousel{scroll-behavior:auto}.ds-dots button:before{transition:none}}.ds-carousel-nav{display:flex;align-items:center;gap:var(--space-4);--cn-rail-track: var(--color-border);--cn-rail-fill: var(--color-dot-active);--cn-arrow-press: var(--color-surface-sunken)}.ds-carousel-nav__rail{position:relative;width:96px;height:3px;flex:0 0 auto;background:var(--cn-rail-track);border-radius:var(--radius-full);overflow:hidden}.ds-carousel-nav__fill{position:absolute;left:0;top:0;height:100%;width:0;background:var(--cn-rail-fill);border-radius:var(--radius-full);transition:width var(--duration-base) var(--ease-default)}.ds-carousel-nav__pager{display:flex;align-items:center;gap:var(--space-2)}.ds-carousel-nav__arrow{position:relative;width:var(--btn-glyph-lg);height:var(--btn-glyph-lg);display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-default)}.ds-carousel-nav__arrow:before{content:"";position:absolute;top:50%;left:50%;width:var(--touch-target-min);height:var(--touch-target-min);transform:translate(-50%,-50%)}.ds-carousel-nav__arrow:hover{color:var(--color-text-primary)}.ds-carousel-nav__arrow:focus-visible{outline:var(--border-focus);outline-offset:var(--focus-ring-offset)}.ds-carousel-nav__arrow:active:not(:disabled){background:var(--cn-arrow-press);color:var(--color-text-primary)}.ds-carousel-nav__arrow:disabled{opacity:.3;cursor:default}.ds-carousel-nav__arrow i,.ds-carousel-nav__arrow svg{width:var(--btn-glyph-lg);height:var(--btn-glyph-lg)}.ds-carousel-nav__count{font-family:var(--font-mono);font-size:var(--size-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.ds-carousel-nav__count b{font-weight:var(--weight-semibold);color:var(--color-text-primary)}@media(prefers-reduced-motion:reduce){.ds-carousel-nav__fill{transition:none}}.ds-carousel-nav--full{display:none;width:100%;margin-top:var(--space-4)}.ds-carousel-nav--full .ds-carousel-nav__rail{flex:1;width:auto}@media(max-width:768px){.ds-carousel-nav--full{display:flex}}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:200px;padding:var(--space-6);background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-tertiary);text-align:center;font-family:var(--font-body);font-size:var(--size-sm)}.placeholder i[data-lucide],.placeholder svg{width:48px;height:48px;color:var(--color-text-tertiary);opacity:.5}.placeholder-label{font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-secondary)}.placeholder-hint{font-size:var(--text-caption);color:var(--color-text-tertiary);opacity:.7;max-width:280px;line-height:var(--line-body)}.placeholder--gallery{min-height:320px}.glb-thumb:focus-visible,.full-track .f-card:focus-visible{outline-offset:-2px}@media(min-resolution:1.1dppx)and (max-resolution:1.9dppx){.btn,.chip,.badge{border-width:2px}}
