/* User-approved 2026-10-13 proposal, scoped to this added homepage section. */
#homepage-services.hs-section{--hs-blue:#146eeb;--hs-ink:#123764;--hs-muted:#647995;--hs-line:#dce7f7;--hs-soft:#f4f8ff;--hs-ease:cubic-bezier(.22,.8,.2,1);font-family:Pretendard,sans-serif;color:var(--hs-ink);scroll-margin-top:130px;isolation:isolate}
#homepage-services.hs-section button{font:inherit;cursor:pointer}#homepage-services.hs-section button:focus-visible{outline:3px solid #86baff;outline-offset:5px}

#homepage-services.hs-section{padding:16px 32px 80px;max-width:1344px;margin:auto}#homepage-services .hs-intro{text-align:center}#homepage-services .hs-intro h2{font:400 clamp(50px,6.3vw,88px)/1.15 "210 OmniGothic 040",Pretendard,sans-serif;letter-spacing:-.055em;margin:18px 0 24px}#homepage-services .hs-intro h2 span{display:block;color:var(--hs-blue)}#homepage-services .hs-intro p{margin:0;color:var(--hs-muted);font-size:20px;line-height:1.7}
#homepage-services .hs-tabs{display:flex;justify-content:center;gap:56px;margin:38px auto 30px}#homepage-services .hs-tabs button{position:relative;display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:14px 6px;color:var(--hs-muted);font-weight:800;font-size:24px;line-height:1.2;transition:color .25s}#homepage-services .hs-tabs button[aria-selected=true]{color:var(--hs-ink)}#homepage-services .hs-tabs button::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:3px;background:var(--hs-blue);transform:scaleX(0);transition:transform .3s var(--hs-ease)}#homepage-services .hs-tabs button[aria-selected=true]::after{transform:scaleX(1)}
#homepage-services .hs-panel[hidden]{display:none}
#homepage-services .hs-cards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;width:100%;max-width:1080px;margin-inline:auto}
#homepage-services .hs-card-shell{position:relative;grid-column:span 4;height:190px;min-width:0;--expand-origin:50% 0;animation:hs-card-warp .6s cubic-bezier(.59,0,.35,1) backwards;animation-delay:calc(var(--i)*55ms);transform-origin:50% 0}
#homepage-services .hs-card-shell:nth-child(3n+1){--expand-origin:0 0}#homepage-services .hs-card-shell:nth-child(3n){--expand-origin:100% 0}#homepage-services .hs-card-shell.hs-is-expanded{z-index:10}
#homepage-services .hs-card{position:absolute;left:0;top:0;width:100%;height:190px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:0;padding:22px;border:1px solid var(--hs-line);border-radius:20px;background:var(--hs-soft);color:var(--hs-ink);overflow:hidden;cursor:pointer;transform-origin:var(--expand-origin);--expand-time:.16s;--expand-ease:ease-out;transition:width var(--expand-time) var(--expand-ease),height var(--expand-time) var(--expand-ease),transform var(--expand-time) var(--expand-ease),background-color .18s ease-in,border-color .18s ease-in,box-shadow var(--expand-time) var(--expand-ease)}
#homepage-services .hs-card:focus-visible{outline:3px solid #86baff;outline-offset:5px}
#homepage-services .hs-card.hs-is-expanded{height:290px;transform:scale(1.18);background:var(--hs-blue);border-color:var(--hs-blue);color:white;box-shadow:0 16px 32px rgba(18,55,100,.18);--expand-time:.22s;--expand-ease:ease-in}
#homepage-services .hs-icon-tile{flex:none;width:68px;height:68px;display:grid;place-items:center;margin-bottom:12px;border-radius:16px;background:transparent;transition:background-color .18s ease-in}
#homepage-services .hs-card img{width:64px;height:64px;object-fit:contain;display:block}
#homepage-services .hs-card.hs-is-expanded .hs-icon-tile{background:white}
#homepage-services .hs-card h3{font:800 24px/1.35 Pretendard,sans-serif;letter-spacing:-.045em;margin:0;color:var(--hs-ink);word-break:keep-all;overflow-wrap:anywhere;transition:color .18s ease-in,font-size .18s ease-in}
#homepage-services .hs-card.hs-is-expanded h3{color:white}
#homepage-services .hs-card-details{display:grid;grid-template-rows:0fr;width:100%;margin-top:0;visibility:hidden;opacity:0;transform:translateY(8px);transition:grid-template-rows .18s ease-in,margin-top .18s ease-in,opacity .14s ease-in,transform .18s ease-in,visibility 0s .16s}
#homepage-services .hs-card-details>div{min-height:0;overflow:hidden}
#homepage-services .hs-card.hs-is-expanded .hs-card-details{grid-template-rows:1fr;margin-top:12px;visibility:visible;opacity:1;transform:none;transition-delay:0s,0s,.04s,.04s,0s}
#homepage-services .hs-card-details p{font-size:17px;line-height:1.6;color:white;margin:0;word-break:keep-all}
#homepage-services .hs-card-details .hs-mini{margin-top:10px;color:#dcebff;font-size:13px;line-height:1.5}
@keyframes hs-card-warp{0%{opacity:0;transform:perspective(1000px) translateY(56px) rotateX(-5deg) skewY(-1deg) scale(.52,1.55)}65%{opacity:1;transform:perspective(1000px) translateY(-2px) rotateX(0) skewY(0) scale(1.01,.99)}100%{opacity:1;transform:none}}
@media(max-width:900px){#homepage-services .hs-card-shell{grid-column:span 6}#homepage-services .hs-cards>.hs-card-shell:nth-child(n){--expand-origin:50% 0}#homepage-services .hs-cards>.hs-card-shell:nth-child(2n+1){--expand-origin:0 0}#homepage-services .hs-cards>.hs-card-shell:nth-child(2n){--expand-origin:100% 0}#homepage-services .hs-intro h2{font-size:64px}}
@media(max-width:540px){#homepage-services .hs-intro p{font-size:16px}#homepage-services .hs-tabs{gap:22px;margin:28px auto 24px}#homepage-services .hs-tabs button{font-size:21px;gap:7px}#homepage-services .hs-cards{gap:10px}#homepage-services .hs-card-shell{height:164px;animation-delay:0s}#homepage-services .hs-card{height:164px;padding:16px 14px;border-radius:18px}#homepage-services .hs-icon-tile{width:56px;height:56px;margin-bottom:10px;border-radius:14px}#homepage-services .hs-card img{width:52px;height:52px}#homepage-services .hs-card h3{font-size:18px;line-height:1.35}#homepage-services .hs-card.hs-is-expanded{width:calc(200% + 10px);height:310px;transform:none;padding:20px}#homepage-services .hs-card-shell:nth-child(2n) .hs-card{left:auto;right:0}#homepage-services .hs-card.hs-is-expanded h3{font-size:22px}#homepage-services .hs-card.hs-is-expanded .hs-icon-tile{width:68px;height:68px}#homepage-services .hs-card.hs-is-expanded img{width:64px;height:64px}#homepage-services .hs-card-details p{font-size:16px}}
@media(prefers-reduced-motion:reduce){#homepage-services .hs-card-shell{animation:none;opacity:1;transform:none}#homepage-services .hs-card,#homepage-services .hs-card h3,#homepage-services .hs-icon-tile,#homepage-services .hs-card-details,#homepage-services .hs-tabs button,#homepage-services .hs-tabs button::after{transition:none}#homepage-services .hs-card.hs-is-expanded{transform:none}}

/* Supplied MIT 3D marquee reference: extended to a full hero with seamless conveyor loops. */
#homepage-services .hs-sr-only{display:none;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#homepage-services .hs-services-hero{position:relative;width:calc(100vw - var(--hs-scrollbar-width,0px));height:700px;min-height:0;left:50%;transform:translateX(-50%);margin-bottom:96px;overflow:hidden;isolation:isolate;background:#edf4ff}
#homepage-services .hs-marquee{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#edf4ff;contain:paint}
#homepage-services .hs-marquee-scene{position:absolute;inset:0;display:grid;place-items:center}
#homepage-services .hs-marquee-plane{position:absolute;left:50%;top:50%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;width:max(1520px,132vw);height:max(1440px,136vw);transform:translate(-50%,-50%) rotateX(45deg) rotateY(0deg) rotateZ(45deg);transform-style:preserve-3d}
#homepage-services .hs-marquee-column{display:flex;flex-direction:column;gap:0;animation:hs-conveyor-up 56s linear infinite;animation-play-state:paused;will-change:transform;margin:0;animation-delay:-9s}#homepage-services .hs-marquee-group{display:flex;flex-direction:column;gap:24px;padding-bottom:24px}
#homepage-services .hs-marquee-column:nth-child(2){animation-name:hs-conveyor-down;animation-duration:56s;animation-delay:-24s}
#homepage-services .hs-marquee-column:nth-child(3){animation-delay:-39s}
#homepage-services .hs-marquee figure{margin:0;aspect-ratio:4/3;width:100%;background:#f4f8ff;border:1px solid #d6e5fa;border-radius:12px;box-shadow:0 6px 16px rgba(18,55,100,.08);overflow:hidden}
#homepage-services .hs-marquee img{display:block;width:100%;height:100%;object-fit:cover;user-select:none}
#homepage-services .hs-marquee-haze{position:absolute;inset:0;z-index:1;pointer-events:none;--haze-white:rgba(255,255,255,.70);mask-image:linear-gradient(90deg,transparent 30%,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 70%)}#homepage-services .hs-marquee-haze .hs-marquee{filter:blur(6px)}#homepage-services .hs-marquee-haze::after{content:"";position:absolute;inset:0;background:var(--haze-white);z-index:1}#homepage-services .hs-services-copy{user-select:text;-webkit-user-select:text;cursor:text;position:absolute;left:45%;top:50%;width:min(52vw,980px);transform:translateY(-50%);min-width:0;z-index:2;padding:0}
#homepage-services .hs-services-copy h2{margin:0;font:400 clamp(80px,8vw,128px)/1.25 "210 OmniGothic 040",Pretendard,sans-serif;letter-spacing:-.05em;font-synthesis:none}
#homepage-services .hs-fixed-copy{display:block;font-size:clamp(52px,5.4vw,86px);white-space:nowrap;letter-spacing:-.055em;margin-bottom:20px;color:#111827}
#homepage-services .hs-rotating-copy{display:block;position:relative;height:calc(var(--service-lines,1)*1.25em);transition:height .52s var(--hs-ease);perspective:700px;color:var(--hs-blue)}
#homepage-services .hs-service-line{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;opacity:0;transform:translateY(32px) rotateX(-18deg);filter:blur(5px);visibility:hidden;user-select:none;-webkit-user-select:none;pointer-events:none}
#homepage-services .hs-service-line>span{display:block;white-space:nowrap}
#homepage-services .hs-service-line.hs-is-current{visibility:visible;pointer-events:auto;user-select:text;-webkit-user-select:text;opacity:1;transform:translateY(0) rotateX(0);filter:none}
#homepage-services .hs-service-line.hs-is-entering{animation:hs-text-arrive .52s var(--hs-ease) both}
#homepage-services .hs-service-line.hs-is-leaving{visibility:visible;animation:hs-text-leave .36s var(--hs-ease) both}
#homepage-services .hs-services-hero.hs-is-ready .hs-marquee-column{animation-play-state:running}#homepage-services .hs-services-hero.hs-is-paused .hs-marquee-column{animation-play-state:paused}
#homepage-services .hs-intro h2{font-size:clamp(76px,8.7vw,126px);margin:0 0 24px;line-height:1.15}#homepage-services .hs-intro h2 span{display:inline-block}
@keyframes hs-conveyor-up{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes hs-conveyor-down{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@keyframes hs-text-arrive{from{opacity:0;transform:translateY(32px) rotateX(-18deg);filter:blur(5px)}to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}
@keyframes hs-text-leave{from{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}to{opacity:0;transform:translateY(-28px) rotateX(14deg);filter:blur(4px)}}
@media(max-width:1100px) and (min-width:901px){#homepage-services .hs-services-copy{left:45%;width:52vw}#homepage-services .hs-services-copy h2{font-size:clamp(70px,8vw,88px)}#homepage-services .hs-fixed-copy{font-size:clamp(48px,5.4vw,60px)}}
@media(max-width:900px){#homepage-services .hs-services-hero{height:720px;margin-bottom:64px}#homepage-services .hs-services-copy{left:24px;top:50%;bottom:auto;width:calc(100% - 48px);transform:translateY(-50%);text-align:center}#homepage-services .hs-services-copy h2{font-size:88px}#homepage-services .hs-fixed-copy{font-size:60px}#homepage-services .hs-service-line{align-items:center}#homepage-services .hs-marquee-haze{--haze-white:rgba(255,255,255,.78);mask-image:linear-gradient(180deg,transparent 23%,#000 71%);-webkit-mask-image:linear-gradient(180deg,transparent 23%,#000 71%)}}
@media(max-width:540px){#homepage-services.hs-section{padding:0 16px 64px}#homepage-services .hs-services-hero{height:680px;margin-bottom:64px}#homepage-services .hs-marquee-plane{width:1240px;height:1320px;gap:16px}#homepage-services .hs-marquee-group{gap:16px;padding-bottom:16px}#homepage-services .hs-services-copy{left:20px;top:50%;bottom:auto;width:calc(100% - 40px)}#homepage-services .hs-services-copy h2{font-size:clamp(40px,14vw,74px);line-height:1.3}#homepage-services .hs-fixed-copy{font-size:clamp(30px,10.4vw,51px);margin-bottom:14px}#homepage-services .hs-rotating-copy{height:calc(var(--service-lines,1)*1.3em)}#homepage-services .hs-intro h2{font-size:clamp(42px,13.5vw,70px)}#homepage-services .hs-intro h2 span{display:block}}
@media(prefers-reduced-motion:reduce){#homepage-services .hs-marquee-column,#homepage-services .hs-marquee-column:nth-child(2),#homepage-services .hs-marquee-column:nth-child(3){animation:none;transform:none;will-change:auto}#homepage-services .hs-service-line.hs-is-entering,#homepage-services .hs-service-line.hs-is-leaving{animation:none;filter:none}#homepage-services .hs-service-line{transform:none}#homepage-services .hs-rotating-copy{height:auto;transition:none}#homepage-services .hs-service-line{display:none;position:static;opacity:1;align-items:inherit}#homepage-services .hs-service-line:first-child{display:flex}#homepage-services .hs-services-copy .hs-sr-only{position:static;width:auto;height:auto;margin:20px 0 0;clip:auto;white-space:normal;overflow:visible;display:block;font:400 18px/1.8 Pretendard,sans-serif;letter-spacing:0;color:var(--hs-muted)}#homepage-services .hs-rotating-copy{display:none}}

/* Only the selected panel occupies a row; retain clearance for expanded cards. */
#homepage-services .hs-role-panels{position:relative;display:grid;align-items:start;padding:8px 0 162px;overflow-anchor:none;overflow:clip;overflow-clip-margin:8px}
#homepage-services .hs-role-panels .hs-panel{grid-area:1/1;min-width:0;align-self:start}
#homepage-services .hs-role-panels .hs-panel[hidden]{position:absolute;inset:8px 0 auto;width:100%;display:block;visibility:hidden;pointer-events:none}
#homepage-services .hs-role-panels .hs-panel[hidden] .hs-card-shell{animation:none}

/* Plain title slide; the supplied fold-and-expand motion belongs to the cards. */
#homepage-services .hs-role-services{position:relative;isolation:isolate;overflow-anchor:none}
#homepage-services .hs-role-services .hs-intro{position:relative}
#homepage-services .hs-has-warp:not(.hs-is-revealed) .hs-intro h2{opacity:0;transform:translateY(28px)}
#homepage-services .hs-has-warp:not(.hs-is-revealed) .hs-intro p{opacity:0;transform:translateY(18px)}
#homepage-services .hs-has-warp:not(.hs-is-revealed) .hs-tabs{opacity:0}
#homepage-services .hs-has-warp .hs-card-shell{animation-play-state:paused}
#homepage-services .hs-has-warp .hs-card-shell.hs-is-card-revealed{animation-play-state:running}
#homepage-services .hs-has-warp.hs-is-revealed .hs-intro h2{animation:hs-title-slide .55s var(--hs-ease) both}
#homepage-services .hs-has-warp.hs-is-revealed .hs-intro p{animation:hs-copy-slide .5s var(--hs-ease) .1s both}
#homepage-services .hs-has-warp.hs-is-revealed .hs-tabs{animation:hs-controls-fade .4s ease-out .18s both}
@keyframes hs-title-slide{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes hs-copy-slide{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hs-controls-fade{from{opacity:0}to{opacity:1}}
@media(max-width:540px){#homepage-services .hs-role-panels{padding-bottom:146px}}
@media(prefers-reduced-motion:reduce){#homepage-services .hs-has-warp .hs-intro h2,#homepage-services .hs-has-warp .hs-intro p,#homepage-services .hs-has-warp .hs-tabs{animation:none;opacity:1;transform:none}#homepage-services .hs-has-warp .hs-card-shell,#homepage-services .hs-has-warp .hs-card-shell.hs-is-card-revealed{animation:none;opacity:1;transform:none}}


/* Keep the next introduction close and prevent it from anchoring a role-tab resize. */
#homepage-services + .showcase-both{overflow-anchor:none;margin-top:48px}
