: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','Pretendard Variable','Pretendard',sans-serif;background:var(--bg);color:var(--t);cursor:none;overflow-x:hidden;word-break:keep-all;overflow-wrap:break-word;}
::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{opacity:0;font-size:9.5px;font-weight:700;letter-spacing:2px;color:var(--o);text-transform:uppercase;transition:opacity .25s;pointer-events:none;}
.cr.big{width:90px;height:90px;border-color:var(--o);background:rgba(255,106,0,.08);}
.cr.big .ct{opacity:1;}
.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:21px;width:auto;display:block;filter:brightness(0) invert(1);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;transition:opacity .55s ease,transform .55s ease;will-change:opacity,transform;margin-top:-28px;}
.hero-btns.show{opacity:1;transform:translateY(0);}
.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,.gevt:hover .gout{opacity:1;animation:bpSpin 2.8s linear infinite;}
/* .mou callout boxes — outline gradient always on (no hover) */
.mou{position:relative;}
.mou>.gout{opacity:1;animation:bpSpin 3.4s 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:36px 80px 0;max-width:760px;margin-left:auto;margin-right:auto;text-align:center;}.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;}
.sent-msg{text-align:center;padding:44px 8px 24px;}
.sent-msg .sent-ico{width:58px;height:58px;margin:0 auto 22px;border-radius:50%;background:var(--gb);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;animation:fcPulse 2s ease-in-out infinite;}
.sent-msg h3{font-size:22px;font-weight:800;margin-bottom:10px;}
.sent-msg p{color:var(--t2);font-size: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;}
.foot-brand{font-size:clamp(18px,2vw,23px);font-weight:600;color:#fff;letter-spacing:-.3px;margin-bottom:14px;line-height:1.25;}
.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{display:none;}.mburg{display:flex;}
  .lang{margin-left:auto;}   /* lang+햄버거 그룹을 우측으로 → 햄버거가 맨 오른쪽 */
  .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:56px;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:auto;}   /* [수정] 12px→auto: lang+햄버거를 우측 끝으로 (앞 블록 override 되돌림) */
  .lang-btn{padding:7px 11px;font-size:11px;}
  .lang-btn #langCur{display:none;}
  /* 3단/다단 그리드 → 1단 (인라인 grid-template-columns 를 !important 로 덮음): 타이틀 위, 본문 아래 스택 */
  .flist,.svcg,.langrid{grid-template-columns:1fr !important;}
}

/* ===== 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;}

/* ===== GLOBAL page — PDF 기반 섹션 (reach / stats / compare / offline / results / clinic / brands) ===== */
.greach-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}
.greach-big{text-align:right;}
.greach-big .gcount{font-size:clamp(46px,7vw,92px);font-weight:900;color:var(--o);letter-spacing:-3px;display:block;line-height:.95;}
.greach-big small{font-size:13px;color:var(--t3);}
.greg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:30px;}
.greg-lab{font-size:12px;font-weight:700;color:var(--o2);margin-right:6px;}
.gchip{font-size:12px;padding:7px 15px;border:1px solid rgba(255,255,255,.1);border-radius:40px;color:var(--t2);}
.gcty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:34px;}
.gcty{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.02);cursor:none;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s,background .35s;}
.gcty:hover{transform:translateY(-3px);border-color:rgba(255,106,0,.3);background:rgba(255,106,0,.05);}
.gcty img.flag{width:26px;height:18px;border-radius:3px;object-fit:cover;flex:0 0 auto;}
.gcty b{font-size:14px;display:block;color:var(--t);}
.gcty small{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;}
.gcty-more{border-color:rgba(255,106,0,.3);background:rgba(255,106,0,.05);}
.gcty-globe{font-size:20px;width:26px;text-align:center;}
.gcty-key{position:relative;border-color:rgba(255,106,0,.45);background:rgba(255,106,0,.07);box-shadow:inset 0 2px 0 var(--o);}
.gcty-key:hover{border-color:var(--o);background:rgba(255,106,0,.1);}
.gcty-rank{position:absolute;top:9px;right:12px;font-size:11px;font-weight:800;color:var(--o);letter-spacing:.5px;font-family:'Outfit',sans-serif;}

