/* Studio X-Lab section styles. Source uses a 10px rem; converted to px
   so AISP's root typography and protected hero remain untouched. */
.sx-portfolio{position:relative;background:var(--clr-base-black);color:var(--clr-base-white);isolation:isolate;overflow:hidden}.sx-portfolio__inner{position:relative;display:grid;align-content:center;justify-items:center;row-gap:var(--spacing-3xl);padding:var(--section-md) 0 var(--section-xl)}.sx-portfolio__title{position:absolute;width:1px;height:1px;overflow:hidden;margin-block:0;clip-path:inset(50%);white-space:nowrap}.sx-portfolio__stage{position:relative;z-index:1;width:100%;height:124svh;min-height:1040px;max-height:1440px;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}.sx-portfolio__stage canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%}@media(max-width: 720px){.sx-portfolio__stage{height:112svh;min-height:900px;max-height:1120px}}.sx-portfolio__link{--sx-link-x: 0px;--sx-link-y: 0px;--sx-link-border-width: clamp(3px, 0.1941747573vw + 2.27184466px, 6px);position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;inline-size:clamp(480px, 15.5339805825vw + 421.747572816px, 720px);block-size:clamp(104px, 2.9773462783vw + 92.834951456px, 150px);overflow:hidden;border:var(--sx-link-border-width) solid color-mix(in srgb, var(--clr-base-white) 88%, transparent);border-radius:var(--radius-round);color:var(--clr-base-white);text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap;transform:translate3d(var(--sx-link-x), var(--sx-link-y), 0);will-change:transform;transition:border-color var(--dur-base) var(--ease-out-quart),color var(--dur-base) var(--ease-out-quart)}.sx-portfolio__link::before{content:"";position:absolute;inset:calc(var(--sx-link-border-width)*-1);z-index:0;border-radius:inherit;background:var(--clr-base-white);transform:translate3d(0, 105%, 0);transition:transform 560ms var(--ease-out-quart)}.sx-portfolio__link span{position:relative;z-index:1;display:block;max-inline-size:100%}.sx-portfolio__link:hover,.sx-portfolio__link:focus-visible{border-color:var(--clr-base-white);color:var(--clr-base-black)}.sx-portfolio__link:hover::before,.sx-portfolio__link:focus-visible::before{transform:translate3d(0, 0, 0)}@media(max-width: 720px){.sx-portfolio__link{inline-size:clamp(260px, 23.1884057971vw + 173.043478261px, 340px);block-size:clamp(72px, 9.2753623188vw + 37.217391304px, 104px)}}@media(prefers-reduced-motion: reduce){.sx-portfolio__link{transform:none;transition:none}.sx-portfolio__link::before{transition:none}}.sx-portfolio.is-webgl-ready .sx-portfolio__stage{cursor:grab}.sx-portfolio.is-card-hover .sx-portfolio__stage{cursor:pointer}.sx-portfolio.is-dragging .sx-portfolio__stage{cursor:grabbing}.sx-portfolio.is-reduced-motion .sx-portfolio__stage{cursor:default}
/* AISP branding and accessible content; orbit geometry belongs to the source. */
.asp-growth-orbit {
 --clr-base-black: #080808;
 --clr-base-white: #f5f2ee;
 --spacing-3xl: clamp(32px, 2.071197411vw + 24.233009709px, 64px);
 --section-md: clamp(48px, 3.1067961165vw + 36.349514563px, 96px);
 --section-xl: clamp(80px, 10.355987055vw + 41.165048544px, 240px);
}
.asp-growth-orbit .sx-portfolio__title { font-family: "Manrope", "Pretendard Variable", sans-serif; }
/* Restore the full stage and breathing room for the original portrait cards. */
.asp-growth-orbit .sx-portfolio__inner { padding:64px 0 96px; row-gap:0; }
.asp-growth-orbit .sx-portfolio__stage { margin-block:0; clip-path:none; }
@media (max-width:720px) {
 .asp-growth-orbit .sx-portfolio__inner { padding:48px 0 64px; }
}
.asp-growth-orbit .sx-portfolio__stage:focus-visible { outline: 1px solid #cc9385; outline-offset: -8px; }
.asp-growth-orbit__controls { display:flex; align-items:center; justify-content:center; gap:24px; color:#c9c3bd; font-size:12px; letter-spacing:.06em; }
.asp-growth-orbit__controls button { color:inherit; background:none; border:0; border-bottom:1px solid #81726b; padding:8px 0; cursor:pointer; font:inherit; }
.asp-growth-orbit__fallback { max-width:1100px; margin:0 auto; padding:64px 24px; list-style:none; }
.asp-growth-orbit__fallback li { padding:24px 0; border-top:1px solid #49413e; }
.asp-growth-orbit__fallback h3 { font-size:24px; margin:0 0 12px; }
.asp-growth-orbit__fallback p { color:#cbc5bf; }
.asp-growth-orbit__fallback small { display:block; color:#cc9385; font-size:13px; line-height:1.6; }
.asp-growth-orbit__fallback { counter-reset:outcome; }
.asp-growth-orbit__fallback li::before { counter-increment:outcome; content:counter(outcome, decimal); display:block; font-size:11px; font-weight:400; color:#b9b3ad; margin-bottom:12px; }
.asp-growth-orbit.is-webgl-pending .asp-growth-orbit__fallback,
.asp-growth-orbit.is-webgl-ready:not(.is-reduced-motion) .asp-growth-orbit__fallback { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.asp-growth-orbit:not(.is-webgl-ready):not(.is-webgl-pending) .sx-portfolio__stage { height:auto; min-height:0; padding:80px 24px 0; }
.asp-growth-orbit:not(.is-webgl-ready):not(.is-webgl-pending) .sx-portfolio__title { position:static; width:auto; height:auto; clip-path:none; text-align:center; font-size:24px; }
.asp-growth-orbit:not(.is-webgl-ready):not(.is-webgl-pending) .sx-portfolio__title span { display:block; font-size:clamp(32px,7vw,72px); font-weight:700; }
.asp-growth-orbit:not(.is-webgl-ready):not(.is-webgl-pending) .asp-growth-orbit__controls { display:none; }
@media (prefers-reduced-motion: reduce) { .asp-growth-orbit__controls { display:none; } }
/* Contrast only while the existing fixed header crosses the dark orbit. */
body.asp-over-growth .header .asp-brand__mark,
body.asp-over-growth .header .asp-brand__keywords,
body.asp-over-growth .header .hd-nav > a { color:#f5f2ee; text-shadow:none; }
body.asp-over-growth .header .asp-nexus i:not(:nth-child(4)) { background:#f5f2ee; }

.asp-growth-orbit__controls{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:2;width:max-content;max-width:100%;gap:20px;padding:16px 20px 0;min-height:64px;box-sizing:border-box;font-family:Manrope,sans-serif}
.asp-growth-orbit__controls button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:100px;padding:10px 14px;border:1px solid #81726b;border-radius:3px;touch-action:manipulation;font-size:14px}
.asp-growth-orbit__controls button:focus-visible{outline:2px solid #cc9385;outline-offset:4px}
.asp-growth-orbit__controls button:disabled{opacity:.45;cursor:default}
.asp-growth-orbit__controls [data-orbit-position]{min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.asp-orbit-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(hover:hover){.asp-growth-orbit__controls button:hover{background:#27211f;color:#fff}}

/* Desktop uses drag and keyboard navigation; touch retains the tap controls. */
@media(min-width:721px) and (hover:hover) and (pointer:fine){
 .asp-growth-orbit__controls{display:none}
}
