:root{--gt:linear-gradient(135deg,#FF6A00,#FF9A3C);--gb:linear-gradient(135deg,#FF6A00,#FF8833);--o:#FF6A00;--o2:#FF8F3C;--bg:#0A0A0A;--bg2:#111;--bg3:#181818;--t:#F5F1E8;--t2:#B9B1A6;--t3:#6B6560;--t4:#3D3A36;}
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;}
body{font-family:'Outfit','Noto Sans KR',sans-serif;background:var(--bg);color:var(--t);cursor:none;overflow-x:hidden;}
::selection{background:rgba(255,106,0,.3);color:#fff;}
::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--gb);border-radius:3px;}

.cd{width:8px;height:8px;background:var(--o);border-radius:50%;position:fixed;pointer-events:none;z-index:99999;mix-blend-mode:difference;transition:transform .32s cubic-bezier(.22,1,.36,1);}
.cd.big{transform:scale(1.7);}   /* inner dot grows gently & naturally on hover */
.cr{width:40px;height:40px;border:1.5px solid rgba(255,106,0,.5);border-radius:50%;position:fixed;pointer-events:none;z-index:99998;display:flex;align-items:center;justify-content:center;transition:width .2s,height .2s,background .2s;}
.ct{display:none;}   /* cursor text label removed (Explore / View …) */
.noise{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;}
#starCanvas{position:fixed;inset:0;z-index:0;pointer-events:none;}

/* CLICK BURST */
.burst{position:fixed;pointer-events:none;z-index:9997;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.25),rgba(255,143,60,.1),transparent 70%);animation:burstAni .6s ease-out forwards;}
@keyframes burstAni{0%{width:0;height:0;opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1);}100%{width:400px;height:400px;opacity:0;filter:blur(24px);transform:translate(-50%,-50%) scale(1);}}

/* LOADER */
#loader{position:fixed;inset:0;background:var(--bg);z-index:100000;display:flex;align-items:center;justify-content:center;overflow:hidden;}
#loader::before{content:'';position:absolute;width:560px;height:560px;max-width:90vw;max-height:90vw;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.12),transparent 62%);filter:blur(30px);animation:ldGlow 2.4s ease-in-out infinite;}
@keyframes ldGlow{0%,100%{opacity:.45;transform:scale(1);}50%{opacity:.85;transform:scale(1.12);}}
.ld-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
.ldl{display:flex;gap:1px;font-size:clamp(34px,6vw,54px);font-weight:900;letter-spacing:8px;padding-bottom:.08em;}
.ldl span{display:inline-block;background:var(--gt);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(46px);filter:blur(14px);will-change:transform,opacity,filter;}
.ld-sub{margin-top:20px;font-size:11px;letter-spacing:6px;text-transform:uppercase;color:var(--t3);opacity:0;}
.ldb{width:230px;height:2px;background:rgba(255,255,255,.06);margin-top:38px;border-radius:2px;overflow:hidden;position:relative;}
.ldf{height:100%;width:0;background:var(--gb);border-radius:2px;box-shadow:0 0 14px rgba(255,106,0,.7);}
.ld-pct{margin-top:14px;font-size:11px;letter-spacing:3px;color:var(--t3);font-variant-numeric:tabular-nums;opacity:0;}

nav{position:fixed;top:0;left:0;right:0;height:72px;z-index:9000;display:flex;align-items:center;padding:0 48px;transition:all .4s;}
nav.sc{background:rgba(10,10,10,.9);backdrop-filter:blur(24px);}
.nl{font-size:20px;font-weight:900;letter-spacing:4px;text-decoration:none;display:flex;align-items:center;}
.nl .logo-img{height:37px;width:auto;display:block;clip-path:inset(0 100% 0 0);animation:logoType .55s steps(10,end) .15s forwards;}
@keyframes logoType{to{clip-path:inset(0 0 0 0);}}
.nk{margin-left:auto;display:flex;gap:28px;list-style:none;}
.nk a{font-size:13px;color:var(--t3);text-decoration:none;transition:color .3s;cursor:none;}
.nk a:hover{color:var(--t);}
.nk a.on{color:var(--t);}
.nc{margin-left:28px;padding:10px 24px;border-radius:40px;font-size:12px;font-weight:700;cursor:none;transition:all .3s;text-decoration:none;background:var(--gb);color:var(--bg);letter-spacing:1px;}
.nc:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(255,106,0,.3);}
/* nav SERVICE dropdown */
.nk .has-drop{position:relative;}
.nk-top{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--t3);cursor:none;transition:color .3s;}
.nk-top svg{width:11px;height:11px;stroke:currentColor;fill:none;transition:transform .3s;}
.has-drop:hover .nk-top{color:var(--t);}
.has-drop:hover .nk-top svg{transform:rotate(180deg);}
.ndrop{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:210px;background:rgba(17,17,17,.97);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 16px 44px rgba(0,0,0,.55);}
.ndrop::before{content:'';position:absolute;top:-16px;left:0;right:0;height:16px;}
.has-drop:hover .ndrop{opacity:1;visibility:visible;transform:translateX(-50%);}
.ndrop a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;font-size:13px;color:var(--t2)!important;transition:all .2s;white-space:nowrap;}
.ndrop a:hover{background:rgba(255,106,0,.1);color:var(--t)!important;}
.ndrop a.on{color:var(--o2)!important;background:linear-gradient(135deg,rgba(255,106,0,.12),rgba(255,143,60,.04));}
.ndrop a .nd-en{font-size:10px;letter-spacing:1px;color:var(--t4);margin-left:auto;text-transform:uppercase;}
.ndrop .nd-div{height:1px;background:rgba(255,255,255,.05);margin:6px 8px;}

/* FLOATING CTA */
.float-cta{position:fixed;bottom:32px;right:32px;z-index:9500;display:flex;align-items:center;gap:10px;padding:14px 28px;background:var(--gb);border-radius:40px;color:var(--bg);font-size:13px;font-weight:700;cursor:none;transition:all .3s;box-shadow:0 4px 24px rgba(255,106,0,.25);text-decoration:none;opacity:0;transform:translateY(20px);}
.float-cta.show{opacity:1;transform:none;}
.float-cta:hover{transform:scale(1.05);box-shadow:0 8px 40px rgba(255,106,0,.35);}
.float-cta .fc-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:fcPulse 1.5s ease-in-out infinite;}
@keyframes fcPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.3);}}