.gstat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:50px;}
.gstat{text-align:center;}
.gstat-n{font-size:clamp(30px,4vw,54px);font-weight:900;letter-spacing:-1.5px;display:block;line-height:1;color:var(--t);}
.gstat-n.gc-o{color:var(--o);}
.gstat small{display:block;margin-top:12px;font-size:13px;color:var(--t3);}

.gcmp{margin-top:44px;border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;}
.gcmp-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.15fr;align-items:center;padding:17px 26px;border-bottom:1px solid rgba(255,255,255,.045);font-size:15px;}
.gcmp-row:last-child{border-bottom:none;}
.gcmp-row>span:first-child{color:var(--t);font-weight:500;}
.gcmp-row i{text-align:center;font-style:normal;font-size:17px;}
.gcmp-row .chk{color:var(--o);font-weight:900;font-size:23px;-webkit-text-stroke:0.8px var(--o);}
.gcmp-row .x,.gcmp-row .dash{color:var(--t4);}
.gcmp-head{background:var(--bg3);font-weight:700;font-size:12px;color:var(--t2);text-transform:uppercase;letter-spacing:1px;}
.gcmp-head span{text-align:center;}.gcmp-head span:first-child{text-align:left;}
.gcmp-us{color:var(--o2)!important;font-weight:900;font-size:16px;letter-spacing:.5px;}

.gmq{overflow:hidden;margin-top:48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.gmq-track{display:flex;gap:16px;width:max-content;animation:mqa 42s linear infinite;}
.gmq:hover .gmq-track{animation-play-state:paused;}
.gmqc{flex:0 0 210px;aspect-ratio:9/14;border-radius:14px;display:flex;align-items:flex-end;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.4);position:relative;overflow:hidden;}
.gmqc::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.07);border-radius:14px;}
.gmqc span{font-size:12px;font-weight:700;letter-spacing:1px;color:rgba(245,241,232,.5);background:rgba(10,10,10,.5);padding:5px 10px;border-radius:6px;backdrop-filter:blur(6px);}

.gevt-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:44px;}
.gevt{border-radius:16px;overflow:hidden;background:var(--bg2);border:1px solid rgba(255,255,255,.05);position:relative;cursor:none;transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .4s,box-shadow .4s;}
.gevt:hover{transform:translateY(-5px);border-color:rgba(255,106,0,.25);box-shadow:0 26px 60px rgba(0,0,0,.4);}
.gevt-bg{aspect-ratio:16/10;position:relative;}
.gevt-badge{position:absolute;top:14px;left:14px;background:var(--gb);color:var(--bg);font-size:11px;font-weight:800;padding:5px 13px;border-radius:40px;letter-spacing:1px;}
.gevt-b{padding:26px 24px 28px;}
.gevt-b h4{font-size:20px;font-weight:800;}
.gevt-loc{display:block;font-size:12px;color:var(--t3);margin:7px 0 18px;letter-spacing:.3px;}
.gevt-n{font-size:15px;color:var(--t2);}
.gevt-n b{font-size:32px;font-weight:900;margin-right:9px;color:var(--t);letter-spacing:-1px;}
.gevt-n b.o{color:var(--o);}
.gevt-b p{font-size:13px;color:var(--t3);margin-top:12px;line-height:1.6;}

.gres-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;}
.gres{background:var(--bg);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:34px 32px;}
.gres-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:12px;}
.gres-top h4{font-size:20px;font-weight:800;}
.gres-tag{font-size:11px;padding:5px 12px;border:1px solid rgba(255,255,255,.1);border-radius:40px;color:var(--t3);white-space:nowrap;}
.gres-nn{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 20px;}
.gres-nn b{font-size:34px;font-weight:900;display:block;line-height:1;letter-spacing:-1px;}
.gres-nn b.o{color:var(--o);}
.gres-nn small{display:block;margin-top:9px;font-size:12px;color:var(--t3);}
.gres-note{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.05);font-size:13px;color:var(--t3);line-height:1.6;}

