@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&display=swap');

:root{
  --primary:#30CACB; --primary-dark:#24B3B3; --mint:#8FE8E9;
  --ink:#1A1A1A; --body:#4B4B4B; --muted:#71767E; --line:#D0D6E1;
  --soft:#EBF3F3; --soft2:#F9F9F9; --navy:#07131E; --footer:#06111B;
  --max:1680px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:'Pretendard Variable','Pretendard',Arial,sans-serif;background:#fff} a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button{font:inherit}
.header{height:88px;background:#fff;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(0,0,0,.02)}
.header-inner{width:min(var(--max),calc(100% - 48px));height:100%;display:flex;align-items:center;justify-content:space-between}.brand{width:168px}.brand img{width:98px;height:auto}.nav{display:flex;gap:40px;align-items:center}.nav a{font-size:14.6px;font-weight:500;color:rgba(26,26,26,.65);padding:12px 0;position:relative;white-space:nowrap}.nav a.active{font-weight:700;color:var(--ink)}.nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--primary)}.lang{display:flex;align-items:center;gap:6px;font-size:15px}.lang span:first-child{color:rgba(26,26,26,.5)}.lang b{font-weight:700}.lang i{font-style:normal;font-size:12px}
.section{padding:120px}.wrap{max-width:var(--max);margin:0 auto}.eyebrow{font-family:Poppins,sans-serif;font-size:24px;line-height:1.3;font-weight:500;color:var(--primary-dark);margin:0 0 10px;text-transform:none}.headline{font-size:60px;line-height:1.3;letter-spacing:-.03em;font-weight:700;margin:0}.desc{font-size:24px;line-height:1.5;color:var(--muted);margin:28px 0 0}.heading-block{margin-bottom:50px}.view-link{display:inline-flex;align-items:center;gap:8px;font:500 15px/1 Poppins,sans-serif}.view-link img{width:61px;height:6px}
.soft{background:var(--soft)} .soft2{background:var(--soft2)} .dark{background:#07131e;color:#fff}.dark .desc{color:#e7ebf2}.dark .eyebrow{color:var(--mint)}
.footer{height:351px;background:var(--footer);color:#fff;padding:52px 120px;position:relative}.footer-inner{max-width:var(--max);margin:auto}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:38px;border-bottom:1px solid #22303b}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .symbol{width:42px}.footer-brand .wordmark{width:168px}.footer-nav{display:flex;gap:46px;font-size:18px}.footer-mid{display:grid;grid-template-columns:1.5fr .7fr auto;gap:60px;padding-top:24px;color:#a4abb6;font-size:14px;line-height:1.8}.family{border:1px solid #838383;border-radius:5px;padding:10px 20px;color:#fff;min-width:242px}.copyright{margin-top:28px;color:#a4abb6;font-size:14px}
.fade{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.fade.show{opacity:1;transform:none}

/* Digital Human */
.dh-intro{background:var(--soft)}.dh-intro .toprow{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:80px}.hero-three{height:540px;border-radius:30px;overflow:hidden;position:relative;background:#222}.hero-three>img.bg{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 78%}.hero-three:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,19,30,.15),#07131e)}.three-cols{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:repeat(3,1fr)}.three-col{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;border-right:1px solid rgba(208,214,225,.8);padding:40px}.three-col:last-child{border-right:0}.three-col img{width:55px;height:55px;margin:0 auto 15px}.three-col h3{font-size:36px;line-height:1.4;margin:0;font-weight:700}.three-col p{font-size:18px;line-height:1.5;margin:12px 0 0}
.tech-grid{position:relative;width:1134px;height:584px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:24px}.tech-card{position:relative;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.12);padding:40px}.tech-card:nth-child(2),.tech-card:nth-child(4){text-align:right}.tech-card .num{font-size:30px;opacity:.5;font-weight:800;margin-bottom:6px}.tech-card .title{font-size:34px;font-weight:800;line-height:1.1}.tech-card .sub{font-size:22px;color:var(--muted);margin-top:8px}.tech-card .orn{position:absolute;width:400px;height:300px;object-fit:contain;opacity:.95}.tech-card:nth-child(1) .orn{right:-110px;bottom:-120px}.tech-card:nth-child(2) .orn{left:-110px;bottom:-120px}.tech-card:nth-child(3) .orn{right:-110px;top:-120px}.tech-card:nth-child(4) .orn{left:-110px;top:-120px}.tech-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:222px;height:222px;z-index:3}.tech-center img{width:100%;height:100%}.tech-center strong{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#3a64b4;font-size:28px;line-height:1.1}
.elm-section{height:1159px;position:relative;overflow:hidden;background:#07131e}.elm-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}.elm-section:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#041626 8%,rgba(18,39,58,.9) 72%,rgba(7,19,30,.35))}.elm-inner{position:relative;z-index:2;max-width:var(--max);height:100%;margin:auto;padding-top:115px}.elm-copy{width:760px}.elm-copy .headline{color:#fff}.elm-copy .desc{color:#e7ebf2}.elm-visual{position:absolute;right:0;bottom:130px;width:650px;height:724px;object-fit:cover;box-shadow:0 4px 10px #0b1c2a}.feature-list{display:flex;flex-direction:column;gap:30px;margin-top:60px;width:642px}.feature{display:flex;gap:16px;align-items:center;padding:20px 60px;background:rgba(48,133,203,.2);border:1px solid rgba(137,173,205,.3);border-radius:20px}.feature img{width:52px;height:52px;object-fit:contain}.feature h4{font-size:26px;margin:0;color:#fff}.feature p{font-size:20px;margin:5px 0 0;color:#e7ebf2}
html[lang="en"] .elm-model-title-en br{display:block!important}
html[lang="en"] .elm-model-title-en .elm-model-title-line{display:inline-block;white-space:nowrap}
@media(max-width:1000px){html[lang="en"] .elm-model-title-en .elm-model-title-line{display:inline;white-space:normal}}
.process{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;grid-auto-rows:1fr;gap:20px;align-items:stretch}.process-card{height:100%;display:flex;flex-direction:column;border:1px solid #cacaca;border-radius:20px;padding:20px 20px 40px;background:#fff}.process-card .shot{height:206px;flex:0 0 auto;border-radius:10px;overflow:hidden;background:#eee;margin-bottom:36px}.process-card .shot img{width:100%;height:100%;object-fit:cover}.process-card h3{font-size:30px;text-align:center;margin:0}.process-card p{text-align:center;color:var(--body);font-size:22px;margin:6px 0 0}.process .arrow{width:24px;align-self:center}
.human-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.human-card{border:1px solid #cacaca;border-radius:60px;padding:40px;background:#fff}.human-card .visual{height:432px;border-radius:40px;overflow:hidden}.human-card .visual img{width:100%;height:100%;object-fit:cover}.human-card h3{text-align:center;font-size:36px;margin:20px 0 0}
.interaction-head{display:flex;align-items:flex-end;justify-content:space-between}.interaction-head .desc{width:839px;text-align:right}.interaction-box{height:761px;background:#f9f9f9;margin-top:60px;position:relative;overflow:hidden}.tabs{height:90px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);gap:44px}.tab{border:0;background:none;font-size:24px;color:var(--body);cursor:pointer}.tab.active{font-weight:700;color:var(--primary-dark);border-bottom:3px solid var(--primary-dark)}.interaction-copy{position:absolute;left:54px;top:183px}.interaction-copy h3{font-size:40px;margin:0}.interaction-copy p{font-size:22px;color:var(--muted)}.interaction-img{position:absolute;right:68px;top:172px;width:807px;height:511px;border-radius:40px;overflow:hidden}.interaction-img img{width:100%;height:100%;object-fit:cover}

/* Learning Experience */
.learning-intro{padding-bottom:0}.journey{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px}.journey-card{border:1px solid var(--line);border-right:0;padding:40px 40px 0;min-width:0}.journey-card:last-child{border-right:1px solid var(--line)}.journey-card .n{font-size:24px;color:#c1c8d3;font-weight:700}.journey-card h3{font-size:40px;margin:16px 0}.journey-card p{font-size:22px;color:var(--muted)}.journey-visual{height:340px;position:relative;margin-top:30px;overflow:hidden}.book-fan{position:absolute;left:0;right:0;bottom:30px;height:220px}.book-fan img{position:absolute;width:138px;height:186px;object-fit:cover;box-shadow:0 8px 18px rgba(0,0,0,.12)}.book-fan img:nth-child(1){left:4%;transform:rotate(-10deg)}.book-fan img:nth-child(2){left:23%;transform:rotate(-5deg)}.book-fan img:nth-child(3){left:44%;transform:rotate(5deg)}.book-fan img:nth-child(4){left:64%;transform:rotate(10deg)}
.book-single{position:absolute;left:50%;bottom:16px;width:92%;height:250px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center}.book-single img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.12))}
.stack-shot{position:absolute;width:240px;height:148px;border:6px solid #fff;border-radius:8px;overflow:hidden;box-shadow:0 0 6px #adcad3}.stack-shot img{width:100%;height:100%;object-fit:cover}.stack-shot.a{left:0;top:70px}.stack-shot.b{right:0;bottom:55px}
.textbook-exp{background:var(--soft)}.textbook-grid{display:grid;grid-template-columns:1fr 806px;gap:80px;align-items:start}.loop-stage{height:718px;position:relative}.loop-stage:before{content:'';position:absolute;width:620px;height:620px;border:1px dashed #b9cbd1;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.book-shelf{position:absolute;left:50%;top:178px;width:570px;height:190px;transform:translateX(-50%);display:flex;align-items:flex-start;justify-content:center}.book-shelf .book-shelf-composite{display:block;position:static;width:100%;height:auto;max-height:190px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.10))}.tablet{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);width:302px;height:215px;border:12px solid #d8dbdf;border-radius:20px;background:#111;padding:8px;box-shadow:0 15px 30px rgba(0,0,0,.18)}.tablet img{width:100%;height:100%;object-fit:cover;border-radius:8px}.orbit-node{position:absolute;width:180px;height:180px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 0 8px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.orbit-node strong{font-size:26px;line-height:1.2}.orbit-node span{font-size:22px;color:var(--muted);margin-top:4px}.orbit-node.n1{left:25px;top:20px}.orbit-node.n2{right:25px;top:20px}.orbit-node.n3{right:25px;bottom:20px}.orbit-node.n4{left:25px;bottom:20px}
.flow-section{background:#f9f9f9}.flow-top{display:grid;grid-template-columns:1fr 807px;gap:60px;align-items:start}.flow-image{height:511px;border-radius:40px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.flow-image img{width:100%;height:100%;object-fit:cover}.flow-caption{margin-top:20px;margin-left:10px}.flow-caption .n{font-size:20px;color:var(--primary-dark);font-weight:700}.flow-caption h3{font-size:36px;margin:4px 0}.flow-caption p{font-size:24px;color:var(--muted)}.flow-tabs{height:120px;margin-top:50px;display:grid;grid-template-columns:repeat(5,1fr)}.flow-tab{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:14px 28px;font-weight:700}.flow-tab .n{font-size:15px;color:var(--primary-dark);display:block;margin-bottom:10px}.flow-tab span:last-child{font-size:20px;color:var(--muted)}.flow-tab.active{border-bottom:3px solid var(--primary-dark)}.flow-tab.active span:last-child{color:var(--ink)}
.assess-cards,.report-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.assess-card,.report-card{border:1px solid #cacaca;border-radius:60px;padding:40px;background:#fff}.assess-card .visual{height:375px;border-radius:40px;overflow:hidden}.assess-card .visual img{width:100%;height:100%;object-fit:cover}.assess-card h3,.report-card h3{font-size:36px;margin:40px 0 0}.assess-card h4,.report-card h4{font-size:30px;color:var(--body);margin:6px 0}.assess-card p,.report-card p{font-size:22px;color:var(--body);line-height:1.5}.mini-flow{height:120px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;align-items:center;margin-top:70px}.mini-step{padding:10px 42px}.mini-step strong{display:block;font-size:24px}.mini-step span{font-size:18px;color:var(--muted)}.mini-arrow{width:24px}.report-card .visual{height:518px;border-radius:20px;overflow:hidden;background:transparent;display:flex;align-items:center}.report-card .visual img{width:100%;height:100%;object-fit:contain}.closing{text-align:center;font-size:40px;font-weight:600;margin-top:50px}

@media(max-width:1400px){.section{padding:80px 64px}.headline{font-size:50px}.hero-three{height:480px}.three-col h3{font-size:30px}.tech-grid{width:100%;max-width:1134px}.elm-inner{padding:90px 64px}.elm-visual{right:64px;width:520px}.process{grid-template-columns:1fr 22px 1fr;}.process .arrow:nth-of-type(2),.process .arrow:nth-of-type(3){display:none}.process-card:nth-of-type(n+3){margin-top:20px}.interaction-head .desc{width:50%}.journey-card{padding:32px 24px 0}.textbook-grid,.flow-top{grid-template-columns:1fr 1fr}.loop-stage{transform:scale(.9);transform-origin:center}.footer{padding-left:64px;padding-right:64px}}
@media(max-width:1000px){.nav{display:none}.section{padding:64px 32px}.headline{font-size:42px}.desc{font-size:20px}.eyebrow{font-size:20px}.dh-intro .toprow{display:block}.view-link{margin-top:24px}.hero-three{height:auto}.three-cols{grid-template-columns:1fr}.three-col{min-height:260px;border-right:0;border-bottom:1px solid rgba(208,214,225,.8)}.tech-grid{height:auto;grid-template-columns:1fr}.tech-center{display:none}.tech-card{min-height:250px}.elm-section{height:auto;padding:80px 32px}.elm-inner{padding:0;height:auto}.elm-copy,.feature-list{width:100%}.elm-visual{position:relative;right:auto;bottom:auto;width:100%;height:560px;margin-top:40px}.process{grid-template-columns:1fr}.process .arrow{display:none}.human-cards,.assess-cards,.report-cards,.textbook-grid,.flow-top{grid-template-columns:1fr}.interaction-head{display:block}.interaction-head .desc{width:100%;text-align:left}.interaction-box{height:auto;padding-bottom:32px}.tabs{overflow-x:auto;grid-template-columns:repeat(5,220px)}.interaction-copy,.interaction-img{position:relative;left:auto;right:auto;top:auto;margin:32px}.interaction-img{width:calc(100% - 64px);height:420px}.journey{grid-template-columns:1fr 1fr}.textbook-grid{gap:40px}.loop-stage{width:806px;max-width:100%;margin:auto;transform:scale(.85);transform-origin:top center;margin-bottom:-80px}.flow-image{width:100%}.mini-flow{height:auto;grid-template-columns:1fr}.mini-arrow{display:none}.mini-step{border-bottom:1px solid var(--line)}.footer{height:auto;padding:48px 32px}.footer-top,.footer-mid{display:block}.footer-nav{margin-top:24px;flex-wrap:wrap}.footer-mid>div{margin-top:18px}}

/* Keep the four Digital Human process cards in a balanced 2 x 2 grid. */
@media (min-width:1001px) and (max-width:1400px){
  .process{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:1fr;
    align-items:stretch;
  }

  .process .arrow{
    display:none!important;
  }

  .process-card:nth-of-type(n+3){
    margin-top:0;
  }
}
@media(max-width:640px){.header-inner{width:calc(100% - 32px)}.section{padding:48px 20px}.headline{font-size:34px}.desc{font-size:18px}.three-col h3{font-size:26px}.tech-card .title{font-size:28px}.feature{padding:18px 20px}.human-card,.assess-card,.report-card{border-radius:30px;padding:20px}.human-card .visual,.assess-card .visual{height:300px}.journey{grid-template-columns:1fr}.journey-card{border-right:1px solid var(--line)}.loop-stage{height:620px;transform:scale(.7);transform-origin:top left;width:806px;margin-bottom:-180px}.flow-image{height:380px}.report-card .visual{height:360px}.footer-nav{gap:20px;font-size:15px}.footer-mid{font-size:12px}}


/* ELM source-built visual: replaces the raster ELM image */
.elm-source-visual{
  position:absolute;right:0;bottom:130px;width:650px;height:724px;
  overflow:hidden;border-radius:30px;isolation:isolate;
  background:
    radial-gradient(circle at 50% 57%,rgba(48,202,203,.22),transparent 17%),
    radial-gradient(circle at 50% 54%,rgba(53,119,190,.15),transparent 36%),
    linear-gradient(145deg,#07182b 0%,#0b2344 48%,#061526 100%);
  border:1px solid rgba(143,232,233,.14);
  box-shadow:0 28px 70px rgba(0,0,0,.28),inset 0 0 70px rgba(39,119,180,.08);
  opacity:0;transform:translate3d(0,110px,0) scale(.92);
  filter:saturate(.92) blur(2px);will-change:transform,opacity,filter;
}
.elm-source-visual.is-active{
  animation:elmVisualRise 1.05s cubic-bezier(.16,1,.3,1) forwards;
}
.elm-source-grid{
  position:absolute;inset:-4%;z-index:-1;opacity:.32;
  background-image:linear-gradient(rgba(116,183,227,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(116,183,227,.08) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(circle at 50% 55%,#000 0 49%,transparent 84%);mask-image:radial-gradient(circle at 50% 55%,#000 0 49%,transparent 84%);
}
.elm-source-grid:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(80,220,224,.06) 50%,transparent 75%);transform:translateX(-120%)}
.elm-source-visual.is-active .elm-source-grid:after{animation:elmScan 5.4s ease-in-out 1.3s infinite}
.elm-source-glow{position:absolute;border-radius:50%;filter:blur(26px);opacity:0;pointer-events:none}
.elm-source-glow-a{width:300px;height:300px;left:175px;top:230px;background:rgba(48,202,203,.16)}
.elm-source-glow-b{width:220px;height:220px;left:215px;top:278px;background:rgba(80,125,226,.14)}
.elm-source-visual.is-active .elm-source-glow-a{animation:elmGlowIn .8s .35s forwards,elmGlowBreathe 4.2s 1.3s ease-in-out infinite}
.elm-source-visual.is-active .elm-source-glow-b{animation:elmGlowIn .8s .55s forwards,elmGlowBreathe 5.6s 1.5s ease-in-out infinite reverse}
.elm-orbit-shell{position:absolute;left:50%;top:53%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.55);opacity:0;pointer-events:none}
.elm-orbit-shell-outer{width:78%}.elm-orbit-shell-mid{width:61%}.elm-orbit-shell-inner{width:43%}
.elm-orbit-track{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,rgba(143,232,233,.06) 0 8deg,rgba(82,190,216,.55) 8deg 10deg,transparent 10deg 43deg,rgba(90,142,217,.42) 43deg 45deg,transparent 45deg 91deg,rgba(143,232,233,.46) 91deg 93deg,transparent 93deg 138deg,rgba(65,200,203,.5) 138deg 140deg,transparent 140deg 196deg,rgba(75,132,210,.42) 196deg 198deg,transparent 198deg 253deg,rgba(143,232,233,.38) 253deg 255deg,transparent 255deg 314deg,rgba(48,202,203,.5) 314deg 316deg,transparent 316deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.3px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.3px));filter:drop-shadow(0 0 6px rgba(83,205,219,.22))}
.elm-orbit-shell-mid .elm-orbit-track{opacity:.8;transform:rotate(36deg)}.elm-orbit-shell-inner .elm-orbit-track{opacity:.9;transform:rotate(-28deg)}
.elm-source-visual.is-active .elm-orbit-shell-outer{animation:elmOrbitAssemble .75s .35s cubic-bezier(.2,.9,.2,1) forwards}
.elm-source-visual.is-active .elm-orbit-shell-mid{animation:elmOrbitAssemble .75s .52s cubic-bezier(.2,.9,.2,1) forwards}
.elm-source-visual.is-active .elm-orbit-shell-inner{animation:elmOrbitAssemble .75s .68s cubic-bezier(.2,.9,.2,1) forwards}
.elm-source-visual.is-active .elm-orbit-shell-outer .elm-orbit-track{animation:elmOrbitRotate 28s 1.15s linear infinite}
.elm-source-visual.is-active .elm-orbit-shell-mid .elm-orbit-track{animation:elmOrbitRotateReverse 21s 1.25s linear infinite}
.elm-source-visual.is-active .elm-orbit-shell-inner .elm-orbit-track{animation:elmOrbitRotate 15s 1.35s linear infinite}
.elm-axis{position:absolute;left:50%;top:53%;background:linear-gradient(90deg,transparent,rgba(111,201,225,.17),transparent);opacity:0;transform-origin:center;pointer-events:none}
.elm-axis-x{width:74%;height:1px;transform:translate(-50%,-50%)}.elm-axis-y{width:1px;height:74%;transform:translate(-50%,-50%);background:linear-gradient(180deg,transparent,rgba(111,201,225,.14),transparent)}
.elm-source-visual.is-active .elm-axis{animation:elmSoftAppear .8s .75s forwards}
.elm-data-node{position:absolute;width:11px;height:11px;border:1px solid rgba(143,232,233,.72);border-radius:50%;opacity:0;background:#0b2543;box-shadow:0 0 0 5px rgba(48,202,203,.06),0 0 16px rgba(48,202,203,.36)}
.elm-data-node span{position:absolute;inset:3px;border-radius:50%;background:#8fe8e9;box-shadow:0 0 10px #30cacb}
.elm-data-node-1{left:18%;top:31%}.elm-data-node-2{right:18%;top:35%}.elm-data-node-3{left:22%;bottom:25%}.elm-data-node-4{right:23%;bottom:22%}
.elm-source-visual.is-active .elm-data-node-1{animation:elmNodeIn .48s .82s forwards,elmNodePulse 2.6s 1.5s ease-in-out infinite}
.elm-source-visual.is-active .elm-data-node-2{animation:elmNodeIn .48s .96s forwards,elmNodePulse 2.9s 1.6s ease-in-out infinite}
.elm-source-visual.is-active .elm-data-node-3{animation:elmNodeIn .48s 1.1s forwards,elmNodePulse 3.1s 1.8s ease-in-out infinite}
.elm-source-visual.is-active .elm-data-node-4{animation:elmNodeIn .48s 1.24s forwards,elmNodePulse 2.7s 1.9s ease-in-out infinite}
.elm-model-core{position:absolute;left:50%;top:53%;width:188px;height:188px;transform:translate(-50%,calc(-50% + 90px)) scale(.72);opacity:0;z-index:5}
.elm-source-visual.is-active .elm-model-core{animation:elmCoreRise .9s .34s cubic-bezier(.12,.95,.24,1.16) forwards}
.elm-core-ripple{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(143,232,233,.34);opacity:0}.elm-core-ripple-b{inset:-20px;border-color:rgba(76,148,222,.18)}
.elm-source-visual.is-active .elm-core-ripple-a{animation:elmRipple 3.1s 1.4s ease-out infinite}.elm-source-visual.is-active .elm-core-ripple-b{animation:elmRipple 3.1s 2.1s ease-out infinite}
.elm-core-disc{position:absolute;inset:18px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 45% 35%,#16436f 0%,#0b2748 45%,#07172c 100%);border:1px solid rgba(143,232,233,.5);box-shadow:inset 0 0 26px rgba(69,177,207,.22),0 0 0 7px rgba(48,202,203,.045),0 0 38px rgba(48,202,203,.23)}
.elm-core-disc:before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px dashed rgba(143,232,233,.22);animation:elmOrbitRotate 18s linear infinite}
.elm-core-disc:after{content:"";position:absolute;inset:25px;border-radius:50%;background:radial-gradient(circle,rgba(143,232,233,.12),transparent 70%);filter:blur(2px)}
.elm-core-kicker,.elm-core-label{position:relative;z-index:2;font-family:Poppins,Pretendard,sans-serif;letter-spacing:.16em;color:#8fe8e9}.elm-core-kicker{font-size:9px;font-weight:600}.elm-core-label{font-size:8px;opacity:.72;margin-top:4px}.elm-core-disc strong{position:relative;z-index:2;font-family:Poppins,Pretendard,sans-serif;font-size:38px;line-height:1;color:#fff;letter-spacing:.02em;text-shadow:0 0 18px rgba(143,232,233,.22);margin-top:7px}
.elm-particles{position:absolute;left:25%;right:25%;top:50%;bottom:13%;z-index:4;pointer-events:none}.elm-particles i{position:absolute;left:var(--x);bottom:0;width:2px;height:2px;border-radius:50%;opacity:0;background:#8fe8e9;box-shadow:0 0 8px #30cacb}.elm-source-visual.is-active .elm-particles i{animation:elmParticleRise 2.8s calc(1.2s + var(--d)) ease-out infinite}
.elm-source-caption{position:absolute;left:50%;bottom:46px;transform:translateX(-50%) translateY(14px);opacity:0;display:flex;align-items:center;gap:10px;color:rgba(231,235,242,.62);font:600 11px/1 Poppins,Pretendard,sans-serif;letter-spacing:.14em;white-space:nowrap}.elm-source-caption span{width:28px;height:1px;background:linear-gradient(90deg,transparent,#30cacb)}.elm-source-visual.is-active .elm-source-caption{animation:elmCaptionIn .65s 1.15s forwards}
@keyframes elmVisualRise{0%{opacity:0;transform:translate3d(0,110px,0) scale(.92);filter:saturate(.92) blur(2px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:saturate(1) blur(0)}}
@keyframes elmOrbitAssemble{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes elmCoreRise{0%{opacity:0;transform:translate(-50%,calc(-50% + 90px)) scale(.72);filter:blur(5px)}65%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}
@keyframes elmOrbitRotate{to{transform:rotate(360deg)}}
@keyframes elmOrbitRotateReverse{from{transform:rotate(36deg)}to{transform:rotate(-324deg)}}
@keyframes elmSoftAppear{to{opacity:1}}
@keyframes elmGlowIn{to{opacity:1}}
@keyframes elmGlowBreathe{0%,100%{transform:scale(.9);opacity:.5}50%{transform:scale(1.1);opacity:.9}}
@keyframes elmNodeIn{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}
@keyframes elmNodePulse{0%,100%{box-shadow:0 0 0 5px rgba(48,202,203,.05),0 0 14px rgba(48,202,203,.25)}50%{box-shadow:0 0 0 8px rgba(48,202,203,.08),0 0 24px rgba(48,202,203,.48)}}
@keyframes elmRipple{0%{opacity:.36;transform:scale(.88)}75%,100%{opacity:0;transform:scale(1.42)}}
@keyframes elmParticleRise{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:.85}75%{opacity:.42}100%{opacity:0;transform:translateY(calc(0px - var(--h))) scale(1.2)}}
@keyframes elmCaptionIn{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes elmScan{0%,15%{transform:translateX(-120%)}65%,100%{transform:translateX(120%)}}
@media(max-width:1400px){.elm-source-visual{right:64px;width:520px;height:650px}.elm-model-core{width:164px;height:164px}.elm-core-disc strong{font-size:32px}}
@media(max-width:1000px){.elm-source-visual{position:relative;right:auto;bottom:auto;width:100%;height:min(720px,105vw);min-height:520px;margin-top:40px}.elm-model-core{width:170px;height:170px}.elm-source-caption{bottom:30px}}
@media(max-width:620px){.elm-source-visual{height:560px;border-radius:22px}.elm-orbit-shell-outer{width:88%}.elm-orbit-shell-mid{width:68%}.elm-orbit-shell-inner{width:48%}.elm-model-core{width:148px;height:148px}.elm-core-disc strong{font-size:28px}.elm-source-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.elm-source-visual,.elm-source-visual.is-active{opacity:1;transform:none;filter:none;animation:none}.elm-source-visual *{animation:none!important}.elm-orbit-shell{opacity:1;transform:translate(-50%,-50%) scale(1)}.elm-model-core{opacity:1;transform:translate(-50%,-50%)}.elm-data-node,.elm-axis,.elm-source-caption,.elm-source-glow{opacity:1}}

/* ELM upward assembly visual — bottom platform -> stacked layers -> ELM core */
.elm-source-visual{
  position:absolute;right:0;bottom:86px;width:680px;height:790px;
  overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;
  isolation:isolate;opacity:1;transform:none;filter:none;
}
.elm-source-visual::before{
  content:"";position:absolute;left:50%;bottom:4%;width:620px;height:620px;
  transform:translateX(-50%);border-radius:50%;pointer-events:none;z-index:-2;
  background:radial-gradient(circle,rgba(39,161,205,.18) 0,rgba(35,103,170,.08) 34%,transparent 68%);
  filter:blur(10px);opacity:.8;
}
.elm-source-visual.is-active{animation:none}
.elm-rise-halo{
  position:absolute;left:50%;bottom:70px;width:500px;height:220px;transform:translateX(-50%);
  border-radius:50%;background:radial-gradient(ellipse,rgba(92,242,255,.30),rgba(65,130,255,.12) 42%,transparent 72%);
  filter:blur(24px);opacity:0;z-index:0;
}
.elm-source-visual.is-active .elm-rise-halo{animation:elmRiseHalo .9s .08s ease-out forwards,elmRiseHaloPulse 3.6s 1.6s ease-in-out infinite}

.elm-rise-base{
  position:absolute;left:50%;bottom:28px;width:500px;height:176px;transform:translateX(-50%) scale(.72);
  opacity:0;z-index:2;filter:drop-shadow(0 0 20px rgba(81,217,255,.36));
}
.elm-base-ring{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;
  border:2px solid rgba(115,235,255,.78);box-shadow:0 0 12px rgba(77,209,255,.36),inset 0 0 14px rgba(76,132,255,.18);
}
.elm-base-ring-1{width:100%;height:100%}.elm-base-ring-2{width:82%;height:78%;border-color:rgba(92,123,255,.82)}
.elm-base-ring-3{width:62%;height:58%;border-color:rgba(77,229,255,.92)}.elm-base-ring-4{width:41%;height:38%;border-color:rgba(136,250,255,.98)}
.elm-base-ring::after{content:"";position:absolute;inset:9px;border-radius:50%;border:1px solid rgba(255,255,255,.14)}
.elm-base-core{position:absolute;left:50%;top:50%;width:104px;height:54px;transform:translate(-50%,-50%);border-radius:50%;background:#ddffff;box-shadow:0 0 18px #d7ffff,0 0 45px #47efff,0 0 95px rgba(93,100,255,.72)}
.elm-source-visual.is-active .elm-rise-base{animation:elmBaseAssemble .9s cubic-bezier(.15,.85,.2,1.15) forwards}
.elm-source-visual.is-active .elm-base-ring-1{animation:elmBaseSpin 18s 1s linear infinite}.elm-source-visual.is-active .elm-base-ring-2{animation:elmBaseSpinReverse 13s 1s linear infinite}

.elm-rise-beam{
  position:absolute;left:50%;bottom:102px;width:170px;height:0;transform:translateX(-50%);z-index:1;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(83,220,255,.10) 20%,rgba(136,250,255,.42) 50%,rgba(86,126,255,.12) 80%,transparent);
  clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);filter:blur(.2px) drop-shadow(0 0 18px rgba(70,217,255,.26));
}
.elm-source-visual.is-active .elm-rise-beam{animation:elmBeamGrow 1.25s .45s cubic-bezier(.16,.92,.22,1) forwards,elmBeamPulse 3.2s 1.8s ease-in-out infinite}

.elm-rise-stack{position:absolute;inset:0;z-index:3;pointer-events:none}
.elm-rise-layer{
  position:absolute;left:50%;width:326px;height:164px;opacity:0;
  transform:translate(-50%,175px) scale(.66);transform-origin:center;filter:blur(5px);
  --layer-y:50%;
}
.elm-rise-layer::before{
  content:"";position:absolute;inset:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:linear-gradient(135deg,rgba(28,84,142,.88),rgba(84,65,153,.80));
  border:1px solid rgba(130,238,255,.88);box-shadow:inset 0 0 34px rgba(116,216,255,.12),0 0 16px rgba(67,206,255,.12);
}
.elm-rise-layer::after{
  content:"";position:absolute;left:50%;top:50%;width:78%;height:1px;transform:translate(-50%,-50%) rotate(-30deg);
  background:linear-gradient(90deg,transparent,rgba(133,242,255,.32),transparent);
}
.elm-rise-layer span{position:absolute;inset:10px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:1px solid rgba(255,255,255,.08)}
.elm-rise-layer-4{top:61%;--targetY:0px}.elm-rise-layer-3{top:50%;--targetY:0px}.elm-rise-layer-2{top:39%;--targetY:0px}.elm-rise-layer-1{top:28%;--targetY:0px}
.elm-rise-layer-4::before{opacity:.50}.elm-rise-layer-3::before{opacity:.63}.elm-rise-layer-2::before{opacity:.77}.elm-rise-layer-1::before{opacity:.95}
.elm-source-visual.is-active .elm-rise-layer-4{animation:elmLayerRise .82s .70s cubic-bezier(.16,.94,.25,1.10) forwards}
.elm-source-visual.is-active .elm-rise-layer-3{animation:elmLayerRise .82s .92s cubic-bezier(.16,.94,.25,1.10) forwards}
.elm-source-visual.is-active .elm-rise-layer-2{animation:elmLayerRise .82s 1.14s cubic-bezier(.16,.94,.25,1.10) forwards}
.elm-source-visual.is-active .elm-rise-layer-1{animation:elmLayerRise .86s 1.36s cubic-bezier(.16,.94,.25,1.10) forwards}

.elm-rise-core{
  position:absolute;left:50%;top:11%;width:172px;height:92px;transform:translate(-50%,420px) scale(.7);opacity:0;z-index:5;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;
  background:radial-gradient(circle at 50% 42%,rgba(89,125,205,.96),rgba(29,57,106,.94) 58%,rgba(11,31,58,.98));
  border:1px solid rgba(134,243,255,.92);box-shadow:0 0 0 7px rgba(88,224,255,.08),0 0 26px rgba(73,229,255,.76),0 0 58px rgba(74,103,255,.54),inset 0 0 18px rgba(170,244,255,.18);
}
.elm-rise-core::before{content:"";position:absolute;inset:-13px;border-radius:50%;border:1px solid rgba(114,238,255,.25)}
.elm-rise-core .elm-core-kicker,.elm-rise-core .elm-core-label{font-family:Poppins,Pretendard,sans-serif;letter-spacing:.13em;color:#91eef3;position:relative;z-index:2}
.elm-rise-core .elm-core-kicker{font-size:8px;font-weight:600}.elm-rise-core .elm-core-label{font-size:7px;opacity:.72;margin-top:3px}
.elm-rise-core strong{font-family:Poppins,Pretendard,sans-serif;color:#fff;font-size:35px;line-height:1;letter-spacing:.02em;margin-top:5px;text-shadow:0 0 14px rgba(176,245,255,.52)}
.elm-source-visual.is-active .elm-rise-core{animation:elmCoreAscend 1.18s 1.55s cubic-bezier(.12,.97,.2,1.12) forwards,elmCoreHover 3.8s 2.9s ease-in-out infinite alternate}

.elm-rise-columns{position:absolute;left:16%;right:16%;bottom:94px;height:500px;z-index:4;pointer-events:none}
.elm-rise-columns i{position:absolute;left:var(--x);bottom:0;width:1px;height:0;background:linear-gradient(180deg,rgba(142,244,255,.88),rgba(89,207,255,.28),transparent);box-shadow:0 0 7px rgba(89,222,255,.45);opacity:0}
.elm-rise-columns i::after{content:"";position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:#baffff;box-shadow:0 0 10px #73edff}
.elm-source-visual.is-active .elm-rise-columns i{animation:elmColumnRise 1.7s calc(1.05s + var(--delay)) ease-out forwards,elmColumnFlicker 3.2s 3s ease-in-out infinite}

.elm-rise-caption{position:absolute;left:50%;bottom:4px;transform:translateX(-50%) translateY(10px);opacity:0;color:rgba(176,202,222,.55);font:600 10px/1 Poppins,Pretendard,sans-serif;letter-spacing:.18em;white-space:nowrap}
.elm-source-visual.is-active .elm-rise-caption{animation:elmCaptionUp .55s 2.4s forwards}

@keyframes elmBaseAssemble{0%{opacity:0;transform:translateX(-50%) scale(.55)}75%{opacity:1}100%{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes elmBeamGrow{0%{height:0;opacity:0}20%{opacity:.5}100%{height:520px;opacity:1}}
@keyframes elmBeamPulse{0%,100%{filter:blur(.2px) drop-shadow(0 0 12px rgba(70,217,255,.18));opacity:.62}50%{filter:blur(.2px) drop-shadow(0 0 25px rgba(70,217,255,.38));opacity:1}}
@keyframes elmLayerRise{0%{opacity:0;transform:translate(-50%,250px) scale(.60);filter:blur(7px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate(-50%,0) scale(1);filter:blur(0)}}
@keyframes elmCoreAscend{0%{opacity:0;transform:translate(-50%,470px) scale(.62);filter:blur(8px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate(-50%,0) scale(1);filter:blur(0)}}
@keyframes elmCoreHover{from{transform:translate(-50%,0)}to{transform:translate(-50%,-7px)}}
@keyframes elmColumnRise{0%{height:0;opacity:0}18%{opacity:.9}100%{height:var(--height);opacity:.62}}
@keyframes elmColumnFlicker{0%,100%{opacity:.35}50%{opacity:.78}}
@keyframes elmRiseHalo{to{opacity:1}}@keyframes elmRiseHaloPulse{0%,100%{transform:translateX(-50%) scale(.92);opacity:.45}50%{transform:translateX(-50%) scale(1.08);opacity:.85}}
@keyframes elmCaptionUp{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes elmBaseSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes elmBaseSpinReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}

@media(max-width:1400px){.elm-source-visual{right:30px;width:570px;height:720px}.elm-rise-base{width:430px;height:150px}.elm-rise-layer{width:286px;height:144px}.elm-rise-core{width:154px;height:82px}.elm-rise-beam{width:145px}}
@media(max-width:1000px){.elm-source-visual{position:relative;right:auto;bottom:auto;width:min(680px,100%);height:min(790px,112vw);min-height:610px;margin:54px auto 0}.elm-rise-caption{bottom:0}}
@media(max-width:620px){.elm-source-visual{height:600px;min-height:600px}.elm-rise-base{width:350px;height:126px}.elm-rise-layer{width:236px;height:118px}.elm-rise-core{width:134px;height:72px}.elm-rise-core strong{font-size:28px}.elm-rise-columns{left:12%;right:12%;height:390px}.elm-source-visual.is-active .elm-rise-beam{animation-name:elmBeamGrowMobile,elmBeamPulse}.elm-rise-caption{font-size:8px}}
@keyframes elmBeamGrowMobile{0%{height:0;opacity:0}20%{opacity:.5}100%{height:390px;opacity:1}}

@media(prefers-reduced-motion:reduce){
  .elm-source-visual,.elm-source-visual.is-active{opacity:1;transform:none;filter:none}
  .elm-rise-halo,.elm-rise-base,.elm-rise-beam,.elm-rise-layer,.elm-rise-core,.elm-rise-columns i,.elm-rise-caption{opacity:1!important;animation:none!important}
  .elm-rise-base{transform:translateX(-50%) scale(1)}.elm-rise-beam{height:520px}.elm-rise-layer{transform:translate(-50%,0) scale(1);filter:none}.elm-rise-core{transform:translate(-50%,0) scale(1);filter:none}.elm-rise-columns i{height:var(--height)}.elm-rise-caption{transform:translateX(-50%)}
}

/* ELM rise visual v3 — top ELM core docked into the first glass layer */
.elm-source-visual{
  width:700px;height:800px;right:-6px;bottom:194px;
  perspective:1100px;
}
.elm-source-visual::before{
  width:660px;height:660px;bottom:1%;
  background:
    radial-gradient(circle at 50% 72%,rgba(76,235,255,.17) 0,rgba(66,132,255,.08) 26%,transparent 58%),
    radial-gradient(circle at 50% 34%,rgba(90,92,255,.08),transparent 52%);
  filter:blur(7px);opacity:.95;
}
.elm-rise-halo{bottom:58px;width:540px;height:228px;filter:blur(28px)}

.elm-rise-base{bottom:22px;width:520px;height:182px;filter:drop-shadow(0 0 24px rgba(72,224,255,.42))}
.elm-base-ring{border-width:1px;background:radial-gradient(ellipse at center,transparent 54%,rgba(91,233,255,.045) 56%,transparent 72%)}
.elm-base-ring-1{border-color:rgba(119,238,255,.92);box-shadow:0 0 14px rgba(71,224,255,.38),inset 0 0 24px rgba(78,101,255,.14)}
.elm-base-ring-2{border-color:rgba(104,132,255,.88)}
.elm-base-ring-3{border-color:rgba(85,233,255,.98)}
.elm-base-ring-4{border-color:rgba(184,255,255,.98)}
.elm-base-core{width:112px;height:58px;background:radial-gradient(ellipse,#f1ffff 0,#c9ffff 24%,#62f1ff 54%,rgba(73,116,255,.35) 74%,transparent 75%);box-shadow:0 0 18px #e9ffff,0 0 48px #52efff,0 0 112px rgba(68,91,255,.76)}

.elm-rise-beam{bottom:102px;width:190px;filter:blur(.15px) drop-shadow(0 0 24px rgba(66,228,255,.34));background:linear-gradient(90deg,transparent,rgba(75,224,255,.06) 10%,rgba(128,242,255,.28) 38%,rgba(194,253,255,.45) 50%,rgba(91,137,255,.19) 66%,transparent 100%)}

.elm-rise-layer{width:342px;height:166px;filter:blur(6px) drop-shadow(0 10px 16px rgba(0,0,0,.12))}
.elm-rise-layer::before{
  background:
    linear-gradient(145deg,rgba(41,113,170,.58),rgba(70,70,151,.56)),
    linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,0));
  border:1px solid rgba(133,239,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -18px 38px rgba(11,30,68,.18),0 0 18px rgba(65,208,255,.13);
}
.elm-rise-layer::after{height:1px;width:72%;opacity:.9;background:linear-gradient(90deg,transparent,rgba(177,249,255,.48),rgba(117,139,255,.26),transparent)}
.elm-rise-layer span{inset:9px;border-color:rgba(225,255,255,.10);box-shadow:inset 0 0 18px rgba(98,220,255,.04)}
.elm-rise-layer-4{top:61.5%}.elm-rise-layer-3{top:50.2%}.elm-rise-layer-2{top:38.9%}.elm-rise-layer-1{top:27.2%}
.elm-rise-layer-4::before{opacity:.42}.elm-rise-layer-3::before{opacity:.57}.elm-rise-layer-2::before{opacity:.73}.elm-rise-layer-1::before{opacity:1}

/* The ELM element is now physically part of the top layer instead of floating above it. */
.elm-rise-layer-main{z-index:5}
.elm-rise-layer-main::before{
  background:
    radial-gradient(ellipse at 50% 49%,rgba(112,237,255,.20) 0,rgba(91,117,212,.12) 27%,transparent 49%),
    linear-gradient(145deg,rgba(37,101,162,.88),rgba(77,69,151,.79));
  border-color:rgba(143,244,255,.96);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),inset 0 0 42px rgba(95,218,255,.11),0 0 22px rgba(68,214,255,.18),0 14px 32px rgba(0,12,30,.18)
}
.elm-layer-core{
  position:absolute;left:50%;top:50%;z-index:8;width:148px;height:88px;
  transform:translate(-50%,-50%) scale(.76);opacity:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;
  background:radial-gradient(ellipse at 50% 42%,rgba(103,139,222,.98),rgba(32,61,117,.97) 58%,rgba(11,29,57,.99));
  border:1px solid rgba(151,247,255,.98);
  box-shadow:0 0 0 6px rgba(88,224,255,.07),0 0 26px rgba(73,229,255,.72),0 0 58px rgba(77,91,255,.42),inset 0 0 18px rgba(193,251,255,.22)
}
.elm-layer-core::before{
  content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(128,238,255,.26);box-shadow:inset 0 0 12px rgba(99,230,255,.08)
}
.elm-layer-core::after{
  content:"";position:absolute;left:50%;bottom:-20px;width:94px;height:30px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(ellipse,rgba(113,244,255,.30),transparent 70%);filter:blur(5px)
}
.elm-layer-core-ring{position:absolute;inset:-18px;border:1px dashed rgba(138,241,255,.25);border-radius:50%;opacity:.55}
.elm-layer-core .elm-core-kicker,.elm-layer-core .elm-core-label{font-family:Poppins,Pretendard,sans-serif;letter-spacing:.14em;color:#a1f5fa;position:relative;z-index:2}
.elm-layer-core .elm-core-kicker{font-size:7px;font-weight:600}.elm-layer-core .elm-core-label{font-size:6px;opacity:.70;margin-top:3px}
.elm-layer-core strong{font-family:Poppins,Pretendard,sans-serif;color:#fff;font-size:34px;line-height:1;letter-spacing:.025em;margin-top:4px;position:relative;z-index:2;text-shadow:0 0 14px rgba(187,250,255,.60)}
.elm-source-visual.is-active .elm-layer-core{animation:elmCoreDock .65s 1.72s cubic-bezier(.15,.9,.22,1.12) forwards,elmCoreDockPulse 3.6s 2.65s ease-in-out infinite}
.elm-source-visual.is-active .elm-layer-core-ring{animation:elmCoreRingSpin 14s 2.4s linear infinite}

.elm-layer-circuit{position:absolute;z-index:7;top:50%;height:1px;width:64px;opacity:0;background:linear-gradient(90deg,transparent,rgba(154,246,255,.74),transparent)}
.elm-layer-circuit::after{content:"";position:absolute;right:3px;top:-2px;width:5px;height:5px;border-radius:50%;background:#b9ffff;box-shadow:0 0 10px rgba(112,244,255,.9)}
.elm-layer-circuit-a{left:18%;transform:translateY(-50%) rotate(18deg)}
.elm-layer-circuit-b{right:18%;transform:translateY(-50%) rotate(162deg)}
.elm-source-visual.is-active .elm-layer-circuit{animation:elmCircuitOn .5s 2.05s forwards,elmCircuitBreath 2.8s 2.8s ease-in-out infinite}

/* Slender energy columns tie every deck together so the stack reads as one assembled system. */
.elm-rise-columns{left:17%;right:17%;bottom:92px;height:505px;z-index:4}
.elm-rise-columns i{background:linear-gradient(180deg,rgba(195,255,255,.94),rgba(89,220,255,.38) 26%,rgba(83,112,255,.14) 68%,transparent);box-shadow:0 0 9px rgba(92,232,255,.46)}
.elm-rise-columns i::after{width:4px;height:4px;left:-1.5px;background:#e1ffff;box-shadow:0 0 9px #8af5ff,0 0 18px rgba(91,116,255,.55)}

.elm-rise-traces{position:absolute;left:23%;right:23%;bottom:104px;height:485px;z-index:6;pointer-events:none;overflow:hidden}
.elm-rise-traces i{position:absolute;left:var(--x);bottom:-12px;width:1px;height:20px;opacity:0;background:linear-gradient(180deg,rgba(219,255,255,.95),rgba(80,222,255,.25),transparent);box-shadow:0 0 8px rgba(104,238,255,.55)}
.elm-source-visual.is-active .elm-rise-traces i{animation:elmTraceRise 3.2s calc(1.65s + var(--d)) cubic-bezier(.2,.72,.2,1) infinite}

.elm-rise-caption{bottom:1px;color:rgba(174,211,228,.50);font-size:9px;letter-spacing:.20em}

@keyframes elmCoreDock{0%{opacity:0;transform:translate(-50%,-50%) scale(.62);filter:blur(7px)}65%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}
@keyframes elmCoreDockPulse{0%,100%{box-shadow:0 0 0 6px rgba(88,224,255,.06),0 0 23px rgba(73,229,255,.58),0 0 50px rgba(77,91,255,.34),inset 0 0 18px rgba(193,251,255,.18)}50%{box-shadow:0 0 0 7px rgba(88,224,255,.10),0 0 34px rgba(73,229,255,.84),0 0 72px rgba(77,91,255,.50),inset 0 0 24px rgba(193,251,255,.28)}}
@keyframes elmCoreRingSpin{to{transform:rotate(360deg)}}
@keyframes elmCircuitOn{to{opacity:1}}@keyframes elmCircuitBreath{0%,100%{opacity:.38}50%{opacity:1}}
@keyframes elmTraceRise{0%{transform:translateY(0) scaleY(.45);opacity:0}12%{opacity:.75}72%{opacity:.42}100%{transform:translateY(-455px) scaleY(1.35);opacity:0}}

@media(max-width:1400px){
  .elm-source-visual{right:12px;width:590px;height:730px}
  .elm-rise-base{width:440px;height:154px}
  .elm-rise-layer{width:292px;height:142px}
  .elm-layer-core{width:130px;height:78px}.elm-layer-core strong{font-size:30px}
  .elm-rise-beam{width:152px}.elm-rise-columns{height:455px}.elm-rise-traces{height:440px}
}
@media(max-width:1000px){.elm-source-visual{right:auto;bottom:auto;width:min(700px,100%);height:min(800px,115vw)}}
@media(max-width:620px){
  .elm-source-visual{height:610px;min-height:610px}
  .elm-rise-base{width:360px;height:128px}.elm-rise-layer{width:244px;height:118px}
  .elm-layer-core{width:112px;height:68px}.elm-layer-core strong{font-size:26px}
  .elm-rise-columns{height:390px}.elm-rise-traces{height:378px}
}
@media(prefers-reduced-motion:reduce){
  .elm-layer-core,.elm-layer-circuit,.elm-rise-traces i{opacity:1!important;animation:none!important}
  .elm-layer-core{transform:translate(-50%,-50%) scale(1)}
}

/* =========================================================
   ELM motion v4 — energetic bottom-to-top assembly
   Fixes the top beam overflow and adds high-fidelity motion.
   ========================================================= */
.elm-source-visual{
  --elm-beam-target:calc(72.8% - 102px);
  contain:layout style;
}

/* Beam now terminates exactly at the top deck instead of protruding above it. */
.elm-rise-beam{
  height:0;
  max-height:var(--elm-beam-target);
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 91%,rgba(0,0,0,.72) 96%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0%,#000 91%,rgba(0,0,0,.72) 96%,transparent 100%);
}
.elm-rise-beam::before,
.elm-rise-beam::after{
  content:"";position:absolute;left:50%;bottom:-8%;width:34%;height:116%;transform:translateX(-50%);
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.06) 12%,rgba(145,248,255,.72) 50%,rgba(90,146,255,.08) 82%,transparent 100%);
  filter:blur(3px);opacity:0;mix-blend-mode:screen;
}
.elm-rise-beam::after{width:9%;filter:blur(1px);background:linear-gradient(180deg,transparent,rgba(225,255,255,.96) 46%,rgba(90,231,255,.12),transparent)}
.elm-source-visual.is-active .elm-rise-beam{
  animation:elmBeamGrowV4 1.32s .38s cubic-bezier(.12,.95,.22,1) forwards,elmBeamPulseV4 2.25s 1.72s ease-in-out infinite!important;
}
.elm-source-visual.is-active .elm-rise-beam::before{animation:elmBeamSweep 1.55s 1.3s ease-in-out infinite}
.elm-source-visual.is-active .elm-rise-beam::after{animation:elmBeamSweep 1.1s 1.55s ease-in-out infinite reverse}

/* Launch shockwaves from the base. */
.elm-rise-pulses{position:absolute;left:50%;bottom:22px;width:520px;height:182px;transform:translateX(-50%);z-index:1;pointer-events:none}
.elm-rise-pulses i{position:absolute;left:50%;top:50%;width:40%;height:34%;transform:translate(-50%,-50%) scale(.42);border:1px solid rgba(113,239,255,.92);border-radius:50%;opacity:0;box-shadow:0 0 12px rgba(80,229,255,.45),inset 0 0 12px rgba(89,108,255,.15)}
.elm-source-visual.is-active .elm-rise-pulses i:nth-child(1){animation:elmPulseLaunch 2.55s .42s cubic-bezier(.12,.65,.28,1) infinite}
.elm-source-visual.is-active .elm-rise-pulses i:nth-child(2){animation:elmPulseLaunch 2.55s 1.22s cubic-bezier(.12,.65,.28,1) infinite}
.elm-source-visual.is-active .elm-rise-pulses i:nth-child(3){animation:elmPulseLaunch 2.55s 2.02s cubic-bezier(.12,.65,.28,1) infinite}

/* Fine light streaks travel through the main energy column. */
.elm-beam-streams{position:absolute;left:50%;bottom:100px;width:190px;height:var(--elm-beam-target);transform:translateX(-50%);z-index:4;pointer-events:none;overflow:hidden;clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.elm-beam-streams i{position:absolute;left:var(--sx);bottom:-60px;width:1px;height:54px;background:linear-gradient(180deg,transparent,rgba(224,255,255,.98),rgba(65,225,255,.22),transparent);box-shadow:0 0 9px rgba(107,244,255,.9);opacity:0}
.elm-source-visual.is-active .elm-beam-streams i{animation:elmBeamStream 1.9s calc(1.15s + var(--sd)) linear infinite}

/* Stronger staged deck entrance, then each deck remains subtly alive. */
.elm-source-visual.is-active .elm-rise-layer-4{animation:elmLayerLaunch .72s .64s cubic-bezier(.12,.98,.22,1.18) forwards,elmDeckHover4 4.8s 2.7s ease-in-out infinite!important}
.elm-source-visual.is-active .elm-rise-layer-3{animation:elmLayerLaunch .74s .84s cubic-bezier(.12,.98,.22,1.18) forwards,elmDeckHover3 4.4s 2.9s ease-in-out infinite!important}
.elm-source-visual.is-active .elm-rise-layer-2{animation:elmLayerLaunch .76s 1.04s cubic-bezier(.12,.98,.22,1.18) forwards,elmDeckHover2 4s 3.1s ease-in-out infinite!important}
.elm-source-visual.is-active .elm-rise-layer-1{animation:elmLayerLaunch .80s 1.24s cubic-bezier(.12,.98,.22,1.18) forwards,elmDeckHover1 3.7s 3.3s ease-in-out infinite!important}
.elm-rise-layer::before{will-change:filter,box-shadow}
.elm-source-visual.is-active .elm-rise-layer::before{animation:elmDeckGlow 3.4s 2.5s ease-in-out infinite}
.elm-source-visual.is-active .elm-rise-layer:nth-child(even)::before{animation-delay:3s}

/* Add a scanning light on the ELM core and make it feel like it powers on. */
.elm-layer-core{overflow:visible}
.elm-core-scan{position:absolute;inset:4px;border-radius:50%;overflow:hidden;z-index:3;pointer-events:none}
.elm-core-scan::before{content:"";position:absolute;left:-135%;top:-30%;width:52%;height:160%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(225,255,255,.58),transparent);filter:blur(2px);opacity:.8}
.elm-source-visual.is-active .elm-core-scan::before{animation:elmCoreScan 2.8s 2.3s cubic-bezier(.2,.7,.2,1) infinite}
.elm-source-visual.is-active .elm-layer-core{animation:elmCoreDockV4 .68s 1.62s cubic-bezier(.12,.98,.22,1.14) forwards,elmCorePower 2.25s 2.45s ease-in-out infinite!important}
.elm-source-visual.is-active .elm-layer-core-ring{animation:elmCoreRingSpin 7.5s 2s linear infinite!important}

/* Spark burst radiates from the core every few seconds. */
.elm-core-sparks{position:absolute;inset:0;z-index:1;pointer-events:none}
.elm-core-sparks i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#e6ffff;box-shadow:0 0 8px #8ff9ff,0 0 16px rgba(90,108,255,.9);opacity:0;transform:rotate(var(--a)) translateX(18px) scale(.35)}
.elm-source-visual.is-active .elm-core-sparks i{animation:elmCoreSpark 4.1s calc(2.03s + var(--sd)) cubic-bezier(.12,.7,.25,1) infinite}

/* Columns get a traveling highlight instead of just static flicker. */
.elm-rise-columns i{overflow:visible}
.elm-rise-columns i::before{content:"";position:absolute;left:-2px;bottom:-5px;width:5px;height:18px;border-radius:50%;background:linear-gradient(180deg,transparent,#dfffff,transparent);filter:blur(.7px);opacity:0}
.elm-source-visual.is-active .elm-rise-columns i::before{animation:elmColumnRunner 2.15s calc(1.85s + var(--delay)) linear infinite}
.elm-source-visual.is-active .elm-rise-columns i{animation:elmColumnRiseV4 1.48s calc(.86s + var(--delay)) cubic-bezier(.15,.8,.2,1) forwards,elmColumnFlickerV4 2.4s 2.8s ease-in-out infinite!important}

/* More kinetic base rings: counter-rotation + breathing scale. */
.elm-source-visual.is-active .elm-base-ring-1{animation:elmBaseSpin 9.5s .9s linear infinite,elmRingBreath 2.7s 1.65s ease-in-out infinite!important}
.elm-source-visual.is-active .elm-base-ring-2{animation:elmBaseSpinReverse 7.6s .9s linear infinite,elmRingBreath2 3.1s 1.65s ease-in-out infinite!important}
.elm-source-visual.is-active .elm-base-ring-3{animation:elmBaseSpin 5.8s 1s linear infinite,elmRingFlash 2.2s 1.7s ease-in-out infinite}
.elm-source-visual.is-active .elm-base-ring-4{animation:elmBaseSpinReverse 4.4s 1s linear infinite,elmRingFlash 1.8s 1.9s ease-in-out infinite}
.elm-source-visual.is-active .elm-base-core{animation:elmBaseCoreCharge 2.25s 1.2s ease-in-out infinite}

/* Make the vertical traces denser and faster, like live data ingestion. */
.elm-source-visual.is-active .elm-rise-traces i{animation:elmTraceRiseV4 2.35s calc(1.28s + var(--d)) cubic-bezier(.12,.72,.2,1) infinite!important}

@keyframes elmBeamGrowV4{0%{height:0;opacity:0;transform:translateX(-50%) scaleX(.42)}18%{opacity:.72}72%{opacity:1}100%{height:var(--elm-beam-target);opacity:.92;transform:translateX(-50%) scaleX(1)}}
@keyframes elmBeamPulseV4{0%,100%{filter:drop-shadow(0 0 12px rgba(70,217,255,.18));opacity:.55}50%{filter:drop-shadow(0 0 36px rgba(70,229,255,.58));opacity:1}}
@keyframes elmBeamSweep{0%{transform:translate(-50%,80%);opacity:0}18%{opacity:.95}72%{opacity:.55}100%{transform:translate(-50%,-82%);opacity:0}}
@keyframes elmPulseLaunch{0%{opacity:0;transform:translate(-50%,-50%) scale(.38)}12%{opacity:.85}70%{opacity:.22}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes elmBeamStream{0%{transform:translateY(0) scaleY(.4);opacity:0}10%{opacity:.95}75%{opacity:.55}100%{transform:translateY(calc(-1 * var(--elm-beam-target))) scaleY(1.35);opacity:0}}
@keyframes elmLayerLaunch{0%{opacity:0;transform:translate(-50%,320px) scale(.52);filter:blur(11px) brightness(.7)}48%{opacity:1;filter:blur(0) brightness(1.35)}78%{transform:translate(-50%,-9px) scale(1.025)}100%{opacity:1;transform:translate(-50%,0) scale(1);filter:blur(0) brightness(1)}}
@keyframes elmDeckHover1{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-5px)}}
@keyframes elmDeckHover2{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,3px)}}
@keyframes elmDeckHover3{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-3px)}}
@keyframes elmDeckHover4{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,4px)}}
@keyframes elmDeckGlow{0%,100%{filter:brightness(.94) saturate(.96);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 12px rgba(65,208,255,.08)}50%{filter:brightness(1.16) saturate(1.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 28px rgba(65,226,255,.25)}}
@keyframes elmCoreDockV4{0%{opacity:0;transform:translate(-50%,-50%) scale(.38);filter:blur(12px) brightness(2)}50%{opacity:1;filter:blur(0) brightness(1.5)}76%{transform:translate(-50%,-50%) scale(1.11)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}}
@keyframes elmCorePower{0%,100%{box-shadow:0 0 0 6px rgba(88,224,255,.06),0 0 22px rgba(73,229,255,.55),0 0 48px rgba(77,91,255,.32),inset 0 0 18px rgba(193,251,255,.18)}50%{box-shadow:0 0 0 9px rgba(88,224,255,.15),0 0 42px rgba(73,239,255,.98),0 0 90px rgba(86,91,255,.64),inset 0 0 30px rgba(222,255,255,.42)}}
@keyframes elmCoreScan{0%,12%{transform:translateX(0);opacity:0}22%{opacity:.9}58%{opacity:.55}72%,100%{transform:translateX(440%);opacity:0}}
@keyframes elmCoreSpark{0%,58%{opacity:0;transform:rotate(var(--a)) translateX(18px) scale(.35)}62%{opacity:1}73%{opacity:.75}86%,100%{opacity:0;transform:rotate(var(--a)) translateX(var(--r)) scale(1)}}
@keyframes elmColumnRunner{0%{transform:translateY(0);opacity:0}12%{opacity:1}100%{transform:translateY(calc(-1 * var(--height)));opacity:0}}
@keyframes elmColumnRiseV4{0%{height:0;opacity:0}20%{opacity:1}70%{opacity:.9}100%{height:var(--height);opacity:.62}}
@keyframes elmColumnFlickerV4{0%,100%{opacity:.30;filter:brightness(.8)}48%{opacity:.82;filter:brightness(1.35)}54%{opacity:.42}62%{opacity:.78}}
@keyframes elmRingBreath{0%,100%{scale:1;opacity:.72}50%{scale:1.045;opacity:1}}
@keyframes elmRingBreath2{0%,100%{scale:1;opacity:.66}50%{scale:.965;opacity:.98}}
@keyframes elmRingFlash{0%,100%{opacity:.52;filter:brightness(.85)}50%{opacity:1;filter:brightness(1.7)}}
@keyframes elmBaseCoreCharge{0%,100%{scale:.93;filter:brightness(.88)}50%{scale:1.12;filter:brightness(1.45)}}
@keyframes elmTraceRiseV4{0%{transform:translateY(0) scaleY(.3);opacity:0}8%{opacity:1}66%{opacity:.6}100%{transform:translateY(-455px) scaleY(1.7);opacity:0}}

@media(max-width:1400px){.elm-source-visual{--elm-beam-target:calc(72.8% - 102px)}.elm-rise-pulses{width:440px;height:154px}.elm-beam-streams{width:152px}}
@media(max-width:1000px){.elm-source-visual{--elm-beam-target:calc(72.8% - 102px)}}
@media(max-width:620px){.elm-source-visual{--elm-beam-target:calc(72.8% - 96px)}.elm-rise-pulses{width:360px;height:128px}.elm-beam-streams{width:122px;bottom:94px}}

@media(prefers-reduced-motion:reduce){
  .elm-rise-pulses,.elm-beam-streams,.elm-core-sparks{display:none!important}
  .elm-rise-beam{height:var(--elm-beam-target)!important;opacity:.75!important}
  .elm-rise-layer,.elm-layer-core,.elm-rise-columns i,.elm-base-ring,.elm-base-core{animation:none!important}
}

/* =========================================================
   ELM QUALITY v5 — material/depth pass
   - shorter rise beam
   - richer glass decks / beveled edges / micro circuits
   - premium core bezel and segmented energy platform
   - keeps energetic v4 motion while improving visual fidelity
   ========================================================= */
.elm-source-visual{
  --elm-beam-target:calc(68.6% - 102px);
  transform-style:preserve-3d;
}
.elm-source-visual::after{
  content:"";
  position:absolute;
  left:50%; bottom:74px;
  width:440px; height:560px;
  transform:translateX(-50%);
  z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 78%,rgba(94,238,255,.13),transparent 42%),
    linear-gradient(90deg,transparent 0,rgba(55,167,229,.025) 38%,rgba(134,242,255,.08) 50%,rgba(70,103,225,.035) 62%,transparent 100%);
  filter:blur(16px);
  opacity:.82;
}

/* Volumetric beam: shorter, narrower and more optical than a flat cone. */
.elm-rise-beam{
  width:158px;
  max-height:var(--elm-beam-target);
  background:
    radial-gradient(ellipse at 50% 92%,rgba(205,255,255,.42),transparent 22%),
    linear-gradient(90deg,transparent 0%,rgba(57,178,238,.035) 13%,rgba(111,234,255,.12) 35%,rgba(226,255,255,.34) 49%,rgba(124,153,255,.11) 66%,rgba(65,103,220,.025) 84%,transparent 100%);
  filter:drop-shadow(0 0 16px rgba(77,226,255,.22));
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 86%,rgba(0,0,0,.45) 95%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0%,#000 86%,rgba(0,0,0,.45) 95%,transparent 100%);
}
.elm-rise-beam::before{width:27%;filter:blur(5px);opacity:.72}
.elm-rise-beam::after{width:4.5%;filter:blur(.35px);opacity:.8}
.elm-beam-streams{width:158px;height:var(--elm-beam-target);opacity:.82}
.elm-beam-streams i{height:42px;box-shadow:0 0 6px rgba(143,250,255,.72)}

/* Deck perspective: lower decks slightly smaller, top deck strongest. */
.elm-rise-layer-4{width:306px;height:150px}
.elm-rise-layer-3{width:318px;height:156px}
.elm-rise-layer-2{width:330px;height:161px}
.elm-rise-layer-1{width:344px;height:168px}
.elm-rise-layer{
  transform-style:preserve-3d;
  filter:blur(6px) drop-shadow(0 14px 20px rgba(0,6,22,.22));
}
.elm-rise-layer::before{
  background:
    radial-gradient(ellipse at 50% 43%,rgba(156,246,255,.11),transparent 42%),
    linear-gradient(150deg,rgba(42,118,176,.64) 0%,rgba(44,91,157,.58) 38%,rgba(75,69,151,.62) 72%,rgba(51,50,123,.66) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 34%);
  border:1px solid rgba(154,243,255,.73);
  box-shadow:
    inset 0 1px 0 rgba(240,255,255,.30),
    inset 0 -1px 0 rgba(50,70,145,.55),
    inset 0 -22px 42px rgba(8,27,64,.21),
    0 1px 0 rgba(175,250,255,.18),
    0 12px 28px rgba(0,8,29,.20),
    0 0 20px rgba(61,211,255,.10);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
/* A darker lower edge creates the impression of actual thickness. */
.elm-rise-layer::after{
  left:50%; top:51%; width:92%; height:7px;
  transform:translate(-50%,43px) rotate(0deg) skewX(-44deg);
  opacity:.62;
  background:linear-gradient(90deg,transparent 3%,rgba(31,73,135,.12) 14%,rgba(68,210,239,.38) 49%,rgba(54,61,142,.32) 78%,transparent 97%);
  filter:blur(.2px) drop-shadow(0 4px 7px rgba(0,4,20,.34));
  clip-path:polygon(7% 0,93% 0,100% 100%,0 100%);
}
.elm-rise-layer span{
  inset:8px;
  border-color:rgba(226,255,255,.13);
  background:
    repeating-linear-gradient(30deg,transparent 0 22px,rgba(128,235,255,.025) 23px 24px),
    repeating-linear-gradient(150deg,transparent 0 28px,rgba(111,128,255,.025) 29px 30px);
  box-shadow:inset 0 0 28px rgba(101,224,255,.035);
  overflow:hidden;
}
.elm-rise-layer span::before{
  content:"";position:absolute;inset:13% 14%;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:
    linear-gradient(90deg,transparent 49.5%,rgba(155,245,255,.10) 50%,transparent 50.5%),
    linear-gradient(0deg,transparent 49.5%,rgba(130,153,255,.09) 50%,transparent 50.5%);
  opacity:.72;
}
.elm-rise-layer span::after{
  content:"";position:absolute;left:-30%;top:-10%;width:36%;height:130%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(218,255,255,.24),transparent);
  filter:blur(3px);opacity:0;mix-blend-mode:screen;
}
.elm-source-visual.is-active .elm-rise-layer span::after{animation:elmDeckSheen 5.8s 2.6s ease-in-out infinite}
.elm-rise-layer-2 span::after{animation-delay:3.2s!important}.elm-rise-layer-3 span::after{animation-delay:3.8s!important}.elm-rise-layer-4 span::after{animation-delay:4.4s!important}

/* Top deck / ELM core gets a machined bezel and cleaner glass hierarchy. */
.elm-rise-layer-main::before{
  background:
    radial-gradient(ellipse at 50% 50%,rgba(143,248,255,.25) 0,rgba(95,166,224,.09) 27%,transparent 49%),
    linear-gradient(150deg,rgba(38,119,179,.86),rgba(47,91,164,.82) 43%,rgba(79,65,155,.82) 100%);
  border-color:rgba(171,250,255,.94);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -2px 0 rgba(48,66,145,.48),
    inset 0 0 52px rgba(97,225,255,.11),
    0 14px 34px rgba(0,9,33,.24),
    0 0 24px rgba(71,221,255,.17);
}
.elm-layer-core{
  width:150px;height:90px;
  background:
    radial-gradient(ellipse at 47% 36%,rgba(137,176,245,.98),rgba(55,86,153,.98) 35%,rgba(26,50,101,.99) 64%,rgba(8,25,53,1) 100%);
  border:1px solid rgba(197,255,255,.96);
  box-shadow:
    0 0 0 1px rgba(9,28,62,.95),
    0 0 0 5px rgba(113,235,255,.055),
    0 0 25px rgba(81,235,255,.64),
    0 0 64px rgba(83,100,255,.38),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -15px 24px rgba(3,17,43,.28);
}
.elm-layer-core::before{
  inset:-12px;
  border:1px solid rgba(145,244,255,.30);
  box-shadow:inset 0 0 0 4px rgba(22,74,126,.15),0 0 12px rgba(91,234,255,.12);
}
.elm-layer-core::after{
  bottom:-23px;width:108px;height:36px;
  background:radial-gradient(ellipse,rgba(139,249,255,.34) 0,rgba(68,129,255,.12) 42%,transparent 72%);
  filter:blur(7px);
}
.elm-layer-core-ring{
  inset:-18px;border:0;opacity:.8;
  background:conic-gradient(from 30deg,transparent 0 8%,rgba(141,247,255,.72) 9% 11%,transparent 12% 30%,rgba(91,129,255,.50) 31% 33%,transparent 34% 57%,rgba(141,247,255,.60) 58% 60%,transparent 61% 82%,rgba(119,154,255,.48) 83% 85%,transparent 86% 100%);
  -webkit-mask:radial-gradient(circle,transparent 66%,#000 67% 70%,transparent 71%);
  mask:radial-gradient(circle,transparent 66%,#000 67% 70%,transparent 71%);
}
.elm-layer-core strong{
  font-size:35px;letter-spacing:.035em;
  text-shadow:0 1px 0 rgba(255,255,255,.25),0 0 12px rgba(200,252,255,.72),0 0 26px rgba(92,217,255,.25);
}
.elm-layer-core .elm-core-kicker{font-size:7px;color:#b0f8fb;opacity:.92}.elm-layer-core .elm-core-label{color:#92dae8;opacity:.72}
.elm-core-scan{inset:7px;box-shadow:inset 0 0 18px rgba(102,224,255,.06)}

/* Platform: segmented optical rings, subtle depth and a hard luminous center. */
.elm-rise-base::before{
  content:"";position:absolute;left:50%;top:50%;width:76%;height:58%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(ellipse,rgba(98,231,255,.18),rgba(54,92,191,.08) 46%,transparent 72%);
  box-shadow:0 18px 40px rgba(0,5,26,.34);filter:blur(1px);z-index:-1;
}
.elm-rise-base::after{
  content:"";position:absolute;left:50%;top:50%;width:89%;height:78%;transform:translate(-50%,-50%);border-radius:50%;
  background:conic-gradient(from 8deg,transparent 0 9%,rgba(128,246,255,.66) 9.3% 10.2%,transparent 10.5% 24%,rgba(93,120,255,.55) 24.3% 25.4%,transparent 25.7% 42%,rgba(147,249,255,.62) 42.3% 43.2%,transparent 43.5% 62%,rgba(104,134,255,.56) 62.3% 63.4%,transparent 63.7% 81%,rgba(148,249,255,.62) 81.3% 82.2%,transparent 82.5% 100%);
  -webkit-mask:radial-gradient(ellipse,transparent 63%,#000 64% 66%,transparent 67%);
  mask:radial-gradient(ellipse,transparent 63%,#000 64% 66%,transparent 67%);
  opacity:.82;mix-blend-mode:screen;
}
.elm-base-ring{box-shadow:0 0 10px rgba(68,216,255,.25),inset 0 0 16px rgba(77,103,255,.10)}
.elm-base-ring::before{
  content:"";position:absolute;inset:-1px;border-radius:50%;
  background:conic-gradient(from 20deg,transparent 0 13%,rgba(174,252,255,.85) 13.4% 14.1%,transparent 14.5% 37%,rgba(105,132,255,.58) 37.4% 38.2%,transparent 38.6% 66%,rgba(173,252,255,.75) 66.4% 67.2%,transparent 67.6% 100%);
  -webkit-mask:radial-gradient(ellipse,transparent 70%,#000 71% 73%,transparent 74%);
  mask:radial-gradient(ellipse,transparent 70%,#000 71% 73%,transparent 74%);
}
.elm-base-core{
  width:116px;height:60px;
  background:radial-gradient(ellipse at 50% 42%,#f8ffff 0%,#d6ffff 17%,#76f4ff 39%,#47b7ef 59%,rgba(79,91,255,.22) 73%,transparent 76%);
  box-shadow:0 0 13px #f1ffff,0 0 34px #66f3ff,0 0 82px rgba(74,113,255,.72),0 0 140px rgba(57,163,255,.30);
}

/* Cleaner data columns and parallax: less visual noise, more precision. */
.elm-rise-columns{left:18%;right:18%;opacity:.82}
.elm-rise-columns i{width:1px;background:linear-gradient(180deg,rgba(223,255,255,.88),rgba(96,228,255,.32) 30%,rgba(85,111,255,.08) 73%,transparent)}
.elm-rise-columns i::after{width:3px;height:3px;left:-1px;box-shadow:0 0 7px #a9fbff,0 0 14px rgba(88,127,255,.45)}
.elm-rise-traces{opacity:.74}
.elm-rise-caption{opacity:.8;letter-spacing:.22em}

@keyframes elmDeckSheen{
  0%,12%{left:-42%;opacity:0}
  20%{opacity:.62}
  46%{opacity:.18}
  58%,100%{left:116%;opacity:0}
}

/* High-end motion tuning: less wobble, more intentional depth. */
@keyframes elmDeckHover1{0%,100%{transform:translate(-50%,0) translateZ(0)}50%{transform:translate(-50%,-3px) translateZ(7px)}}
@keyframes elmDeckHover2{0%,100%{transform:translate(-50%,0) translateZ(0)}50%{transform:translate(-50%,2px) translateZ(4px)}}
@keyframes elmDeckHover3{0%,100%{transform:translate(-50%,0) translateZ(0)}50%{transform:translate(-50%,-2px) translateZ(2px)}}
@keyframes elmDeckHover4{0%,100%{transform:translate(-50%,0) translateZ(0)}50%{transform:translate(-50%,2px) translateZ(0)}}

@media(max-width:1400px){
  .elm-source-visual{--elm-beam-target:calc(68.6% - 102px)}
  .elm-rise-layer-4{width:262px;height:128px}.elm-rise-layer-3{width:272px;height:132px}.elm-rise-layer-2{width:282px;height:137px}.elm-rise-layer-1{width:294px;height:143px}
  .elm-rise-beam,.elm-beam-streams{width:136px}
}
@media(max-width:1000px){.elm-source-visual{--elm-beam-target:calc(68.8% - 102px)}}
@media(max-width:620px){
  .elm-source-visual{--elm-beam-target:calc(68.8% - 96px)}
  .elm-rise-layer-4{width:218px;height:105px}.elm-rise-layer-3{width:226px;height:109px}.elm-rise-layer-2{width:234px;height:113px}.elm-rise-layer-1{width:244px;height:118px}
  .elm-rise-beam,.elm-beam-streams{width:112px}
}

/* === ELM visual V6: cleaner glass, 1px edge light, stronger 3D depth === */
.elm-source-visual{
  perspective:1100px;
  perspective-origin:50% 46%;
}
.elm-rise-stack{transform-style:preserve-3d}

/* Keep only the ELM wordmark in the core. */
.elm-layer-core{
  width:156px;
  height:94px;
  background:
    radial-gradient(ellipse at 50% 35%,rgba(193,224,255,.30),transparent 35%),
    linear-gradient(180deg,rgba(41,75,133,.62),rgba(8,24,57,.78));
  border:1px solid rgba(178,248,255,.94);
  box-shadow:
    0 0 0 1px rgba(14,41,82,.9),
    0 0 20px rgba(79,235,255,.48),
    0 0 52px rgba(72,102,255,.28),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -18px 34px rgba(0,12,39,.38),
    inset 0 0 32px rgba(74,210,255,.08);
  backdrop-filter:blur(5px) saturate(130%);
  -webkit-backdrop-filter:blur(5px) saturate(130%);
}
.elm-layer-core strong{
  margin:0;
  font-size:38px;
  font-weight:700;
  letter-spacing:.055em;
  color:#f8ffff;
  text-shadow:
    0 1px 0 rgba(255,255,255,.34),
    0 0 10px rgba(209,254,255,.72),
    0 0 26px rgba(94,225,255,.42),
    0 0 44px rgba(90,111,255,.20);
}
.elm-layer-core .elm-core-kicker,
.elm-layer-core .elm-core-label,
.elm-rise-caption{display:none!important}

/* Layer glass material: more transparent, sharper 1px perimeter and real side depth. */
.elm-rise-layer{
  filter:drop-shadow(0 18px 24px rgba(0,5,25,.24));
  transform-style:preserve-3d;
}
.elm-rise-layer::before{
  background:
    radial-gradient(ellipse at 50% 42%,rgba(142,241,255,.105),transparent 43%),
    linear-gradient(150deg,rgba(53,139,195,.30) 0%,rgba(46,92,160,.23) 40%,rgba(78,69,160,.26) 72%,rgba(40,43,112,.31) 100%),
    linear-gradient(180deg,rgba(255,255,255,.09),transparent 30%);
  border:1px solid rgba(141,239,255,.82);
  box-shadow:
    inset 0 1px 0 rgba(242,255,255,.24),
    inset 0 -1px 0 rgba(80,95,177,.30),
    inset 0 -28px 46px rgba(7,23,62,.13),
    0 0 0 .5px rgba(132,203,255,.14),
    0 9px 24px rgba(0,8,28,.18),
    0 0 16px rgba(64,218,255,.08);
  backdrop-filter:blur(4px) saturate(125%);
  -webkit-backdrop-filter:blur(4px) saturate(125%);
}
.elm-rise-layer::after{
  left:50%;
  top:51%;
  width:91%;
  height:9px;
  transform:translate(-50%,44px) skewX(-44deg);
  opacity:.72;
  background:linear-gradient(180deg,rgba(96,222,255,.38),rgba(31,58,126,.18) 46%,rgba(8,18,52,.50));
  border-bottom:1px solid rgba(90,208,244,.18);
  filter:drop-shadow(0 5px 8px rgba(0,4,20,.32));
}
.elm-rise-layer span{
  inset:7px;
  border:1px solid rgba(214,252,255,.09);
  background:
    linear-gradient(90deg,transparent 49.6%,rgba(126,230,255,.020) 50%,transparent 50.4%),
    linear-gradient(0deg,transparent 49.6%,rgba(119,139,255,.018) 50%,transparent 50.4%);
  box-shadow:inset 0 0 24px rgba(87,219,255,.025);
}

/* Layer hierarchy: top glass brighter, lower layers progressively more transparent. */
.elm-rise-layer-1::before{opacity:.93}
.elm-rise-layer-2::before{opacity:.76}
.elm-rise-layer-3::before{opacity:.63}
.elm-rise-layer-4::before{opacity:.50}
.elm-rise-layer-1{z-index:8}
.elm-rise-layer-2{z-index:7}
.elm-rise-layer-3{z-index:6}
.elm-rise-layer-4{z-index:5}
.elm-rise-layer-main::before{
  background:
    radial-gradient(ellipse at 50% 50%,rgba(149,246,255,.20) 0,rgba(91,163,225,.065) 30%,transparent 51%),
    linear-gradient(150deg,rgba(58,144,200,.40),rgba(45,89,160,.34) 43%,rgba(84,71,162,.38) 100%);
  border:1px solid rgba(171,248,255,.96);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.31),
    inset 0 -2px 0 rgba(48,66,145,.30),
    inset 0 0 44px rgba(95,221,255,.07),
    0 14px 32px rgba(0,8,31,.22),
    0 0 20px rgba(70,220,255,.13);
}

/* Add subtle perspective separation without changing the existing launch motion. */
.elm-rise-layer-1::before{transform:translateZ(18px)}
.elm-rise-layer-2::before{transform:translateZ(8px)}
.elm-rise-layer-3::before{transform:translateZ(0)}
.elm-rise-layer-4::before{transform:translateZ(-8px)}

/* Refined edge glints: short, controlled highlights on the perimeter. */
.elm-rise-layer span::before{
  background:
    linear-gradient(90deg,transparent 49.65%,rgba(176,249,255,.07) 50%,transparent 50.35%),
    linear-gradient(0deg,transparent 49.65%,rgba(137,158,255,.06) 50%,transparent 50.35%);
  opacity:.55;
}
.elm-rise-layer span::after{
  width:28%;
  background:linear-gradient(90deg,transparent,rgba(231,255,255,.18),transparent);
  filter:blur(2px);
}

/* Core ring is thinner and more premium, like an etched luminous rim. */
.elm-layer-core-ring{
  inset:-16px;
  opacity:.72;
  filter:drop-shadow(0 0 5px rgba(112,242,255,.42));
  -webkit-mask:radial-gradient(circle,transparent 68%,#000 69% 70%,transparent 71%);
  mask:radial-gradient(circle,transparent 68%,#000 69% 70%,transparent 71%);
}

/* Make the beam feel embedded in the stack instead of painted over it. */
.elm-rise-beam{
  opacity:.82;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 13px rgba(76,226,255,.18));
}
.elm-rise-beam::before{opacity:.52}
.elm-rise-beam::after{opacity:.68}
.elm-beam-streams{opacity:.68}

/* Softer platform reflections support the extra transparency above. */
.elm-rise-base{filter:drop-shadow(0 18px 32px rgba(0,5,25,.22))}
.elm-rise-base::before{opacity:.72}
.elm-rise-base::after{opacity:.68}
.elm-base-core{
  box-shadow:0 0 11px #f1ffff,0 0 30px #66f3ff,0 0 68px rgba(74,113,255,.58),0 0 115px rgba(57,163,255,.22);
}

@media(max-width:620px){
  .elm-layer-core{width:132px;height:80px}
  .elm-layer-core strong{font-size:31px}
}

/* === ELM visual V7: clean rounded glass diamonds / no stray internal lines === */
/* Remove decorative circuit strokes and horizontal thickness bars that read as stray lines. */
.elm-layer-circuit{display:none!important}
.elm-rise-layer::after{display:none!important}
.elm-rise-layer span::before{display:none!important}

/* Rebuild every deck as a rounded, perspective glass diamond rather than a hard clip-path polygon. */
.elm-rise-layer::before{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:72%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  clip-path:none!important;
  border-radius:20px!important;
  transform:translate(-50%,-50%) scaleY(.49) rotate(45deg)!important;
  transform-origin:center!important;
  border:1.5px solid rgba(146,240,255,.90)!important;
  background:
    radial-gradient(circle at 28% 22%,rgba(214,254,255,.13),transparent 28%),
    radial-gradient(circle at 68% 70%,rgba(94,101,221,.12),transparent 36%),
    linear-gradient(135deg,rgba(48,135,194,.28),rgba(45,87,157,.23) 44%,rgba(80,66,162,.27) 78%,rgba(39,42,111,.30))!important;
  box-shadow:
    inset 0 1px 0 rgba(242,255,255,.30),
    inset 0 -2px 0 rgba(55,73,151,.34),
    inset 0 0 34px rgba(97,226,255,.055),
    0 0 0 1px rgba(75,156,218,.12),
    0 10px 26px rgba(0,7,28,.24),
    0 0 18px rgba(74,218,255,.12)!important;
  backdrop-filter:blur(5px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(5px) saturate(128%)!important;
}

/* Inner etched rim follows the same rounded geometry, without crosshair/grid lines. */
.elm-rise-layer span{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:67%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  clip-path:none!important;
  transform:translate(-50%,-50%) scaleY(.49) rotate(45deg)!important;
  transform-origin:center!important;
  border-radius:17px!important;
  border:1px solid rgba(214,252,255,.13)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(85,215,255,.012) 45%,rgba(91,84,198,.022))!important;
  box-shadow:inset 0 0 22px rgba(89,222,255,.028)!important;
  overflow:hidden!important;
}

/* Keep only a very subtle moving glass sheen; no line-like highlights. */
.elm-rise-layer span::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:-42%!important;
  top:-15%!important;
  width:28%!important;
  height:130%!important;
  transform:skewX(-18deg)!important;
  background:linear-gradient(90deg,transparent,rgba(236,255,255,.12),transparent)!important;
  filter:blur(4px)!important;
  opacity:0;
  border:0!important;
}

/* Stronger top deck edge, progressively softer lower decks. */
.elm-rise-layer-1::before{
  border-color:rgba(180,250,255,.98)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -2px 0 rgba(57,74,157,.38),
    inset 0 0 42px rgba(97,226,255,.07),
    0 0 0 1px rgba(88,192,237,.18),
    0 13px 30px rgba(0,7,31,.26),
    0 0 24px rgba(73,224,255,.17)!important;
}
.elm-rise-layer-2::before{border-color:rgba(155,240,255,.88)!important}
.elm-rise-layer-3::before{border-color:rgba(139,225,250,.76)!important}
.elm-rise-layer-4::before{border-color:rgba(126,211,241,.64)!important}

/* Slightly rounder, cleaner core bezel to match the new deck material. */
.elm-layer-core{
  border:1.5px solid rgba(190,251,255,.96)!important;
  box-shadow:
    0 0 0 1px rgba(13,34,74,.88),
    0 0 0 5px rgba(103,226,255,.045),
    0 0 22px rgba(79,232,255,.52),
    0 0 55px rgba(82,105,255,.30),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -17px 30px rgba(3,17,43,.34)!important;
}

/* Avoid legacy pseudo transforms from earlier versions overriding the rounded deck geometry. */
.elm-rise-layer-1::before,
.elm-rise-layer-2::before,
.elm-rise-layer-3::before,
.elm-rise-layer-4::before{transform:translate(-50%,-50%) scaleY(.49) rotate(45deg)!important}

@media(max-width:620px){
  .elm-rise-layer::before{border-radius:16px!important;border-width:1.25px!important}
  .elm-rise-layer span{border-radius:14px!important}
}

/* HUMAN-LIKE INTERACTION — auto rotating tabs */
.interaction-content{position:absolute;left:0;right:0;top:90px;bottom:0}
.interaction-box .interaction-copy{top:93px;transition:opacity .26s ease,transform .26s ease}
.interaction-box .interaction-copy.is-switching{opacity:0;transform:translateY(8px)}
.interaction-standard-copy h3{font-size:40px;margin:0}
.interaction-standard-copy p{font-size:22px;line-height:1.55;color:var(--muted);margin:20px 0 0}
.interaction-environment{display:grid;grid-template-columns:1fr 1fr;gap:44px;width:650px}
.interaction-environment[hidden]{display:none}
.environment-group{min-width:0}
.environment-group h3{margin:0 0 22px;font-family:Poppins,'Pretendard Variable','Pretendard',sans-serif;font-size:34px;line-height:1.1;font-weight:700;color:var(--primary-dark);letter-spacing:-.02em}
.environment-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}
.environment-group li{font-size:19px;line-height:1.35;color:var(--body);font-weight:500;white-space:nowrap}
.interaction-box .tab{position:relative;transition:color .28s ease,font-weight .28s ease}
.interaction-box .tab:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--primary-dark);transform:scaleX(0);transform-origin:left center;transition:transform .35s ease}
.interaction-box .tab.active{border-bottom:0}
.interaction-box .tab.active:after{transform:scaleX(1)}
@media(max-width:1400px){
  .interaction-environment{width:580px;gap:28px}
  .environment-group h3{font-size:30px}
  .environment-group li{font-size:17px}
}
@media(max-width:1000px){
  .interaction-content{position:relative;top:auto;bottom:auto;padding:42px 30px 36px}
  .interaction-box{height:auto;overflow:visible}
  .interaction-box .interaction-copy{position:relative;left:auto;top:auto;margin-bottom:28px}
  .interaction-img{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:807/511}
  .interaction-environment{width:100%;grid-template-columns:1fr 1fr}
  .tabs{gap:10px;overflow-x:auto;grid-template-columns:repeat(5,minmax(170px,1fr))}
}
@media(max-width:620px){
  .interaction-environment{grid-template-columns:1fr;gap:28px}
  .environment-group h3{font-size:27px;margin-bottom:15px}
  .environment-group li{font-size:16px;white-space:normal}
}
/* Preserve the original image vertical position after wrapping the content. */
.interaction-box .interaction-img{top:82px}
@media(max-width:1000px){.interaction-box .interaction-img{top:auto}}

/* === 2026-08-11 refinement: vertical environment layout + ELM containment === */
/* 운영 환경: CURRENT / EXPANDING을 왼쪽 콘텐츠처럼 세로 흐름으로 정렬 */
.interaction-environment{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:30px;
  width:620px;
}
.interaction-environment[hidden]{display:none}
.environment-group{width:100%;min-width:0}
.environment-group h3{
  margin:0 0 14px;
  color:#1a1a1a;
  font-size:40px;
  line-height:1.1;
  font-weight:700;
}
.environment-group ul{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin:0;
  padding:0;
}
.environment-group li{
  font-size:22px;
  line-height:1.35;
  color:var(--body);
  font-weight:500;
}

/* ELM: 현재 비주얼/모션은 유지하면서 우측 전용 영역 안으로 다시 수납 */
@media(min-width:1401px){
  .elm-source-visual{
    right:18px;
    bottom:150px;
    width:650px;
    height:760px;
    max-width:650px;
  }
}
@media(min-width:1001px) and (max-width:1400px){
  .elm-source-visual{
    right:24px;
    bottom:118px;
    width:550px;
    height:680px;
    max-width:550px;
  }
}
@media(max-width:1000px){
  .interaction-environment{width:100%;gap:28px}
  .environment-group h3{font-size:40px}
  .environment-group li{font-size:22px;white-space:normal}
  .elm-source-visual{max-width:100%;margin-left:auto;margin-right:auto}
}
@media(max-width:620px){
  .interaction-environment{gap:24px}
  .environment-group h3{font-size:40px}
  .environment-group li{font-size:22px}
}


/* ELEA TECHNOLOGY responsive implementation — Figma 834:3591 / 834:3651 */
.tech-mobile,.tech-mobile-copy{display:none}
.tech-section .tech-heading{margin-bottom:50px}
.tech-section .tech-desc{margin-top:40px}
.tech-pc{position:relative;width:1134px;height:584px;margin:0 auto;display:grid;grid-template-columns:555px 555px;grid-template-rows:280px 280px;gap:24px}
.tech-pc-card{position:relative;overflow:hidden;background:#fff;border-radius:20px;box-shadow:0 0 8px rgba(0,0,0,.12)}
.tech-pc-text{position:absolute;z-index:3;top:40px;left:40px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.tech-pc-text .num{font-size:30px;line-height:1;font-weight:800;opacity:.5}
.tech-pc-text strong{font-size:34px;line-height:1.1;font-weight:800;white-space:nowrap}
.tech-pc-text p{margin:0;font-size:22px;line-height:1.5;color:#71767e;white-space:nowrap}
.tech-pc-01 .tech-pc-text{color:#30cacb}.tech-pc-02 .tech-pc-text{right:40px;left:auto;align-items:flex-end;text-align:right;color:#009a9f}
.tech-pc-04 .tech-pc-text{color:#64559b}.tech-pc-03 .tech-pc-text{right:40px;left:auto;align-items:flex-end;text-align:right;color:#3a64b4}
.tech-pc-card .tech-pc-art{position:absolute;z-index:1;width:465px;height:465px;max-width:none;object-fit:contain;transform:rotate(12deg)}
.tech-pc-01 .tech-pc-art{right:-190px;bottom:-285px}.tech-pc-02 .tech-pc-art{left:-190px;bottom:-285px}
.tech-pc-04 .tech-pc-art{right:-190px;top:-285px}.tech-pc-03 .tech-pc-art{left:-190px;top:-285px}
.tech-pc-center{position:absolute;z-index:5;left:50%;top:50%;width:222px;height:222px;transform:translate(-50%,-50%)}
.tech-pc-center img{width:100%;height:100%;object-fit:contain}.tech-pc-center strong{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#3a64b4;font-size:28px;line-height:1.1;font-weight:800}

@media(max-width:1180px) and (min-width:761px){
  .tech-pc{transform:scale(.82);transform-origin:top center;margin-bottom:-105px}
}

@media(max-width:760px){
  .tech-section{padding:70px 20px!important}
  .tech-section .wrap{max-width:none}
  .tech-pc,.tech-pc-copy{display:none!important}
  .tech-mobile,.tech-mobile-copy{display:block}
  .tech-section .tech-heading{margin-bottom:40px}
  .tech-section .eyebrow{font-size:16px;line-height:1.3;margin-bottom:10px}
  .tech-section .tech-title{font-size:32px;line-height:1.3;letter-spacing:-.03em}
  .tech-section .tech-desc{font-size:18px;line-height:1.5;margin-top:20px;color:#71767e;max-width:320px}
  .tech-mobile{width:100%}
  .tech-mobile-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}
  .tech-mobile-brand img{width:40px;height:40px;flex:0 0 40px}
  .tech-mobile-brand strong{font-size:28px;line-height:1.1;color:#3a64b4;font-weight:800;white-space:nowrap;letter-spacing:-.02em}
  .tech-mobile-list{display:flex;flex-direction:column;gap:10px;align-items:center}
  .tech-mobile-card{position:relative;width:320px;max-width:100%;height:140px;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.12)}
  .tech-mobile-card>img{position:absolute;left:0;top:-31px;width:40px;height:171px;max-width:none}
  .tech-mobile-card>div{position:absolute;left:60px;right:14px;top:13px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
  .tech-mobile-card span{font-size:18px;line-height:1;font-weight:800;opacity:.5}
  .tech-mobile-card strong{font-size:22px;line-height:1.1;font-weight:800}
  .tech-mobile-card p{margin:0;color:#71767e;font-size:18px;line-height:1.7;white-space:nowrap;letter-spacing:-.02em}
  .tmc-01 span,.tmc-01 strong{color:#30cacb}.tmc-02 span,.tmc-02 strong{color:#009a9f}.tmc-03 span{color:#597ab8}.tmc-03 strong{color:#3a64b4}.tmc-04 span,.tmc-04 strong{color:#64559b}
}

@media(max-width:380px){
  .tech-mobile-brand strong{font-size:26px}.tech-mobile-card p{font-size:17px}.tech-mobile-card>div{left:58px}
}

/* === 2026-08-11 ELM containment hard-fix ===
   Keep the current ELM art/motion intact, but physically confine it to the
   right-side visual viewport so no orbit, layer, beam, or glow can escape. */
.elm-visual-viewport{
  position:absolute;
  right:0;
  bottom:208px;
  width:650px;
  height:760px;
  isolation:isolate;
  pointer-events:none;
}
.elm-visual-viewport .elm-source-visual{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:700px!important;
  height:800px!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  transform:translate(-50%,-50%) scale(.88)!important;
  transform-origin:center center!important;
  overflow:visible!important;
}
/* Clip the outer effects at the viewport rather than clipping individual layers. */
.elm-visual-viewport::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0);
}

@media (min-width:1001px) and (max-width:1400px){
  .elm-visual-viewport{
    right:18px;
    bottom:92px;
    width:540px;
    height:680px;
  }
  .elm-visual-viewport .elm-source-visual{
    transform:translate(-50%,-50%) scale(.78)!important;
  }
}

@media (max-width:1000px){
  .elm-section{height:auto;min-height:1159px}
  .elm-inner{height:auto;min-height:1159px;padding-left:24px;padding-right:24px;padding-bottom:54px}
  .elm-copy,.feature-list{width:100%;max-width:760px}
  .elm-visual-viewport{
    position:relative;
    right:auto;
    bottom:auto;
    width:min(620px,100%);
    height:650px;
    margin:44px auto 0;
    overflow:hidden;
  }
  .elm-visual-viewport .elm-source-visual{
    width:700px!important;
    height:800px!important;
    transform:translate(-50%,-50%) scale(.74)!important;
  }
}

@media (max-width:620px){
  .elm-inner{padding-left:20px;padding-right:20px}
  .elm-visual-viewport{height:560px;margin-top:34px}
  .elm-visual-viewport .elm-source-visual{
    transform:translate(-50%,-50%) scale(.62)!important;
  }
}

/* ELEA LEARNING FLOW supplied copy */
.flow-caption{min-height:126px;transition:opacity .22s ease,transform .22s ease}
.flow-caption.is-switching{opacity:.18;transform:translateY(6px)}
.flow-caption p{max-width:807px;line-height:1.5}
.flow-tab{cursor:pointer}


/* ELEA LEARNING FLOW — 5-step image carousel */
.flow-image{position:relative;display:block;background:#fff}
.flow-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(8px) scale(.995);transition:opacity .42s ease,transform .42s ease,visibility 0s linear .42s;overflow:hidden;border-radius:inherit}
.flow-slide.active{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition-delay:0s;z-index:2}
.flow-slide>img{width:100%;height:100%;object-fit:cover;display:block}
.flow-slide-pair{display:grid;grid-template-columns:1fr 1fr}
.flow-slide-pair>img{width:100%;height:100%;object-fit:cover}
.flow-tab{transition:color .25s ease,border-color .25s ease,background-color .25s ease}
.flow-tab.active{background:linear-gradient(180deg,rgba(48,202,203,.035),rgba(48,202,203,0))}
@media(max-width:640px){.flow-slide-pair{grid-template-columns:1fr 1fr}.flow-slide>img{object-fit:cover}}

/* ELEA TECHNOLOGY - supplied card background artwork */
@media (min-width: 769px){
  .tech-pc-card{background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:100% 100%;}
  .tech-pc-01{background-image:url('../assets/images/technology-bg/tech-card-01.png');}
  .tech-pc-02{background-image:url('../assets/images/technology-bg/tech-card-02.png');}
  .tech-pc-03{background-image:url('../assets/images/technology-bg/tech-card-03.png');}
  .tech-pc-04{background-image:url('../assets/images/technology-bg/tech-card-04.png');}
  .tech-pc-card .tech-pc-art{display:none;}
}

/* === 2026-08-11 refinement: align glass decks toward ELM core + swap 03/04 card artwork === */
/* Keep the ELM core/motion in place and move only the rounded glass deck surfaces toward it. */
@media (min-width:1001px){
  .elm-rise-layer::before{left:66%!important;}
  .elm-rise-layer span{left:66%!important;}
}
@media (max-width:1000px){
  .elm-rise-layer::before{left:60%!important;}
  .elm-rise-layer span{left:60%!important;}
}

/* 03 / 04 supplied background artwork order swap. */
@media (min-width:769px){
  .tech-pc-03{background-image:url('../assets/images/technology-bg/tech-card-04.png')!important;}
  .tech-pc-04{background-image:url('../assets/images/technology-bg/tech-card-03.png')!important;}
}

/* === 2026-08-11 ELM centered glass stack refinement ===
   Reference intent: all glass decks, energy beam and ELM core share one vertical axis.
   Reverts the temporary deck-only horizontal offset that separated the ELM badge from the stack. */
.elm-rise-layer::before,
.elm-rise-layer span{
  left:50%!important;
}
.elm-rise-layer-main .elm-layer-core{
  left:50%!important;
  top:50%!important;
}
.elm-rise-beam,
.elm-beam-streams,
.elm-rise-base,
.elm-rise-halo{
  left:50%!important;
}
/* Keep the whole rising system on one optical center line. */
.elm-rise-columns,
.elm-rise-traces{
  margin-left:0!important;
  margin-right:0!important;
}
@media (min-width:1001px){
  .elm-rise-layer::before,
  .elm-rise-layer span{left:50%!important;}
}
@media (max-width:1000px){
  .elm-rise-layer::before,
  .elm-rise-layer span{left:50%!important;}
}

/* === 2026-08-11 ELM vertical spacing refinement ===
   User adjustment: move the four glass decks down by 10 percentage points,
   while lifting the ELM core 10 percentage points inside the top deck. */
.elm-rise-layer-4{top:71.5%!important;}
.elm-rise-layer-3{top:60.2%!important;}
.elm-rise-layer-2{top:48.9%!important;}
.elm-rise-layer-1{top:37.2%!important;}
.elm-rise-layer-main .elm-layer-core{top:40%!important;}

/* === 2026-08-11 ELM core final vertical alignment ===
   Desktop: place the ELM badge on the visual center of the top glass deck (user-marked point).
   Only the core position changes; deck stack, beam, base and all motion remain untouched. */
@media (min-width:1001px){
  .elm-rise-layer-main .elm-layer-core{
    top:-3%!important;
  }
}


/* === ELM feature-to-model connector lines ===
   Pure overlay only: does not move or resize the ELM visual. */
.elm-copy,.feature-list{position:relative;z-index:5}
.feature-list .feature{position:relative;z-index:5}
.elm-visual-viewport{z-index:2}
.elm-feature-connectors{
  position:absolute;
  z-index:4;
  left:642px;
  right:500px;
  top:535px;
  height:350px;
  width:auto;
  overflow:visible;
  pointer-events:none;
}
.elm-feature-connectors .elm-connector-base,
.elm-feature-connectors .elm-connector-flow{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.elm-feature-connectors .elm-connector-base{
  stroke:url(#elmConnectorStroke);
  stroke-width:1.35px;
  opacity:0;
  stroke-dasharray:100;
  stroke-dashoffset:100;
}
.elm-feature-connectors .elm-connector-flow{
  stroke:#B9FAFF;
  stroke-width:1.15px;
  opacity:0;
  stroke-dasharray:3 97;
  stroke-dashoffset:100;
  filter:url(#elmConnectorGlow);
}
.elm-feature-connectors .elm-connector-dot{
  fill:#83F3FA;
  opacity:0;
  filter:url(#elmConnectorGlow);
}
.feature-list.show + .elm-feature-connectors .elm-connector-base{
  animation:elmConnectorDraw .72s cubic-bezier(.2,.8,.2,1) forwards;
}
.feature-list.show + .elm-feature-connectors .elm-connector-2 .elm-connector-base{animation-delay:.12s}
.feature-list.show + .elm-feature-connectors .elm-connector-3 .elm-connector-base{animation-delay:.24s}
.feature-list.show + .elm-feature-connectors .elm-connector-dot{
  animation:elmConnectorDotIn .38s .48s ease-out forwards,elmConnectorDotPulse 2.4s 1.2s ease-in-out infinite;
}
.feature-list.show + .elm-feature-connectors .elm-connector-2 .elm-connector-dot{animation-delay:.60s,1.34s}
.feature-list.show + .elm-feature-connectors .elm-connector-3 .elm-connector-dot{animation-delay:.72s,1.48s}
.feature-list.show + .elm-feature-connectors .elm-connector-flow{
  animation:elmConnectorCurrent 2.6s 1.05s linear infinite;
}
.feature-list.show + .elm-feature-connectors .elm-connector-2 .elm-connector-flow{animation-delay:1.42s}
.feature-list.show + .elm-feature-connectors .elm-connector-3 .elm-connector-flow{animation-delay:1.79s}
@keyframes elmConnectorDraw{to{stroke-dashoffset:0;opacity:.82}}
@keyframes elmConnectorCurrent{0%{stroke-dashoffset:100;opacity:0}8%{opacity:.95}75%{opacity:.72}100%{stroke-dashoffset:0;opacity:0}}
@keyframes elmConnectorDotIn{0%{opacity:0;transform:scale(.35)}100%{opacity:1;transform:scale(1)}}
@keyframes elmConnectorDotPulse{0%,100%{opacity:.72}50%{opacity:1;filter:url(#elmConnectorGlow)}}

@media (min-width:1001px) and (max-width:1400px){
  .elm-feature-connectors{
    left:706px;
    right:500px;
    top:500px;
  }
}
@media (max-width:1000px){
  .elm-feature-connectors{display:none}
}
@media (prefers-reduced-motion:reduce){
  .elm-feature-connectors .elm-connector-base{opacity:.78;stroke-dashoffset:0;animation:none!important}
  .elm-feature-connectors .elm-connector-flow{display:none}
  .elm-feature-connectors .elm-connector-dot{opacity:.9;animation:none!important}
}


/* AI-Powered Textbook Experience — single composite image */
.textbook-exp .loop-stage{isolation:isolate;}
.textbook-exp .textbook-composite{
  position:absolute;
  left:50%;
  top:50%;
  width:520px;
  max-width:68%;
  transform:translate(-50%,-46%);
  z-index:2;
  pointer-events:none;
}
.textbook-exp .textbook-composite img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(7,19,30,.13));
}
.textbook-exp .orbit-node{z-index:3;}
@media(max-width:1400px){
  .textbook-exp .textbook-composite{width:500px;max-width:67%;}
}
@media(max-width:1000px){
  .textbook-exp .textbook-composite{width:520px;max-width:68%;}
}
@media(max-width:640px){
  .textbook-exp .textbook-composite{width:500px;max-width:66%;transform:translate(-50%,-46%);}
}

/* === 2026-08-11 ELM connector optical alignment refinement ===
   Keep connector starts on the vertical center of each feature card and route each line
   to its own ELM-side landing point so no segments overlap near the model visual. */
@media (min-width:1001px){
  .elm-feature-connectors{
    /* starts remain flush with the feature-card right edge; SVG Y points are row-centred */
    overflow:visible;
  }
  .elm-feature-connectors .elm-connector-base,
  .elm-feature-connectors .elm-connector-flow{
    stroke-width:1.25px;
  }
  .elm-feature-connectors .elm-connector-dot.start{r:4px}
  .elm-feature-connectors .elm-connector-dot.end{r:3.25px}
}

/* 2026-08-11 — Textbook Experience center artwork + orbit inset */
.textbook-exp .textbook-composite{
  width:430px;
}
@media (min-width:1001px){
  .textbook-exp .orbit-node.n1{left:50px;top:45px;}
  .textbook-exp .orbit-node.n2{right:50px;top:45px;}
  .textbook-exp .orbit-node.n3{right:50px;bottom:45px;}
  .textbook-exp .orbit-node.n4{left:50px;bottom:45px;}
}
@media(max-width:1400px) and (min-width:1001px){
  .textbook-exp .textbook-composite{width:430px;}
}

/* === 2026-08-11 ELEA TECHNOLOGY mobile — Figma 834:3705 ===
   2x2 technology cards + center hub + detail list. User-provided card art is used
   as the full card background; desktop implementation is unchanged. */
@media (max-width:760px){
  .tech-mobile{width:100%;}
  .tech-mobile-visual{
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,110px);
    gap:6px 8px;
    width:320px;
    max-width:100%;
    height:226px;
    margin:0 0 24px;
  }
  .tech-mobile-mini{
    position:relative;
    min-width:0;
    height:110px;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
    box-shadow:0 0 8px rgba(0,0,0,.12);
  }
  .tech-mobile-mini-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:fill;
    display:block;
    pointer-events:none;
  }
  .tech-mobile-mini-copy{
    position:absolute;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:6px;
    font-weight:800;
    letter-spacing:-.02em;
  }
  .tech-mobile-mini-copy span{font-size:14px;line-height:1;opacity:.5;}
  .tech-mobile-mini-copy strong{font-size:16px;line-height:1.1;font-weight:800;}
  .tmm-01 .tech-mobile-mini-copy{left:10px;top:10px;align-items:flex-start;text-align:left;color:#30cacb;}
  .tmm-02 .tech-mobile-mini-copy{right:10px;top:10px;align-items:flex-end;text-align:right;color:#009a9f;}
  .tmm-04 .tech-mobile-mini-copy{left:10px;bottom:10px;align-items:flex-start;text-align:left;color:#64559b;}
  .tmm-03 .tech-mobile-mini-copy{right:10px;bottom:10px;align-items:flex-end;text-align:right;color:#3a64b4;}
  .tech-mobile-center{
    position:absolute;
    z-index:5;
    left:50%;
    top:50%;
    width:100px;
    height:100px;
    transform:translate(-50%,-50%);
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(208,214,225,.78);
    box-shadow:0 2px 12px rgba(14,38,61,.16), inset 0 0 0 5px rgba(255,255,255,.72);
  }
  .tech-mobile-center::before{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:50%;
    border:1px solid rgba(58,100,180,.12);
  }
  .tech-mobile-center strong{
    position:relative;
    z-index:1;
    text-align:center;
    color:#3a64b4;
    font-size:15px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.02em;
  }
  .tech-mobile-details{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    width:320px;
    max-width:100%;
  }
  .tech-mobile-detail{display:flex;align-items:flex-start;gap:10px;min-width:0;}
  .tech-mobile-detail>span{
    flex:0 0 auto;
    font-size:21px;
    line-height:1.7;
    font-weight:700;
    letter-spacing:.01em;
    opacity:.55;
  }
  .tech-mobile-detail>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;}
  .tech-mobile-detail strong{font-size:21px;line-height:1.5;font-weight:700;letter-spacing:.01em;}
  .tech-mobile-detail p{margin:0;color:#71767e;font-size:16px;line-height:1.5;letter-spacing:.01em;white-space:normal;}
  .tmd-01>span,.tmd-01 strong{color:#30cacb;}
  .tmd-02>span,.tmd-02 strong{color:#009a9f;}
  .tmd-03>span,.tmd-03 strong{color:#3a64b4;}
  .tmd-04>span,.tmd-04 strong{color:#64559b;}
}

@media (max-width:360px){
  .tech-mobile-visual{grid-template-rows:repeat(2,calc((100vw - 48px) * .705));height:auto;aspect-ratio:320/226;}
  .tech-mobile-mini{height:auto;}
  .tech-mobile-mini-copy strong{font-size:15px;}
  .tech-mobile-detail strong{font-size:19px;}
  .tech-mobile-detail>span{font-size:19px;}
  .tech-mobile-detail p{font-size:15px;}
}


/* === Main AI-POWERED LEARNING EXPERIENCE sync === */
.main-learning-sync{padding:120px 0 0;background:#fff}
.main-learning-sync-head{width:1680px;max-width:calc(100% - 240px);margin:0 auto 80px}
.main-learning-sync-head .eyebrow{margin:0 0 10px;color:#24B3B3;font-family:Poppins,sans-serif;font-size:24px;line-height:1.3;font-weight:500}
.main-learning-sync-head h1{font-size:60px;line-height:1.3;letter-spacing:0;margin:0 0 40px;font-weight:700;color:#1A1A1A}
.main-learning-sync-head>p:last-child{font-size:24px;line-height:1.5;color:#71767E;margin:0;width:839px;max-width:100%}
.main-learning-sync-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #D0D6E1;border-bottom:1px solid #D0D6E1}
.main-learning-sync-card{height:510px;min-height:510px;padding:40px 40px 0;border-left:1px solid #D0D6E1;overflow:hidden}
.main-learning-sync-card:first-child{padding-left:120px}
.main-learning-sync-card:last-child{border-right:1px solid #D0D6E1}
.main-learning-sync-card span{display:block;font-size:24px;line-height:1.3;color:#C1C8D3;font-weight:700}
.main-learning-sync-card h3{font-size:40px;line-height:1.3;margin:20px 0 0;font-weight:700;color:#1A1A1A}
.main-learning-sync-card p{font-size:22px;line-height:1.5;color:#71767E;margin:20px 0 0}
.main-learning-sync-card img{display:block;width:100%;height:280px;margin-top:35px;object-fit:contain}

@media(max-width:1200px){
  .main-learning-sync-head{width:calc(100% - 80px);max-width:none}
  .main-learning-sync-head h1{font-size:44px}
  .main-learning-sync-card:first-child{padding-left:40px}
  .main-learning-sync-card:last-child{padding-right:40px}
}
@media(max-width:900px){
  .main-learning-sync{padding:80px 0 0}
  .main-learning-sync-head{width:calc(100% - 40px);margin-bottom:54px}
  .main-learning-sync-head h1{font-size:36px;margin-bottom:26px}
  .main-learning-sync-head>p:last-child{font-size:20px;width:auto}
  .main-learning-sync-grid{grid-template-columns:1fr 1fr;padding-bottom:0}
  .main-learning-sync-card,.main-learning-sync-card:first-child,.main-learning-sync-card:last-child{padding:34px 28px 20px;height:490px;min-height:490px}
  .main-learning-sync-card:nth-child(2n){border-right:1px solid #D0D6E1}
  .main-learning-sync-card:nth-child(n+3){border-top:1px solid #D0D6E1}
}
@media(max-width:560px){
  .main-learning-sync{padding:72px 0 0}
  .main-learning-sync-head{width:calc(100% - 40px);margin-bottom:38px}
  .main-learning-sync-head .eyebrow{font-size:15px;margin-bottom:10px}
  .main-learning-sync-head h1{font-size:31px;line-height:1.35;margin:0 0 20px}
  .main-learning-sync-head>p:last-child{font-size:16px;line-height:1.6;margin:0}
  .main-learning-sync-grid{display:block;padding-bottom:0;border-top:1px solid #D0D6E1;border-bottom:0}
  .main-learning-sync-card,.main-learning-sync-card:first-child,.main-learning-sync-card:last-child{height:auto;min-height:0;padding:30px 20px 34px;border-left:0;border-right:0;border-bottom:1px solid #D0D6E1;overflow:hidden}
  .main-learning-sync-card span{font-size:18px;line-height:1.3}
  .main-learning-sync-card h3{font-size:29px;line-height:1.25;margin:16px 0 0}
  .main-learning-sync-card p{font-size:15px;line-height:1.5;margin:12px 0 0}
  .main-learning-sync-card img{width:100%;height:210px;max-height:210px;object-fit:contain;margin:24px auto 0}
}


/* HUMAN-LIKE INTERACTION: synchronized tab image transition */
.interaction-box .interaction-img img{
  transition:opacity .28s ease, transform .42s cubic-bezier(.22,.61,.36,1);
}
.interaction-box .interaction-img.is-switching img{
  opacity:0;
  transform:scale(1.012);
}
@media (prefers-reduced-motion: reduce){
  .interaction-box .interaction-img img{transition:none!important;}
  .interaction-box .interaction-img.is-switching img{opacity:1!important;transform:none!important;}
}

/* 2026-08-14 ELEA TECHNOLOGY static image replacement (KOR) */
.tech-static-visual{width:1134px;max-width:100%;margin:0 auto;display:block}
.tech-static-visual picture,.tech-static-visual img{display:block;width:100%;height:auto}
@media(max-width:1180px) and (min-width:761px){
  .tech-static-visual{width:100%;max-width:1134px}
}
@media(max-width:760px){
  .tech-static-visual{width:100%;margin:0 auto}
  .tech-static-visual img{width:100%;height:auto;object-fit:contain}
}