section{position:relative;z-index:1;}
.g{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.label{font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;margin-bottom:28px;display:flex;align-items:center;gap:12px;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.label::before{content:'';width:24px;height:1px;background:var(--gb);flex-shrink:0;}
.rv{opacity:0;transform:translateY(40px);filter:blur(6px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1),filter .8s cubic-bezier(.4,0,.2,1);}
.rv.vis{opacity:1;transform:none;filter:blur(0);}
.rvd1{transition-delay:.12s!important;}.rvd2{transition-delay:.24s!important;}
.rvd3{transition-delay:.36s!important;}.rvd4{transition-delay:.48s!important;}

/* ===== HERO ===== */
#hero-wrap{height:275vh;position:relative;}
#hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
#hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:20vh;background:linear-gradient(to bottom,transparent,var(--bg));z-index:3;pointer-events:none;}
#hero3d{position:absolute;inset:0;z-index:1;overflow:hidden;}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform,opacity;}
.hero-orb:nth-child(1){width:520px;height:520px;background:radial-gradient(circle,rgba(255,106,0,.2),transparent 70%);top:14%;left:12%;animation:orbA 17s ease-in-out infinite;}
.hero-orb:nth-child(2){width:430px;height:430px;background:radial-gradient(circle,rgba(255,143,60,.16),transparent 70%);top:36%;right:8%;animation:orbB 21s ease-in-out infinite;}
.hero-orb:nth-child(3){width:340px;height:340px;background:radial-gradient(circle,rgba(255,106,0,.13),transparent 70%);bottom:6%;left:38%;animation:orbC 19s ease-in-out infinite;}
.hero-line-grid{position:absolute;inset:0;overflow:hidden;opacity:.06;}
.hero-line-grid::before{content:'';position:absolute;inset:-50%;width:200%;height:200%;background-image:linear-gradient(rgba(255,106,0,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,106,0,.3) 1px,transparent 1px);background-size:60px 60px;animation:gridDrift 20s linear infinite;}
@keyframes orbA{0%,100%{transform:translate(0,0) scale(1);opacity:.5;}30%{transform:translate(200px,110px) scale(1.18);opacity:.85;}62%{transform:translate(90px,230px) scale(.9);opacity:.45;}}
@keyframes orbB{0%,100%{transform:translate(0,0) scale(1);opacity:.5;}34%{transform:translate(-180px,70px) scale(1.12);opacity:.8;}68%{transform:translate(-90px,-140px) scale(.94);opacity:.42;}}
@keyframes orbC{0%,100%{transform:translate(0,0) scale(1);opacity:.48;}50%{transform:translate(-150px,-120px) scale(1.22);opacity:.72;}}
/* rotating aura ring — light sweeps around an elliptical band behind the hero */
@property --auraAngle{syntax:"<angle>";initial-value:0deg;inherits:false;}
.hero-aura{position:absolute;top:50%;left:50%;width:1450px;height:720px;max-width:160vw;transform:translate(-50%,-50%);pointer-events:none;z-index:0;will-change:background;
  background:conic-gradient(from var(--auraAngle) at 50% 50%,transparent 0deg,rgba(255,106,0,.55) 55deg,rgba(255,143,60,.2) 110deg,transparent 165deg,rgba(255,106,0,.42) 250deg,rgba(255,138,40,.18) 305deg,transparent 350deg);
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,transparent 38%,#000 54%,transparent 80%);
  mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,transparent 38%,#000 54%,transparent 80%);
  filter:blur(46px);opacity:.6;animation:heroAura 24s linear infinite;}
@keyframes heroAura{to{--auraAngle:360deg;}}
@keyframes gridDrift{to{transform:translate(60px,60px);}}
.hero-center{position:relative;z-index:3;text-align:center;width:100%;max-width:840px;padding:0 24px;transform:translateY(6vh);}
.hero-center::before{content:'';position:absolute;inset:-80px -30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 64% 58% at 50% 50%,rgba(6,4,3,.86),rgba(6,4,3,.5) 52%,transparent 80%);}
.hero-text1,.hero-text2{transition:opacity .5s,transform .5s,filter .5s;}
.hero-text1{font-size:clamp(17px,1.8vw,22px);color:#fff;opacity:1;line-height:1.7;margin-bottom:36px;font-weight:500;text-shadow:0 1px 8px rgba(0,0,0,.98),0 0 3px rgba(0,0,0,.95);}
.hero-text2{font-size:clamp(20px,2.2vw,28px);color:var(--t);line-height:1.6;margin-bottom:36px;font-weight:600;position:absolute;left:50%;top:0;transform:translateX(-50%);width:100%;opacity:0;transition:none;}
.hero-text2 .g{font-size:clamp(22px,2.5vw,32px);line-height:1.7;padding-bottom:.14em;display:inline-block;color:#fff;-webkit-text-fill-color:#fff;background:none;}
.hero-texts{position:relative;width:100%;}
.hero-btns{display:flex;gap:14px;justify-content:center;opacity:0;transform:translateY(16px);flex-wrap:wrap;}
.bp{position:relative;padding:16px 40px;background:var(--gb);border:none;border-radius:40px;color:var(--bg);font-size:14px;font-weight:700;cursor:none;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.bp:hover{transform:scale(1.05);box-shadow:0 0 40px rgba(255,106,0,.3);}
/* animated gradient outline — always on (no hover needed) */
@property --bpAngle{syntax:"<angle>";initial-value:0deg;inherits:false;}
@keyframes bpSpin{to{--bpAngle:360deg;}}
/* '아웃라인 그라데이션 효과' — animated dual-orange gradient border (child .gout element), shown on hover.
   dual bright arcs 180° apart travel the border; transparent base. reusable: add a <span class="gout"> child. */
.gout{position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:6;opacity:0;transition:opacity .4s;
  background:conic-gradient(from var(--bpAngle),transparent 0deg,transparent 50deg,#FF7A12 90deg,#FFB050 104deg,#FF7A12 118deg,transparent 158deg,transparent 230deg,#FF7A12 270deg,#FFB050 284deg,#FF7A12 298deg,transparent 338deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;}
.pl:hover .gout,.brc:hover .gout,.ec:hover .gout,.svc:hover .gout{opacity:1;animation:bpSpin 2.8s linear infinite;}
.bgh{padding:16px 28px;background:transparent;border:1px solid var(--t4);border-radius:40px;color:var(--t2);font-size:14px;font-weight:500;cursor:none;transition:all .3s;text-decoration:none;}
.bgh:hover{border-color:var(--o);color:var(--t);}
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;z-index:4;}
.hero-scroll span{font-size:10px;letter-spacing:3px;color:var(--t2);text-transform:uppercase;}
.hero-scroll .sl{width:1px;height:32px;background:linear-gradient(to bottom,transparent,var(--o));transform-origin:top;animation:sp 2s ease-in-out infinite;}
@keyframes sp{0%,100%{opacity:.3;transform:scaleY(.5);}50%{opacity:1;transform:scaleY(1);}}

/* STATEMENT */
#statement{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 80px;}
.st p{font-size:clamp(24px,3.2vw,42px);font-weight:300;line-height:1.55;color:var(--t4);max-width:900px;}
.st .word{display:inline-block;transition:color .4s;}.st .word.active{color:var(--t);}
.st .word.em{font-weight:600;}.st .word.em.active{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.kwf{margin-top:80px;overflow:hidden;border-top:1px solid rgba(255,255,255,.03);padding-top:36px;}
.kwt{display:flex;gap:56px;animation:kws 25s linear infinite;width:max-content;}
.kwt span{font-size:13px;letter-spacing:4px;color:var(--t4);text-transform:uppercase;white-space:nowrap;}
@keyframes kws{to{transform:translateX(-50%);}}

/* WHAT WE DO */
#whatwedo{padding:160px 0;}
#whatwedo .top{padding:0 80px 56px;}
.pillars{display:flex;min-height:520px;border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03);}
.pl{flex:1;padding:56px 44px;border-right:1px solid rgba(255,255,255,.03);transition:flex .6s cubic-bezier(.4,0,.2,1),background .4s;position:relative;overflow:hidden;cursor:none;}
.pl:last-child{border:none;}.pl:hover{flex:2.8;background:var(--bg3);}
.pl .pn{font-size:72px;font-weight:900;position:absolute;top:32px;right:32px;background:linear-gradient(135deg,rgba(255,106,0,.04),rgba(255,143,60,.02));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .4s;}
.pl:hover .pn{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.pl .plb{font-size:10px;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.pl h3{font-size:24px;font-weight:700;margin-bottom:20px;line-height:1.3;}
.pl .pd{font-size:14px;color:var(--t3);line-height:1.8;max-width:340px;opacity:0;transform:translateY(8px);transition:all .5s .1s;}
.pl:hover .pd{opacity:1;transform:none;color:var(--t2);}
.pl .pg{position:absolute;bottom:-120px;left:50%;width:450px;height:450px;background:radial-gradient(circle,rgba(255,106,0,.1),rgba(255,143,60,.04),transparent 70%);border-radius:50%;transform:translateX(-50%);opacity:0;transition:opacity .5s;}
.pl:hover .pg{opacity:1;}
.wwb{padding:80px 80px 0;max-width:760px;}.wwb p{font-size:17px;color:var(--t2);line-height:1.9;}

/* COMPARE */
#whymore{padding:180px 80px;}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;}
.cc{padding:48px 40px;border-radius:16px;position:relative;overflow:hidden;transition:transform .3s;}.cc:hover{transform:translateY(-4px);}
.cc.fade{background:linear-gradient(135deg,rgba(255,255,255,.02),rgba(255,255,255,.01));}
.cc{border:none;}
.cc::before{content:'';position:absolute;inset:0;border-radius:16px;padding:1.6px;background-size:280% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3;animation:ccBorder 4.5s linear infinite;}
.cc.fade::before{display:none;}   /* no animated outline on the muted card */
.cc.strong{background:linear-gradient(135deg,rgba(255,106,0,.05),rgba(255,143,60,.02));}
.cc.strong::before{background-image:linear-gradient(120deg,#FF6A00,#FF9A3C,#FFC77A,#FF7A1A,#FF6A00);}
@keyframes ccBorder{to{background-position:280% 50%;}}
.cc.strong::after{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 90% 10%,rgba(255,106,0,.06),transparent 50%);pointer-events:none;}
.cc h3{font-size:20px;font-weight:700;margin-bottom:28px;display:flex;align-items:center;gap:10px;}
.cc.fade h3{color:var(--t3);}.cc.strong h3{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cc h3 .ico{-webkit-text-fill-color:initial;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;}
.cc h3 .ico svg{width:100%;height:100%;}
.cc ul{list-style:none;}.cc li{font-size:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.03);display:flex;align-items:center;gap:14px;}
.cc.fade li{color:var(--t4);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.06);}
.cc.strong li{color:#fff;}.cc li:last-child{border:none;}
.cc .d{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.cc.fade .d{background:var(--t4);}.cc.strong .d{background:var(--o);box-shadow:0 0 8px rgba(255,106,0,.4);}

/* EXPERTISE */
#expertise{padding:160px 80px;background:var(--bg2);}
.eg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px;}
.ec{background:var(--bg);padding:44px 36px;position:relative;overflow:hidden;cursor:none;transition:all .4s;min-height:260px;}
.ec:hover{background:var(--bg3);transform:translateY(-2px);}
.ec .ecg{position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 80% 20%,rgba(255,106,0,.05),transparent 50%);opacity:0;transition:opacity .5s;}.ec:hover .ecg{opacity:1;}
.ec .ecl{font-size:10px;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;position:relative;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ec h4{font-size:20px;font-weight:700;margin-bottom:12px;position:relative;}
.ec p{font-size:13px;color:var(--t4);line-height:1.7;position:relative;transition:color .4s;}.ec:hover p{color:var(--t2);}
.ec .tg{margin-top:20px;display:flex;flex-wrap:wrap;gap:5px;position:relative;}
.ec .tg span{font-size:11px;padding:4px 12px;border:1px solid rgba(255,255,255,.04);border-radius:20px;color:var(--t4);transition:all .3s;}
.ec:hover .tg span{color:var(--t3);border-color:rgba(255,106,0,.1);}

/* CLIENT LOGOS */
.client-logos{margin-top:64px;overflow:hidden;padding:32px 0;border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03);}
.client-logos .label-small{text-align:center;font-size:11px;letter-spacing:3px;color:var(--t4);text-transform:uppercase;margin-bottom:24px;}
.logo-track{display:flex;gap:80px;animation:logoSlide 30s linear infinite;width:max-content;align-items:center;}
.logo-track .cl-logo{font-size:18px;font-weight:700;color:rgba(255,255,255,.12);letter-spacing:3px;white-space:nowrap;transition:color .3s;text-transform:uppercase;}
.logo-track .cl-logo:hover{color:rgba(255,106,0,.3);}
@keyframes logoSlide{to{transform:translateX(-50%);}}

/* PROJECTS */
#projects{padding:160px 80px;}
.pf{position:relative;height:65vh;min-height:460px;border-radius:16px;overflow:hidden;margin-bottom:36px;cursor:none;background:var(--bg3);}
.pf .pb{position:absolute;inset:0;background:linear-gradient(135deg,#1a0800,#0a0a0a,#0d0500);transition:transform .8s cubic-bezier(.4,0,.2,1);}.pf:hover .pb{transform:scale(1.04);}
.pf .po{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.95),rgba(10,10,10,.2) 60%);z-index:1;}
.pf .pi{position:absolute;bottom:56px;left:56px;right:56px;z-index:2;}
.pc{font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ptl{font-size:clamp(26px,3.5vw,44px);font-weight:800;margin-bottom:14px;line-height:1.2;}
.pds{font-size:14px;color:var(--t2);max-width:480px;line-height:1.6;}
.ptg{margin-top:16px;display:flex;gap:8px;}.ptg span{padding:5px 14px;border:1px solid rgba(255,255,255,.06);border-radius:20px;font-size:11px;color:var(--t3);}
.pgd{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.pcd{position:relative;height:380px;border-radius:16px;overflow:hidden;cursor:none;background:var(--bg3);}
.pcd .pb{position:absolute;inset:0;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.pcd:nth-child(1) .pb{background:linear-gradient(135deg,#1a0800,#0a0a0a);}
.pcd:nth-child(2) .pb{background:linear-gradient(135deg,#0a0a0a,#0a1208);}
.pcd:nth-child(3) .pb{background:linear-gradient(135deg,#0a0a16,#0a0a0a);}
.pcd:nth-child(4) .pb{background:linear-gradient(135deg,#14100a,#0a0a0a);}
.pcd:hover .pb{transform:scale(1.06);}
.pcd .po{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.9),transparent 60%);z-index:1;}
.pcd .pi{position:absolute;bottom:28px;left:28px;right:28px;z-index:2;}
.pcd .hl{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);font-size:11px;letter-spacing:3px;text-transform:uppercase;opacity:0;transition:all .4s;z-index:3;padding:10px 24px;border-radius:40px;background:var(--gb);color:var(--bg);font-weight:700;}
.pcd:hover .hl{opacity:1;transform:translate(-50%,-50%) scale(1);}
.port-cta{margin-top:56px;text-align:center;}
.port-cta p{font-size:16px;color:var(--t3);margin-bottom:16px;}
.port-cta a{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;background:var(--gb);border-radius:40px;color:var(--bg);font-size:14px;font-weight:700;text-decoration:none;cursor:none;transition:all .3s;}
.port-cta a:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(255,106,0,.25);}

/* 9 PROCESS - with progress bars */
#process{padding:160px 80px;background:var(--bg2);}   /* same as neighboring sections (#expertise 등) */
.prg{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px;margin-top:52px;}   /* fixed 9 cols → no orphan / no h-scroll */
@media(max-width:1200px){.prg{grid-template-columns:repeat(3,1fr);}}
.ps{background:var(--bg);padding:44px 20px;position:relative;cursor:none;transition:all .4s;overflow:hidden;min-height:320px;}   /* moderately tall, not full-screen */
.ps:hover{background:var(--bg3);transform:translateY(-2px);}
.ps .ps-bar{position:absolute;top:0;left:0;height:3px;width:0;background:var(--gb);transition:width .1s linear;border-radius:0 2px 2px 0;}
.ps .ps-icon{width:44px;height:44px;margin-bottom:16px;position:relative;}
.ps .ps-icon svg{width:100%;height:100%;}
.ps .psn{font-size:30px;font-weight:900;line-height:1;position:absolute;top:14px;right:16px;background:linear-gradient(135deg,rgba(255,106,0,.05),rgba(255,143,60,.02));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .5s;}
.ps:hover .psn,.ps.lit .psn{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.ps h4{font-size:17px;font-weight:700;margin-bottom:8px;transition:color .3s;}.ps:hover h4{color:var(--o);}
.ps p{font-size:13px;color:var(--t4);line-height:1.6;opacity:0;transform:translateY(6px);transition:all .4s;}
.ps:hover p,.ps.lit p{opacity:1;transform:none;color:var(--t2);}
.ps .psg{position:absolute;bottom:-30px;left:50%;width:100px;height:100px;background:radial-gradient(circle,rgba(255,106,0,.06),transparent);border-radius:50%;transform:translateX(-50%);opacity:0;transition:opacity .4s;}
.ps:hover .psg{opacity:1;}

/* DIFFERENCE */
#difference{padding:160px 80px;}
.dl{margin-top:56px;}
.di{padding:36px 0;border-bottom:1px solid rgba(255,255,255,.03);display:flex;align-items:flex-start;gap:36px;cursor:none;transition:all .4s;}
.di:hover{padding-left:16px;border-bottom-color:rgba(255,106,0,.1);}
.di .dn{font-size:44px;font-weight:900;flex-shrink:0;width:72px;background:linear-gradient(135deg,var(--t4),var(--t4));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .4s;}
.di:hover .dn{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.di h4{font-size:20px;font-weight:700;margin-bottom:6px;transition:all .3s;}
.di:hover h4{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.di .dtp{font-size:14px;color:var(--t4);line-height:1.7;max-width:560px;transition:color .3s;}.di:hover .dtp{color:var(--t2);}

/* CTA */
#cta{padding:200px 80px;text-align:center;position:relative;}
.ctag{position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,106,0,.05),transparent 70%);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;}
#cta h2{font-size:clamp(28px,4.5vw,52px);font-weight:800;line-height:1.3;margin-bottom:24px;position:relative;}
#cta p{font-size:16px;color:var(--t2);line-height:1.8;max-width:460px;margin:0 auto 48px;position:relative;}
.ctab{display:inline-flex;align-items:center;gap:12px;padding:20px 56px;border:none;border-radius:40px;font-size:16px;font-weight:700;cursor:none;transition:all .3s;text-decoration:none;background:var(--gb);color:var(--bg);}
.ctab:hover{transform:scale(1.05);box-shadow:0 0 60px rgba(255,106,0,.25);}

/* MODAL */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(16px);z-index:99990;opacity:0;visibility:hidden;transition:all .4s;display:flex;align-items:center;justify-content:center;}.mo.open{opacity:1;visibility:visible;}
.md{background:var(--bg2);border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:52px 44px;max-width:520px;width:92%;max-height:88vh;overflow-y:auto;position:relative;transform:translateY(16px) scale(.97);transition:all .4s cubic-bezier(.4,0,.2,1);}.mo.open .md{transform:none;}
.md::-webkit-scrollbar{width:4px;}.md::-webkit-scrollbar-track{background:transparent;}.md::-webkit-scrollbar-thumb{background:var(--gb);border-radius:2px;}
.mx{position:absolute;top:18px;right:18px;width:40px;height:40px;border:1px solid rgba(255,255,255,.06);border-radius:50%;background:none;color:var(--t3);font-size:20px;cursor:none;transition:all .3s;display:flex;align-items:center;justify-content:center;}.mx:hover{border-color:var(--o);color:var(--o);transform:rotate(90deg);}
.md h3{font-size:26px;font-weight:800;margin-bottom:6px;}.md>p{font-size:14px;color:var(--t3);margin-bottom:28px;}
.fg{margin-bottom:18px;}.fg label{display:block;font-size:13px;font-weight:500;color:var(--t2);margin-bottom:6px;}
.fg input,.fg select,.fg textarea{width:100%;padding:13px 16px;background:var(--bg);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--t);font-size:14px;font-family:inherit;outline:none;transition:border-color .3s,box-shadow .3s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--o);box-shadow:0 0 0 3px rgba(255,106,0,.08);}
.fg textarea{min-height:90px;resize:vertical;}.fg select{appearance:none;cursor:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6560' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}.fg select option{background:var(--bg2);}
.sb{width:100%;padding:16px;border:none;border-radius:40px;font-size:15px;font-weight:700;cursor:none;background:var(--gb);color:var(--bg);transition:all .3s;margin-top:8px;}.sb:hover{transform:scale(1.02);box-shadow:0 0 30px rgba(255,106,0,.2);}
.mn{text-align:center;font-size:11px;color:var(--t4);margin-top:14px;}
/* custom translatable select */
.csel{position:relative;}
.csel-head{width:100%;padding:13px 16px;background:var(--bg);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--t);font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:none;transition:border-color .3s,box-shadow .3s;}
.csel-head:hover{border-color:rgba(255,106,0,.5);}
.csel.open .csel-head{border-color:var(--o);box-shadow:0 0 0 3px rgba(255,106,0,.08);}
.csel-head svg{width:12px;height:12px;stroke:var(--t3);flex-shrink:0;transition:transform .3s;}
.csel.open .csel-head svg{transform:rotate(180deg);}
.csel-list{display:none;margin-top:6px;background:var(--bg);border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden;}
.csel.open .csel-list{display:block;}
.csel-opt{padding:12px 16px;font-size:14px;color:var(--t2);cursor:none;transition:all .2s;border-bottom:1px solid rgba(255,255,255,.03);}
.csel-opt:last-child{border-bottom:none;}
.csel-opt:hover{background:rgba(255,106,0,.1);color:var(--t);}
.csel-opt.sel{color:var(--o2);background:rgba(255,106,0,.06);}

.fmq{border-top:1px solid rgba(255,255,255,.03);padding:32px 0;overflow:hidden;}
.mqt{display:flex;gap:72px;animation:mqa 28s linear infinite;width:max-content;}
.mqt span{font-size:clamp(32px,5vw,56px);font-weight:900;color:rgba(255,255,255,.02);white-space:nowrap;letter-spacing:4px;}
.mqt .mgo{background:linear-gradient(135deg,rgba(255,106,0,.06),rgba(255,143,60,.03));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
@keyframes mqa{to{transform:translateX(-50%);}}

footer{padding:64px 80px 32px;border-top:1px solid rgba(255,255,255,.03);}
.fi{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.fb .fl{font-size:22px;font-weight:900;letter-spacing:4px;margin-bottom:12px;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fb p{font-size:13px;color:var(--t4);line-height:1.7;max-width:260px;}
.fc h5{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--t2);margin-bottom:16px;}
.fc a{display:block;font-size:13px;color:var(--t4);text-decoration:none;padding:4px 0;transition:color .3s;}.fc a:hover{color:var(--o);}
.fbt{padding-top:24px;border-top:1px solid rgba(255,255,255,.03);display:flex;justify-content:space-between;font-size:11px;color:var(--t4);}

/* ===== SUBPAGE (space / global 상세) ===== */
.subhero{min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding:140px 80px 90px;position:relative;overflow:hidden;}
.subhero .hgrid{position:absolute;inset:0;opacity:.05;background-image:linear-gradient(rgba(255,106,0,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,106,0,.3) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 70%);mask-image:radial-gradient(circle at 30% 40%,#000,transparent 70%);}
.subhero-in{position:relative;z-index:2;max-width:1000px;}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1px;color:var(--t3);text-decoration:none;margin-bottom:36px;transition:color .3s;}
.back-link:hover{color:var(--o);}
.subhero .paren{font-size:clamp(40px,8vw,104px);font-weight:900;line-height:1.02;letter-spacing:-2px;margin-bottom:28px;}
.subhero .paren .pk{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:200;font-style:italic;padding:0 .1em;}
.subhero .lead{font-size:clamp(18px,2vw,26px);color:var(--t);font-weight:500;line-height:1.6;max-width:760px;}
.subhero .lead b{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.subhero .sub{margin-top:26px;font-size:15px;color:var(--t3);line-height:1.9;max-width:680px;}

.wrap{padding:120px 80px;}
.wrap.alt{background:var(--bg2);}
.sec-h{font-size:clamp(26px,3.5vw,44px);font-weight:800;line-height:1.3;letter-spacing:-.5px;}
.sec-h .g2{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-p{margin-top:20px;font-size:16px;color:var(--t2);line-height:1.9;max-width:640px;}

/* language grid (space 5 pillars) */
.langrid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:64px;border-top:1px solid rgba(255,255,255,.05);}
.lgc{background:var(--bg);padding:40px 26px;position:relative;transition:background .4s,transform .4s;cursor:none;overflow:hidden;min-height:340px;}
.wrap.alt .lgc{background:var(--bg2);}
.lgc:hover{background:var(--bg3);transform:translateY(-3px);}
.lgc .lg-paren{font-size:20px;color:var(--t4);letter-spacing:1px;margin-bottom:36px;transition:color .4s;}
.lgc .lg-paren i{font-style:italic;font-weight:300;color:var(--o2);padding:0 .35em;}
.lgc:hover .lg-paren{color:var(--t3);}
.lgc .lg-no{font-size:12px;color:var(--t4);letter-spacing:2px;margin-bottom:8px;}
.lgc h4{font-size:15px;font-weight:800;letter-spacing:1px;margin-bottom:6px;}
.lgc .lg-tag{font-size:13px;color:var(--o2);margin-bottom:18px;font-weight:500;}
.lgc .lg-d{font-size:13px;color:var(--t3);line-height:1.75;}
.lgc .lg-glow{position:absolute;bottom:-60px;left:50%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,106,0,.1),transparent 70%);border-radius:50%;transform:translateX(-50%);opacity:0;transition:opacity .4s;}
.lgc:hover .lg-glow{opacity:1;}

/* service grid (global) */
.svcg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px;}
.svc{background:var(--bg2);border:1px solid rgba(255,255,255,.04);border-radius:16px;padding:36px 32px;position:relative;overflow:hidden;transition:all .4s;cursor:none;}
.wrap.alt .svc{background:var(--bg);}
.svc:hover{border-color:rgba(255,106,0,.25);transform:translateY(-4px);}
.svc::after{content:'';position:absolute;top:-40%;right:-40%;width:180%;height:180%;background:radial-gradient(circle at 80% 20%,rgba(255,106,0,.06),transparent 55%);opacity:0;transition:opacity .5s;pointer-events:none;}
.svc:hover::after{opacity:1;}
.svc .svc-no{font-size:12px;letter-spacing:2px;color:var(--t4);margin-bottom:16px;}
.svc h4{font-size:19px;font-weight:800;margin-bottom:10px;position:relative;}
.svc .svc-s{font-size:13px;color:var(--o2);margin-bottom:16px;font-weight:500;}
.svc .svc-d{font-size:13px;color:var(--t3);line-height:1.75;position:relative;}
.svc .svc-tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px;position:relative;}
.svc .svc-tags span{font-size:11px;padding:4px 11px;border:1px solid rgba(255,255,255,.06);border-radius:20px;color:var(--t3);}

/* partner / MOU band */
.mou{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:56px;padding:36px 40px;border-radius:16px;background:linear-gradient(135deg,rgba(255,106,0,.06),rgba(255,143,60,.02));border:1px solid rgba(255,106,0,.12);}
.mou .mou-x{font-size:26px;font-weight:900;letter-spacing:2px;}
.mou .mou-x .g{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.mou p{font-size:14px;color:var(--t2);line-height:1.8;flex:1;min-width:260px;}

/* two-up feature list */
.flist{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid rgba(255,255,255,.05);border-radius:16px;overflow:hidden;}
.flist .fitem{background:var(--bg);padding:34px 32px;}
.wrap.alt .flist .fitem{background:var(--bg2);}
.flist .fitem .fk{font-size:15px;font-weight:700;margin-bottom:8px;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;}
.flist .fitem p{font-size:13px;color:var(--t3);line-height:1.75;}

/* cross-service cards on index */
#branches{padding:160px 80px;}
.brg{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;}
.brc{position:relative;border-radius:20px;overflow:hidden;min-height:360px;padding:44px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;cursor:none;border:1px solid rgba(255,255,255,.05);transition:transform .4s,border-color .4s;}
.brc:hover{transform:translateY(-5px);border-color:rgba(255,106,0,.3);}
.brc .brbg{position:absolute;inset:0;z-index:0;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.brc:hover .brbg{transform:scale(1.05);}
.brc:nth-child(1) .brbg{background:linear-gradient(140deg,#160a02,#0a0a0a 70%);}
.brc:nth-child(2) .brbg{background:linear-gradient(140deg,#02100a,#0a0a0a 70%);}
.brc .brov{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 80% 15%,rgba(255,106,0,.08),transparent 55%);}
.brc .brin{position:relative;z-index:2;}
.brc .brk{font-size:11px;letter-spacing:3px;text-transform:uppercase;background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px;display:block;}
.brc h3{font-size:clamp(24px,2.6vw,34px);font-weight:800;line-height:1.25;margin-bottom:14px;}
.brc p{font-size:14px;color:var(--t2);line-height:1.7;max-width:420px;}
.brc .brgo{margin-top:24px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--o2);}

@media(max-width:1024px){
  #statement,#whymore,#expertise,#projects,#process,#difference,#cta,footer,.wrap,.subhero,#branches{padding-left:32px!important;padding-right:32px!important;}
  nav{padding:0 24px;}.pillars{flex-direction:column;}.pl:hover{flex:1;}.pl .pd{opacity:1;transform:none;}
  .cmp,.pgd,.svcg,.brg,.flist{grid-template-columns:1fr;}.eg{grid-template-columns:1fr 1fr;}
  .fi{grid-template-columns:1fr 1fr;}.ps p{opacity:1;transform:none;}.prg{grid-template-columns:repeat(3,1fr);flex:none;}#process{min-height:auto;padding-bottom:60px;}
  #whatwedo .top,.wwb{padding-left:32px!important;padding-right:32px!important;}
  #hero3d{opacity:.8;}
  .langrid{grid-template-columns:repeat(2,1fr);}.svcg{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  body{cursor:auto;}.cd,.cr{display:none;}
  .nk{display:none;}.nc{margin-left:auto;}
  .eg{grid-template-columns:1fr;}.fi{grid-template-columns:1fr;gap:24px;}
  .di{flex-direction:column;gap:8px;}.di .dn{font-size:28px;}
  #hero3d{opacity:.6;}
  .float-cta{bottom:20px;right:20px;padding:12px 20px;font-size:12px;}
  .langrid,.svcg{grid-template-columns:1fr;}
  .subhero{padding-top:120px;}
}

/* ===== LANGUAGE SWITCHER ===== */
.lang{position:relative;margin-left:28px;}
.lang-btn{display:flex;align-items:center;gap:7px;padding:8px 14px;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:40px;color:var(--t2);font-size:12px;font-weight:500;font-family:inherit;cursor:none;transition:all .3s;letter-spacing:.3px;}
.lang-btn:hover{border-color:rgba(255,106,0,.4);color:var(--t);}
.lang-btn svg{width:15px;height:15px;flex-shrink:0;}
.lang-btn .lang-chev{width:12px;height:12px;transition:transform .3s;opacity:.6;}
.lang.open .lang-chev{transform:rotate(180deg);}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:150px;background:rgba(17,17,17,.96);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:6px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 16px 40px rgba(0,0,0,.5);}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none;}
.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:transparent;border:none;border-radius:9px;color:var(--t2);font-size:13px;font-weight:500;font-family:inherit;text-align:left;cursor:none;transition:all .2s;}
.lang-menu button:hover{background:rgba(255,106,0,.1);color:var(--t);}
.lang-menu button.active{background:linear-gradient(135deg,rgba(255,106,0,.14),rgba(255,143,60,.06));color:var(--o2);}
.lang-menu button .fl{display:inline-flex;align-items:center;}
.lang-menu .flag{width:22px;height:15px;border-radius:3px;object-fit:cover;display:block;background:#222;box-shadow:0 0 0 1px rgba(255,255,255,.14);}
/* hide Google Translate injected UI */
.goog-te-banner-frame,.skiptranslate>iframe,#goog-gt-tt,.goog-te-balloon-frame{display:none!important;}
body{top:0!important;}
.goog-text-highlight{background:none!important;box-shadow:none!important;}
font.goog-te-mark,.goog-te-gadget{display:none!important;}
@media(max-width:768px){
  .lang{margin-left:12px;}
  .lang-btn{padding:7px 11px;font-size:11px;}
  .lang-btn #langCur{display:none;}
  .nc{margin-left:12px;}
}

/* ===== BUTTON GRADIENT ANIMATION ===== */
@keyframes btnGrad{to{background-position:220% 50%;}}
.bp,.ctab,.nc,.sb,.port-cta a,.float-cta{background:linear-gradient(90deg,#FF6A00,#FF8A2B,#FF9A3C,#FF8A2B,#FF6A00);background-size:220% 100%;animation:btnGrad 4s linear infinite;}

/* ===== GLASSMORPHISM ===== */
.svc,.lgc,.flist .fitem,.mou,.cc{
  backdrop-filter:blur(16px) saturate(130%);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
}
.svc{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.wrap.alt .svc{background:rgba(255,255,255,.028);}
.svc:hover{background:rgba(255,255,255,.07);border-color:rgba(255,106,0,.32);}
.lgc{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.wrap.alt .lgc{background:rgba(255,255,255,.022);}
.lgc:hover{background:rgba(255,255,255,.06);}
.flist{background:rgba(255,255,255,.015);border-color:rgba(255,255,255,.08);}
.flist .fitem{background:rgba(255,255,255,.032);}
.wrap.alt .flist .fitem{background:rgba(255,255,255,.022);}
.cc.fade{background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border-color:rgba(255,255,255,.09);}
.cc.strong{background:linear-gradient(135deg,rgba(255,106,0,.1),rgba(255,143,60,.03));border-color:rgba(255,106,0,.16);}
.mou{background:linear-gradient(135deg,rgba(255,106,0,.09),rgba(255,255,255,.03));backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid rgba(255,106,0,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.md{background:rgba(18,18,20,.72);backdrop-filter:blur(34px) saturate(140%);-webkit-backdrop-filter:blur(34px) saturate(140%);border:1px solid rgba(255,255,255,.1);}
.ndrop,.lang-menu{background:rgba(20,20,22,.62);}
.ec{border:1px solid rgba(255,255,255,.04);}
.ec:hover{background:rgba(255,255,255,.05);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);}
/* branch cards on index: white heading */
.brc{background:rgba(255,255,255,.02);}
.brc h3{color:#fff;}
.brc .brbg{opacity:.9;}

/* ===== ROTATING WORD (paren) ===== */
.wordroll{display:inline-block;will-change:transform,opacity;}
.subhero .paren .kw-o{color:var(--o);-webkit-text-fill-color:var(--o);font-style:normal;}   /* [ keyword ] in title-weight orange */
/* smaller subhero headline (space) */
.subhero .paren.paren-sm{font-size:clamp(30px,5vw,58px);font-weight:800;letter-spacing:-1px;line-height:1.14;}
.subhero .paren.paren-sm .pk{font-size:1em;}

/* ===== WORK / PORTFOLIO — 3D coverflow gallery (elliptical arc) + water reflection ===== */
.pf-wrap{padding:118px 0 80px;position:relative;overflow:hidden;}
.pf-back{position:absolute;top:104px;left:40px;z-index:14;margin:0;}

/* top: active project name (white) + counter + category */
.pf-topbar{text-align:center;max-width:820px;margin:0 auto 12px;padding:0 24px;min-height:118px;}
.pf-count{font-size:12px;font-weight:700;letter-spacing:3px;color:var(--t3);font-family:'Outfit',sans-serif;}
.pf-count b{color:var(--o2);}
.pf-bigtitle{font-size:clamp(30px,5vw,60px);font-weight:900;letter-spacing:-1.5px;line-height:1.04;color:#fff;margin:10px 0 7px;transition:opacity .25s;}
.pf-bigcat{font-size:14px;color:var(--t3);letter-spacing:.4px;}

.pf-stage{position:relative;}
.pf-strip{position:relative;display:flex;gap:34px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:60px 9vw 210px;scrollbar-width:none;cursor:grab;perspective:2000px;-webkit-overflow-scrolling:touch;}
.pf-strip::-webkit-scrollbar{display:none;}
.pf-strip.drag{cursor:grabbing;scroll-snap-type:none;}

/* card transform is computed in JS (coverflow); base has none so JS fully controls it */
.pf-item{position:relative;flex:0 0 440px;scroll-snap-align:center;cursor:none;will-change:transform,opacity;transform-origin:center 60%;}

.pf-label{display:block;text-align:center;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--t4);margin-bottom:16px;transition:color .45s;}
.pf-item.active .pf-label{color:var(--o2);}

.pf-frame{position:relative;}
.pf-media{position:relative;border-radius:12px;overflow:hidden;background:var(--bg3);aspect-ratio:16/9;box-shadow:0 40px 90px rgba(0,0,0,.6);}
.pf-media::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.09);border-radius:12px;pointer-events:none;z-index:5;}
/* natural water reflection — rendered on a canvas below the card (see dna.js) */
.pf-refl{position:absolute;left:0;top:100%;width:100%;margin-top:3px;z-index:3;display:block;pointer-events:auto;}

.pf-slides{display:flex;height:100%;transition:transform .6s cubic-bezier(.65,0,.35,1);}
.pf-slide{flex:0 0 100%;height:100%;width:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;}
.pf-slide .ph-tag{font-size:11px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:rgba(245,241,232,.45);pointer-events:none;}
.pf-slide.light .ph-tag{color:rgba(18,16,14,.5);}

.pf-media .pf-ov{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(to top,rgba(6,4,3,.55),transparent 55%);opacity:0;transition:opacity .4s;}
.pf-item.active:hover .pf-ov{opacity:1;}
.pf-view{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--t);text-transform:uppercase;}


.pf-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:6;display:none;gap:6px;}
.pf-media.multi .pf-dots{display:flex;}
.pf-dots i{width:6px;height:6px;border-radius:50%;background:rgba(245,241,232,.4);transition:all .3s;}
.pf-dots i.on{background:var(--o);width:16px;border-radius:4px;}

/* stage step arrows */
.pf-arrow{position:absolute;top:calc(50% - 26px);transform:translateY(-50%);z-index:12;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(17,17,17,.55);backdrop-filter:blur(14px);color:var(--t);cursor:none;display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,border-color .3s;}
.pf-arrow:hover{background:var(--gb);color:var(--bg);border-color:transparent;}
.pf-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;}
.pf-arrow.prev{left:max(22px,calc(50vw - 470px));}
.pf-arrow.next{right:max(22px,calc(50vw - 470px));}

/* bottom pagination dots */
.pf-dotsbar{display:flex;gap:8px;justify-content:center;margin-top:26px;}
.pf-dotsbar i{width:8px;height:8px;border-radius:50%;background:rgba(245,241,232,.24);transition:all .35s;cursor:none;}
.pf-dotsbar i.on{background:var(--o);width:24px;border-radius:4px;}

@media(max-width:860px){
  .pf-wrap{padding:104px 0 60px;}
  .pf-back{left:20px;}
  .pf-strip{gap:16px;padding:36px 9vw 150px;}
  .pf-item{flex:0 0 82vw;}
  .pf-arrow{display:none;}
}

/* ===== WORK — 준비 중(coming soon) ===== */
.pf-soon{min-height:78vh;display:flex;align-items:center;justify-content:center;padding:150px 24px 120px;position:relative;text-align:center;}
.pf-soon-in{max-width:660px;position:relative;z-index:2;}
.pf-soon-in .label{margin-bottom:30px;}
.pf-soon-h{font-size:clamp(26px,4.2vw,46px);font-weight:800;line-height:1.14;letter-spacing:-1px;}
.pf-soon-p{margin-top:26px;font-size:16px;color:var(--t2);line-height:1.9;}
.pf-soon-btns{margin-top:44px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ===== gentle grow on hover (content cards / areas) — slow & subtle ===== */
.ec,.svc,.lgc,.brc,.cc,.ps,.pf-media{transition:transform .55s cubic-bezier(.22,1,.36,1),background .45s,border-color .45s,box-shadow .45s,backdrop-filter .45s;will-change:transform;}
.ec:hover{transform:translateY(-2px) scale(1.02);}
.svc:hover{transform:translateY(-4px) scale(1.025);}
.lgc:hover{transform:translateY(-3px) scale(1.022);}
.brc:hover{transform:translateY(-5px) scale(1.018);}
.cc:hover{transform:translateY(-4px) scale(1.02);}
.ps:hover{transform:translateY(-2px) scale(1.025);}
.pf-item:hover .pf-media{transform:scale(1.02);}