.gbmq{overflow:hidden;margin-top:44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.gbmq-track{display:flex;gap:52px;width:max-content;align-items:center;animation:mqa 34s linear infinite;}
.gbmq-track span{font-size:clamp(22px,3vw,40px);font-weight:800;color:var(--t4);white-space:nowrap;letter-spacing:-.5px;transition:color .3s;}
.gbmq:hover .gbmq-track{animation-play-state:paused;}
.gbmq-track span:hover{color:var(--o2);}

@media(max-width:900px){
  .gstat-row{grid-template-columns:repeat(2,1fr);gap:32px 16px;}
  .gevt-grid,.gres-grid{grid-template-columns:1fr;}
  .g-offline .flist{grid-template-columns:1fr 1fr!important;}
  .gcty-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
}
@media(max-width:600px){
  .greach-big{text-align:left;}
  .gcmp-row{grid-template-columns:1.6fr 1fr 1fr 1fr;padding:14px 14px;font-size:13px;}
  .gres-nn{grid-template-columns:repeat(3,1fr);}
  .g-offline .flist{grid-template-columns:1fr!important;}
}

/* ===== 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);}
/* keep the hovered/scaled card above its neighbors (fixes right-card overlap) */
.ec:hover,.svc:hover,.lgc:hover,.brc:hover,.cc:hover,.ps:hover{z-index:5;}

/* ===================== WORK GALLERY (포트폴리오 3D 캐러셀 + 수면 반사) =====================
   전부 .pfg 하위로 스코프. 사이트 공용 #starCanvas/.noise/커스텀 커서에 통합, 자체 배경·별·커서 없음 */
#work-gallery{padding:8px 80px 32px;text-align:center;scroll-margin-top:80px;}
#work-gallery .label{justify-content:center;}
.pfg{position:relative;height:min(94vh,940px);min-height:580px;width:100vw;max-width:100vw;margin:4px 0 0;margin-left:calc(50% - 50vw);overflow:hidden;border-radius:0;border:none;
  background:radial-gradient(120% 92% at 50% 116%,#1a1310 0%,#120d0a 34%,#0c0908 60%,var(--bg) 100%);}
/* 원통 스테이지: perspective 값은 JS의 PERSP(900)와 반드시 일치. perspective-origin은 JS가 매 프레임 밴드 중심으로 설정 → CSS에서 덮어쓰지 말 것 */
.pfg-stage{position:absolute;inset:0;z-index:10;perspective:900px;transform-style:preserve-3d;cursor:none;touch-action:pan-y;}
/* .pfg-item 은 0x0 앵커; 조각들이 관람자 축의 원통 방위각에 배치됨. [금지] opacity/filter/backdrop-filter — preserve-3d 평탄화로 원통이 깨짐. 페이드는 --shade 오버레이로만 */
.pfg-item{position:absolute;left:50%;top:0;width:0;height:0;transform-style:preserve-3d;--shade:0;}
.pfg-strip{position:absolute;left:0;top:0;overflow:hidden;background:#0a0806;will-change:transform;}
/* 임베드 환경의 img{max-width:100%} 리셋이 조각 이미지를 붕괴시킴 — 반드시 해제 유지 (실제 이미지 교체 시에도 남길 것) */
.pfg-strip img{position:absolute;top:0;left:0;display:block;pointer-events:none;max-width:none !important;max-height:none !important;}
.pfg-strip .pfg-sshade{position:absolute;inset:0;background:#000;opacity:var(--shade);pointer-events:none;transition:opacity .15s linear;}
.pfg-s-first{border-radius:7px 0 0 7px;}
.pfg-s-last{border-radius:0 7px 7px 0;}
.pfg-ilabel{position:absolute;left:0;top:0;width:340px;margin-left:-170px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;pointer-events:none;will-change:transform;}
.pfg-itag{font-size:12px;font-weight:600;letter-spacing:4px;text-indent:4px;text-transform:uppercase;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8);}
.pfg-iname{font-size:11px;font-weight:500;letter-spacing:.28em;text-indent:.28em;color:var(--t2);text-shadow:0 2px 12px rgba(0,0,0,.8);transition:color .3s;}
.pfg-item:hover .pfg-iname{color:var(--t);}
/* 가운데(초점) 카드 hover 시 '아웃라인 그라데이션 효과' — 원통 조각 구조라 .gout(conic+mask) 대신
   조각 상/하단(듀얼 오렌지) + 양끝 아웃라인 + 외곽 글로우로 카드 곡면을 따라 표현 */
.pfg-strip{transition:box-shadow .4s ease;}
.pfg-stage:hover .pfg-hot .pfg-strip{box-shadow:inset 0 2px 0 #FF7A12, inset 0 -2px 0 #FFB050, 0 0 18px rgba(255,120,40,.42);}
.pfg-stage:hover .pfg-hot .pfg-s-first{box-shadow:inset 0 2px 0 #FF7A12, inset 0 -2px 0 #FFB050, inset 3px 0 0 #FF8A2A, 0 0 18px rgba(255,120,40,.42);}
.pfg-stage:hover .pfg-hot .pfg-s-last{box-shadow:inset 0 2px 0 #FF7A12, inset 0 -2px 0 #FFB050, inset -3px 0 0 #FF8A2A, 0 0 18px rgba(255,120,40,.42);}
.pfg-arrow{position:absolute;z-index:15;top:44%;transform:translateY(-50%);background:none;border:0;cursor:none;padding:14px;color:rgba(255,170,110,.5);transition:color .3s,transform .3s;}
.pfg-arrow svg{display:block;}
.pfg-arrow-l{left:max(10px,2vw);}.pfg-arrow-r{right:max(10px,2vw);}
.pfg-arrow:hover{color:var(--t);}
.pfg-arrow-l:hover{transform:translate(-4px,-50%);}.pfg-arrow-r:hover{transform:translate(4px,-50%);}
.pfg-floor{position:absolute;left:0;right:0;bottom:0;z-index:5;}
.pfg-floor canvas{position:absolute;inset:0;width:100%;height:100%;display:block;filter:blur(5px);}
.pfg-fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,10,10,0) 0%,rgba(10,10,10,.28) 40%,rgba(8,7,6,.72) 66%,var(--bg) 86%),radial-gradient(90% 100% at 50% 0%,rgba(0,0,0,0) 50%,rgba(8,7,6,.55) 100%);}
.pfg-bottom{position:absolute;left:0;right:0;bottom:0;z-index:20;padding:0 20px 230px;text-align:center;pointer-events:none;}
.pfg-counter{font-size:11px;letter-spacing:.4em;text-indent:.4em;color:var(--t3);margin-bottom:10px;}
.pfg-counter b{color:var(--o2);font-weight:600;}
.pfg-bigname{font-size:clamp(20px,2.6vw,32px);font-weight:300;letter-spacing:.24em;text-indent:.24em;color:#fff;text-shadow:0 0 30px rgba(255,140,60,.14),0 2px 18px rgba(0,0,0,.75);min-height:1.2em;transition:opacity .28s;}
.pfg-dots{display:flex;justify-content:center;gap:10px;margin-top:18px;pointer-events:auto;}
.pfg-dots button{width:6px;height:6px;border-radius:3px;border:0;cursor:none;padding:0;background:rgba(255,180,120,.32);transition:all .35s;}
.pfg-dots button.on{width:26px;background:var(--o);box-shadow:0 0 10px rgba(255,140,50,.6);}
.pfg-notice{margin:18px auto 0;font-size:13px;letter-spacing:.02em;color:var(--t2);max-width:640px;line-height:1.7;pointer-events:none;}
.pfg-notice a{color:var(--o2);text-decoration:none;border-bottom:1px solid rgba(255,143,60,.4);padding-bottom:1px;cursor:none;pointer-events:auto;white-space:nowrap;transition:border-color .3s,color .3s;}
.pfg-notice a:hover{color:var(--t);border-color:var(--t);}
@media(max-width:900px){
  #work-gallery{padding:40px 16px 48px;}
  .pfg{height:74vh;min-height:480px;}
  /* PC처럼 화살표 표시(원형 배경 없이 화살표만) */
  .pfg-arrow{display:block;padding:12px;background:none;border:0;color:var(--o2);}
  .pfg-arrow svg{width:16px;height:auto;}
  .pfg-arrow-l{left:4px;}.pfg-arrow-r{right:4px;}
  /* 좁은 박스에선 데스크톱용 큰 하단여백(300)이 이름을 카드까지 밀어올려 겹침 → 적정 위치로 */
  .pfg-bottom{padding:0 16px 60px;}
  .pfg-bigname{letter-spacing:.16em;text-indent:.16em;}
  .pfg-notice{font-size:11px;margin-top:12px;line-height:1.6;}
}

/* ===== 섹션 헤더 가운데 정렬 통일 (헤더만; 카드/그리드 콘텐츠는 그대로) ===== */
#whatwedo .top,
#whymore>.label,#whymore>h2.rv,
#expertise>.label,#expertise>h2.rv,
#branches>.label,#branches>h2.rv,
#difference>.label,#difference>h2.rv{text-align:center;}
#whatwedo .top .label,
#whymore>.label,#expertise>.label,#branches>.label,#difference>.label{justify-content:center;}
#whymore>h2.rv{margin-left:auto;margin-right:auto;}

/* ===== 모바일 햄버거 & 메뉴 (데스크톱 숨김) ===== */
.mburg{display:none;margin-left:14px;width:24px;height:16px;flex-direction:column;justify-content:space-between;background:none;border:0;padding:0;cursor:pointer;z-index:9600;}
.mburg span{display:block;height:2px;width:22px;background:var(--t);border-radius:2px;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s;}
.mburg.on span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mburg.on span:nth-child(2){opacity:0;}
.mburg.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mnav{position:fixed;inset:0;z-index:9550;background:rgba(10,10,10,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;display:flex;align-items:center;justify-content:center;}
.mnav.open{opacity:1;visibility:visible;}
.mnav-close{position:absolute;top:20px;right:18px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--t);font-size:38px;font-weight:200;line-height:1;cursor:pointer;z-index:2;}
.mnav-in{display:flex;flex-direction:column;gap:24px;text-align:center;padding:24px;}
.mnav-in a{color:var(--t);font-size:23px;font-weight:600;text-decoration:none;letter-spacing:.5px;transition:color .2s;}
.mnav-in a:active{color:var(--o2);}
.mnav-cta{margin-top:14px;padding:16px 34px;border:0;border-radius:40px;background:var(--gb);color:var(--bg);font-size:15px;font-weight:700;font-family:inherit;letter-spacing:.5px;}

/* ===== 모바일 보정 (파일 끝 → base .mburg{display:none} 이후라 여기서 확정) ===== */
@media(max-width:768px){
  .mburg{display:flex;}                 /* 햄버거 표시 (앞선 base display:none 덮어씀) */
  #cta{padding:96px 24px;}              /* 200px 과대 패딩 → 뷰포트 안에 들어오게(하단 잘림 방지) */
  .ctag{width:360px;height:360px;}
}
@media(max-width:900px){
  .pfg-floor canvas{filter:blur(3px);}  /* 모바일 반사 블러 경감(스크롤 부담↓) */
  .pfg-bottom{padding:0 16px 150px;}    /* 프로젝트명 묶음 더 위로 */
}
