@charset "UTF-8";
/* =========================================================================
   NANUGEO 메인 페이지 (레퍼런스 /assets/css/page/main.css 의 main-01 ~ main-07 구조 이식)
   ========================================================================= */
.container-main{width:100%;background:#fff;padding-bottom:0;overflow:hidden;}
.container-main .main{position:relative;}

/* ---------- main-01 HERO ---------- */
.container-main .main-01 .inner{padding:0;height:560px;padding-top:229px;}
.container-main .main-01 .cc-row{position:relative;width:100%;margin:auto;overflow:hidden;height:331px;}
.container-main .main-01 .cc-row:before{content:"";position:absolute;width:100%;left:0;bottom:0;background:var(--bg-gray);height:58px;}
.container-main .main-01 .cc-row .cc-inner{position:relative;width:100%;height:100%;}
.hero-scene{position:absolute;bottom:48px;line-height:0;}
.hero-scene img{width:100%;height:auto;display:block;}
.hero-scene.left{display:none;width:1100px;left:calc(50% - 656px);}
.hero-scene.right{width:1100px;left:calc(50% - 420px);}
.container-main .main-01 .section-title,.container-main .main-01 .txt-row,.container-main .main-01 .btn-row{position:absolute;width:100%;left:50%;top:0;padding:0 20px;transform:translateX(-50%);z-index:3;}
.container-main .main-01 .section-title{top:67px;}
.container-main .main-01 .txt-row{top:183px;}
.container-main .main-01 .btn-row{top:233px;}
.container-main .main-01 .hero-badge{position:absolute;left:50%;top:30px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--brand-dark);background:#fff;border:1px solid rgba(var(--brand-rgb),.35);padding:7px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 20px rgba(var(--brand-rgb),.14);z-index:3;}
.container-main .main-01 .hero-badge i{width:6px;height:6px;border-radius:50%;background:var(--brand);display:block;animation:blink 1.6s infinite;}
/* 히어로 마이크로 모션 오버레이 (각 장면 기준 % 좌표) */
.hero-fx{position:absolute;pointer-events:none;line-height:1;}
.hero-fx.hearts{width:40px;height:90px;}
.hero-fx.hearts i{position:absolute;left:0;bottom:0;width:14px;height:14px;background:var(--brand);clip-path:path("M7 13 C2 9 0 7 0 4.2 0 2 1.6 0.5 3.5 0.5 5 0.5 6.2 1.4 7 2.6 7.8 1.4 9 0.5 10.5 0.5 12.4 0.5 14 2 14 4.2 14 7 12 9 7 13Z");animation:heartUp 2.8s ease-out infinite;opacity:0;}
.hero-fx.hearts i:nth-child(2){left:14px;animation-delay:.9s;width:10px;height:10px;}
.hero-fx.hearts i:nth-child(3){left:-8px;animation-delay:1.8s;width:12px;height:12px;}
.hero-fx.sparks{width:60px;height:60px;}
.hero-fx.sparks i{position:absolute;width:10px;height:10px;background:var(--brand);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:twinkle 1.8s ease-in-out infinite;}
.hero-fx.sparks i:nth-child(2){left:26px;top:20px;animation-delay:.6s;width:7px;height:7px;}
.hero-fx.sparks i:nth-child(3){left:8px;top:34px;animation-delay:1.2s;width:6px;height:6px;}
.hero-fx.bird{width:34px;height:24px;animation:bob 1.4s ease-in-out infinite;}
.hero-fx.bird svg{width:100%;height:100%;fill:none;stroke:#8C8C8C;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.hero-fx.bird svg .fl{fill:#fff;}
.hero-fx.bird svg .ac{fill:var(--brand);stroke:none;}
.hero-fx.noti{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;box-shadow:0 6px 14px rgba(var(--brand-rgb),.4);animation:popIn .6s ease-out both;}
.hero-fx.noti:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--brand);animation:ringPulse 1.8s ease-out infinite;}
@media (max-width:639px){
  .container-main .main-01 .inner{height:147vw;padding-top:60.2vw;}
  .container-main .main-01 .cc-row{height:86.8vw;}
  .container-main .main-01 .cc-row:before{height:15.3125vw;}
  .hero-scene{bottom:12vw;}
  .hero-scene.right{width:135vw;left:-22vw;}
  .container-main .main-01 .section-title{top:17.5vw;font-size:8.75vw;line-height:1.3;}
  .container-main .main-01 .txt-row{top:47.95vw;font-size:4.2vw;}
  .container-main .main-01 .btn-row{top:64vw;}
  .container-main .main-01 .hero-badge{top:9vw;}
  .hero-fx.noti{width:20px;height:20px;font-size:10px;}
}
@media screen and (min-width:640px){
  .hero-scene.left{display:block;width:640px;left:calc(50% - 420px);}
  .hero-scene.right{width:640px;left:calc(50% - 220px);}
}
@media screen and (min-width:1024px){
  .hero-scene.left{width:760px;left:calc(50% - 500px);}
  .hero-scene.right{width:760px;left:calc(50% - 260px);}
}
@media screen and (min-width:1200px){
  .container-main .main-01 .inner{height:770px;}
  .container-main .main-01 .cc-row{height:543px;}
  .container-main .main-01 .cc-row:before{height:50px;}
  .hero-scene{bottom:42px;}
  .hero-scene.left{width:1100px;left:calc(50% - 700px);}
  .hero-scene.right{width:1100px;left:calc(50% - 400px);}
  .container-main .main-01 .section-title{top:130px;}
  .container-main .main-01 .txt-row{top:315px;}
  .container-main .main-01 .btn-row{top:400px;}
  .container-main .main-01 .hero-badge{top:78px;font-size:14px;padding:9px 18px;}
}
@media screen and (min-width:1600px){.hero-scene.left{left:calc(50% - 760px);} .hero-scene.right{left:calc(50% - 340px);}}
@media screen and (min-width:1920px){.hero-scene.left{left:calc(50% - 900px);} .hero-scene.right{left:calc(50% - 200px);}}

/* ---------- main-02 : 필수 3가지 (천장 + 램프 + 사무국 장면 + 아이콘 3) ---------- */
.container-main .main-02 .inner{padding-top:0;}
.container-main .main-02 .top-space{position:relative;width:100%;background:var(--bg-gray);height:83px;}
.container-main .main-02 .bg-img-row{position:relative;width:100%;z-index:0;height:0;}
.container-main .main-02 .bg-img-row:before{content:"";position:absolute;width:100%;height:230px;left:0;top:-1px;z-index:-1;background:var(--bg-gray);}
.container-main .main-02 .bg-img-row .ceiling{position:absolute;left:0;top:-1px;width:100%;height:230px;z-index:0;display:block;}
.container-main .main-02 .bg-img-row .ceiling polygon{fill:#fff;}
.container-main .main-02 .bg-img-row .ceiling line{stroke:#E0E0E0;stroke-width:1.5;}
.container-main .main-02 .bg-img-row .lamp{position:absolute;left:50%;top:0;width:40px;transform-origin:top center;animation:swing 4.5s ease-in-out infinite;margin-left:-20px;z-index:2;}
.container-main .main-02 .bg-img-row .lamp svg{width:100%;height:auto;fill:none;stroke:#8C8C8C;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.container-main .main-02 .bg-img-row .lamp svg .fl{fill:#fff;}
.container-main .main-02 .bg-img-row .lamp svg .gl{fill:rgba(var(--brand-rgb),.18);stroke:none;}
.container-main .main-02 .section-title{padding-top:143px;margin-bottom:17px;position:relative;z-index:2;}
.container-main .main-02 .txt-row{position:relative;z-index:2;}
.container-main .main-02 .txt-row{padding:0 20px;}
.container-main .main-02 .cc-row{position:relative;width:100%;max-width:1120px;margin:40px auto 0;height:267px;display:flex;justify-content:center;align-items:flex-end;}
.container-main .main-02 .cc-row:after{content:"";position:absolute;left:8%;right:8%;bottom:22px;height:1px;background:#E6E6E6;}
.container-main .main-02 .cc-row .cc-inner{position:relative;width:340px;height:255px;display:flex;align-items:flex-end;justify-content:center;z-index:1;}
.container-main .main-02 .cc-row .cc-inner img{width:100%;height:auto;}
.container-main .main-02 .cc-row .fx-doc{position:absolute;right:6%;top:36%;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;animation:bob 2s ease-in-out infinite;box-shadow:0 6px 14px rgba(var(--brand-rgb),.35);}
.container-main .main-02 .cc-row .fx-doc svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.container-main .main-02 .cc-row .fx-typing{position:absolute;left:18%;top:28%;display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 9px;box-shadow:0 4px 12px rgba(0,0,0,.06);}
.container-main .main-02 .cc-row .fx-typing i{width:5px;height:5px;border-radius:50%;background:var(--brand);animation:blink 1.1s infinite;}
.container-main .main-02 .cc-row .fx-typing i:nth-child(2){animation-delay:.18s;}
.container-main .main-02 .cc-row .fx-typing i:nth-child(3){animation-delay:.36s;}
.container-main .main-02 .img-group{position:relative;display:flex;flex-flow:wrap;justify-content:space-between;align-items:center;align-content:space-between;width:267px;margin:32px auto 33px;}
.container-main .main-02 .img-group .img-row{width:100%;display:flex;flex-flow:wrap;justify-content:flex-start;align-items:center;margin-bottom:22px;}
.container-main .main-02 .img-group .img-row li{width:107px;}
.container-main .main-02 .img-group .img-row li img{width:100%;}
.container-main .main-02 .img-group .img-row li:nth-child(1){transition:transform .3s;}
.container-main .main-02 .img-group .img-row:hover li:nth-child(1){transform:translateY(-6px);}
.container-main .main-02 .img-group .img-row li:nth-child(2){width:160px;}
.container-main .main-02 .img-group .img-row li:nth-child(2) strong{color:var(--c900);font-weight:700;padding-left:8px;display:flex;justify-content:flex-start;align-items:center;font-size:19px;margin-bottom:7px;}
.container-main .main-02 .img-group .img-row li:nth-child(2) strong span{text-align:left;color:var(--c900);font-weight:700;font-size:19px;}
.container-main .main-02 .img-group .img-row li:nth-child(2) strong .icon-svg{color:var(--c900);margin:0 3px;width:20px;height:20px;}
.container-main .main-02 .img-group .img-row li:nth-child(2) p{text-align:left;color:var(--c400);font-weight:500;font-size:15px;padding-left:8px;}
@media (max-width:639px){
  .container-main .main-02 .top-space{height:21.875vw;}
  .container-main .main-02 .section-title{padding-top:37.625vw;margin-bottom:4.375vw;font-size:7.2vw;}
  .container-main .main-02 .cc-row{height:70vw;margin-top:10.5vw;}
  .container-main .main-02 .cc-row .cc-inner{width:82vw;height:62vw;}
  .container-main .main-02 .img-group{width:70vw;margin-bottom:8.75vw;}
  .container-main .main-02 .img-group .img-row li{width:28vw;}
  .container-main .main-02 .img-group .img-row li:nth-child(2){width:42vw;}
}
@media screen and (min-width:1200px){
  .container-main .main-02 .top-space{height:135px;}
  .container-main .main-02 .bg-img-row .ceiling{height:330px;}
  .container-main .main-02 .bg-img-row:before{height:330px;}
  .container-main .main-02 .bg-img-row .lamp{width:60px;margin-left:-30px;}
  .container-main .main-02 .section-title{padding-top:210px;margin-bottom:22px;}
  .container-main .main-02 .cc-row{height:400px;margin-bottom:40px;}
  .container-main .main-02 .cc-row .cc-inner{width:520px;height:390px;}
  .container-main .main-02 .img-group{width:760px;height:220px;margin:0 auto 56px;}
  .container-main .main-02 .img-group .img-row{width:220px;height:220px;margin-bottom:0;align-content:flex-start;}
  .container-main .main-02 .img-group .img-row li{width:220px;height:128px;display:flex;justify-content:center;align-items:flex-end;}
  .container-main .main-02 .img-group .img-row li img{width:auto;height:120px;max-width:140px;object-fit:contain;}
  .container-main .main-02 .img-group .img-row li:nth-child(2){display:block;height:auto;padding-top:16px;text-align:center;}
  .container-main .main-02 .img-group .img-row li:nth-child(2) strong{padding-left:0;justify-content:center;text-align:center;font-size:20px;width:100%;}
  .container-main .main-02 .img-group .img-row li:nth-child(2) strong span{font-size:20px;text-align:center;}
  .container-main .main-02 .img-group .img-row li:nth-child(2) p{font-size:16px;margin-top:10px;padding-left:0;text-align:center;width:100%;}
}

/* ---------- main-03 : 운영 (노트북+폰, 말풍선, 그림자) ---------- */
.container-main .main-03{background:var(--bg-gray);}
.container-main .main-03 .section-title{padding-top:0;margin-bottom:17px;}
.container-main .main-03 .txt-row{margin-bottom:17px;padding:0 20px;}
.container-main .main-03 .img-group{position:relative;width:100%;max-width:1200px;margin:0 auto;height:467px;}
.container-main .main-03 .img-group .bg-room{position:absolute;left:50%;top:140px;width:120%;max-width:1200px;transform:translateX(-50%);opacity:.9;z-index:0;}
.container-main .main-03 .img-group .msg1,.container-main .main-03 .img-group .msg2{position:absolute;z-index:2;}
.container-main .main-03 .img-group .msg1{top:6px;left:8%;width:216px;}
.container-main .main-03 .img-group .msg2{bottom:40px;left:auto;right:6%;width:200px;}
.bubble-fx{position:relative;background:#fff;border:2px solid var(--brand);border-radius:60px;padding:16px 22px;text-align:center;font-size:14px;line-height:1.55;color:var(--c700);font-weight:500;box-shadow:0 10px 24px rgba(var(--brand-rgb),.12);}
.bubble-fx b{color:var(--brand);font-weight:700;}
.bubble-fx:after{content:"";position:absolute;width:14px;height:14px;background:#fff;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);left:60%;bottom:-9px;transform:rotate(45deg);}
.bubble-fx.up:after{bottom:auto;top:-9px;transform:rotate(-135deg);left:36%;}
.container-main .main-03 .img-group .phone-group{position:absolute;left:50%;top:120px;width:293px;height:300px;z-index:1;}
.container-main .main-03 .img-group .phone-group .phone1,.container-main .main-03 .img-group .phone-group .phone2{position:absolute;}
.container-main .main-03 .img-group .phone-group .phone1{z-index:2;left:0;top:28px;width:200px;}
.container-main .main-03 .img-group .phone-group .phone1 img{width:100%;transform:rotate(-6deg);}
.container-main .main-03 .img-group .phone-group .phone2{right:0;top:0;width:96px;z-index:3;}
.container-main .main-03 .img-group .phone-group .phone2 img{width:100%;transform:rotate(9deg);}
.container-main .main-03 .img-group .phone-group .fx-check{position:absolute;z-index:4;left:52%;top:32%;width:34px;height:34px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(var(--brand-rgb),.4);animation:popIn .5s ease-out both;}
.container-main .main-03 .img-group .phone-group .fx-check:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--brand);animation:ringPulse 2s ease-out infinite;}
.container-main .main-03 .img-group .phone-group .fx-check svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.container-main .main-03 .img-group .shadow{position:absolute;bottom:50px;left:50%;width:185px;height:30px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.14),rgba(0,0,0,0) 70%);z-index:0;}
.container-main .main-03 .btn-row{margin-top:20px;}
@media (max-width:639px){
  .container-main .main-03 .img-group{height:122.5vw;}
  .container-main .main-03 .img-group .msg1{width:56vw;left:4%;font-size:3.4vw;}
  .container-main .main-03 .img-group .msg2{width:52vw;right:4%;bottom:12vw;}
  .bubble-fx{font-size:3.4vw;padding:3.4vw 4vw;}
  .container-main .main-03 .img-group .phone-group{top:32vw;width:77vw;height:74vw;}
  .container-main .main-03 .img-group .phone-group .phone1{width:52vw;top:8vw;}
  .container-main .main-03 .img-group .phone-group .phone2{width:26vw;}
  .container-main .main-03 .img-group .shadow{bottom:13vw;width:48vw;}
}
@media screen and (min-width:640px){
  .container-main .main-03 .img-group .msg1{left:22%;}
  .container-main .main-03 .img-group .msg2{right:20%;}
}
@media screen and (min-width:1200px){
  .container-main .main-03 .txt-row{margin-bottom:40px;}
  .container-main .main-03 .img-group{height:600px;margin-bottom:57px;}
  .container-main .main-03 .img-group .bg-room{top:150px;width:1200px;}
  .container-main .main-03 .img-group .msg1{width:284px;top:0;left:23%;}
  .container-main .main-03 .img-group .msg2{width:250px;bottom:20px;right:21%;}
  .bubble-fx{font-size:17px;padding:22px 26px;}
  .container-main .main-03 .img-group .phone-group{top:70px;width:536px;height:515px;}
  .container-main .main-03 .img-group .phone-group .phone1{top:60px;width:400px;left:-10px;}
  .container-main .main-03 .img-group .phone-group .phone2{width:170px;right:-30px;top:40px;}
  .container-main .main-03 .img-group .phone-group .fx-check{width:44px;height:44px;left:66%;top:36%;}
  .container-main .main-03 .img-group .phone-group .fx-check svg{width:20px;height:20px;}
  .container-main .main-03 .img-group .shadow{width:330px;height:40px;bottom:15px;}
}

/* ---------- main-04 : 진행 4단계 (원형 아이콘 + 화살표) ---------- */
.container-main .main-04 .inner .section-title{padding-top:0;}
.container-main .main-04 .inner .txt-row{margin:13px 20px;}
.container-main .main-04 .inner .gif-group{position:relative;width:315px;margin:40px auto;display:flex;justify-content:flex-start;align-items:center;flex-flow:wrap;}
.container-main .main-04 .inner .gif-group .gif-row{position:relative;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-flow:wrap;}
.container-main .main-04 .inner .gif-group .gif-row li{height:107px;display:flex;justify-content:flex-start;align-items:center;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(1){width:107px;border-radius:107px;overflow:hidden;background:var(--bg-gray);position:relative;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(1) img{width:100%;animation:bob 2.6s ease-in-out infinite;}
.container-main .main-04 .inner .gif-group .gif-row:nth-child(2) li:nth-child(1) img{animation-delay:.4s;}
.container-main .main-04 .inner .gif-group .gif-row:nth-child(3) li:nth-child(1) img{animation-delay:.8s;}
.container-main .main-04 .inner .gif-group .gif-row:nth-child(4) li:nth-child(1) img{animation-delay:1.2s;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(1):after{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px dashed rgba(var(--brand-rgb),.5);animation:spin 18s linear infinite;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(2){width:208px;flex-flow:wrap;align-content:center;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(2) strong{display:block;width:100%;text-align:left;font-weight:700;color:var(--c900);padding-left:21px;margin-bottom:10px;font-size:19px;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(2) p{width:100%;text-align:left;font-weight:500;color:var(--c400);padding-left:21px;font-size:15px;line-height:1.5;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(3){width:100%;height:40px;padding:9px 0 9px 44px;}
.container-main .main-04 .inner .gif-group .gif-row li:nth-child(3) .icon-svg{color:var(--brand);width:21px;height:21px;}
.container-main .main-04 .inner .gif-group .gif-row .step-n{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:2;letter-spacing:0;}
@media (max-width:639px){.container-main .main-04 .inner .gif-group{width:82.6vw;}}
@media screen and (min-width:1200px){
  .container-main .main-04 .inner .gif-group{display:flex;justify-content:space-between;align-items:flex-start;width:1000px;height:280px;margin-top:80px;}
  .container-main .main-04 .inner .gif-group .gif-row{width:280px;height:225px;justify-content:flex-start;align-content:space-between;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(1){width:160px;height:128px;border-radius:0;justify-content:center;background:none;overflow:visible;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(1) img{display:block;width:128px;height:128px;border-radius:128px;background:var(--bg-gray);}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(1):after{inset:-4px 12px;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(2){width:160px;height:calc(100% - 128px);align-content:flex-end;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(2) strong{padding-left:0;margin-bottom:10px;text-align:center;font-size:20px;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(2) p{padding-left:0;text-align:center;font-size:16px;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(3){width:160px;height:0;padding:0;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(3) .icon-svg{position:absolute;right:auto;left:204px;top:48px;}
  .container-main .main-04 .inner .gif-group .gif-row li:nth-child(3) .icon-svg svg{transform:rotate(-90deg);}
  .container-main .main-04 .inner .gif-group .gif-row:last-child{width:160px;}
  .container-main .main-04 .inner .gif-group .gif-row:last-child li{width:160px;}
  .container-main .main-04 .inner .gif-group .gif-row .step-n{left:22px;top:-4px;}
}

/* ---------- main-05 : WORK 슬라이더 (레퍼런스 후기 슬라이더) ---------- */
.container-main .main-05{position:relative;z-index:1;}
.container-main .main-05:before{content:"";position:absolute;width:100%;left:0;top:0;background:var(--bg-gray);height:450px;}
.container-main .main-05 .inner .star{position:relative;width:275px;height:81px;margin:0 auto;}
.container-main .main-05 .inner .star .star_bg{position:relative;width:100%;height:100%;}
.container-main .main-05 .inner .star .star_bg svg{position:absolute;inset:0;width:100%;height:100%;}
.container-main .main-05 .inner .star .star_bg .on{clip-path:inset(0 100% 0 0);transition:clip-path 1.2s ease-out;filter:drop-shadow(0 6px 10px rgba(var(--brand-rgb),.35));}
.container-main .main-05 .inner .star.active .star_bg .on{clip-path:inset(0 0 0 0);}
.container-main .main-05 .inner .txt-row.pc{display:none;}
.container-main .main-05 .inner .slide-row{margin-top:40px;}
.container-main .main-05 .inner .slide-row .work_slide{padding-bottom:33px;overflow:visible;}
.container-main .main-05 .inner .slide-row .work_slide .swiper-slide{position:relative;z-index:1;background:#fff;border:2px solid var(--line);padding:0;width:333px;border-radius:11px;min-height:293px;box-shadow:0 30px 23px -23px rgba(0,0,0,.15);overflow:hidden;transition:transform .3s,border-color .3s;display:flex;height:auto;}
.work-card{display:flex;flex-direction:column;width:100%;}
.container-main .main-05 .inner .slide-row .work_slide .swiper-slide:hover{border-color:rgba(var(--brand-rgb),.6);}
.work-card .thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg-gray);border-bottom:1px solid var(--line-soft);}
.work-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s ease;}
.work-card:hover .thumb img{transform:scale(1.04);}
.work-card .thumb .tag{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:13px;background:rgba(255,255,255,.95);color:var(--brand-dark);font-size:12px;font-weight:700;box-shadow:0 4px 10px rgba(0,0,0,.08);}
.work-card .thumb .live{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:13px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;}
.work-card .thumb .live i{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.4s infinite;}
.work-card .slide-box{padding:22px 24px 24px;}
.work-card .slide-box .txt-row{text-align:left;color:var(--c900);font-weight:500;font-size:15px;line-height:1.65;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;}
.work-card .slide-box .user-row{display:flex;justify-content:flex-start;align-items:center;margin-top:18px;}
.work-card .slide-box .user-row li:nth-child(1){overflow:hidden;width:44px;height:44px;border-radius:44px;background:var(--brand-light);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-family:"Gowun Batang",serif;font-weight:700;font-size:16px;flex:0 0 auto;}
.work-card .slide-box .user-row li:nth-child(2){display:flex;justify-content:flex-start;align-items:center;align-content:center;flex-flow:wrap;padding-left:12px;}
.work-card .slide-box .user-row li:nth-child(2) strong{display:block;width:100%;color:var(--c700);font-weight:600;text-align:left;font-size:15px;}
.work-card .slide-box .user-row li:nth-child(2) p{color:var(--c350);font-weight:500;font-size:13px;margin-top:3px;}
.work-card .slide-box .user-row li:nth-child(3){margin-left:auto;color:var(--brand);font-size:13px;font-weight:700;white-space:nowrap;}
.work-card.cta{background:var(--brand);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 30px;min-height:100%;}
.work-card.cta .big{font-family:"Gowun Batang",serif;font-weight:700;font-size:22px;line-height:1.4;}
.work-card.cta p{margin-top:12px;font-size:14px;color:rgba(255,255,255,.85);line-height:1.6;}
.work-card.cta .btn{margin-top:22px;background:#fff;color:var(--brand-dark);height:46px;padding:0 26px;font-size:14px;}
.work-card.cta .btn:hover{background:var(--c900);color:#fff;}
.container-main .main-05 .swiper-pagination{position:static;margin-top:8px;}
.container-main .main-05 .swiper-pagination-bullet{width:8px;height:8px;background:#ccc;opacity:1;margin:0 4px !important;}
.container-main .main-05 .swiper-pagination-bullet-active{background:var(--brand);width:22px;border-radius:4px;}
.container-main .main-05 .more-row{margin-top:26px;}
@media (max-width:639px){
  .container-main .main-05:before{height:118.125vw;}
  .container-main .main-05 .inner .star{width:72vw;height:21.2vw;}
  .container-main .main-05 .inner .slide-row .work_slide .swiper-slide{width:87.5vw;}
}
@media screen and (min-width:1200px){
  .container-main .main-05:before{height:710px;}
  .container-main .main-05 .inner .star{width:431px;height:127px;}
  .container-main .main-05 .inner .section-title{margin-bottom:34px;}
  .container-main .main-05 .inner .txt-row.pc{display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:500;color:var(--c450);margin-bottom:15px;}
  .container-main .main-05 .inner .txt-row.pc .icon-svg{width:24px;height:24px;margin-right:8px;color:var(--brand);}
  .container-main .main-05 .inner .slide-row{margin-top:80px;}
  .container-main .main-05 .inner .slide-row .work_slide .swiper-slide{min-height:335px;}
  .work-card .slide-box{padding:26px 30px 28px;}
  .work-card .slide-box .txt-row{font-size:17px;}
}

/* ---------- main-06 : FAQ 그리드 슬라이더 ---------- */
.container-main .main-06 .inner{padding:0;}
.container-main .main-06 .inner .txt-row{display:none;}
.container-main .main-06 .inner .faq-row{width:87.5%;margin:40px auto 0;height:700px;}
.container-main .main-06 .inner .faq-row .faq-list{position:relative;display:flex;justify-content:center;align-items:center;flex-flow:wrap;width:100%;margin:auto;}
.container-main .main-06 .inner .faq-row .swiper-slide{border:2px solid var(--line);background:#fff;text-align:left;padding:33px;border-radius:11px;height:calc((100% - 30px)/3);display:flex;justify-content:center;align-items:center;transition:all .25s ease-in-out;cursor:pointer;}
.container-main .main-06 .inner .faq-row .swiper-slide:hover{filter:drop-shadow(0 5px 5px rgba(0,0,0,.1));border-color:rgba(var(--brand-rgb),.6);}
.container-main .main-06 .inner .faq-row .swiper-slide .box{width:100%;height:100%;display:flex;justify-content:flex-start;align-items:flex-start;align-content:flex-start;flex-flow:wrap;}
.container-main .main-06 .inner .faq-row .swiper-slide .box strong{color:var(--c900);font-weight:700;letter-spacing:-1.04px;display:-webkit-box;overflow:hidden;vertical-align:top;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-height:43px;margin-bottom:13px;font-size:17px;line-height:1.35;width:100%;}
.container-main .main-06 .inner .faq-row .swiper-slide .box p{color:var(--c350);font-weight:500;font-size:15px;line-height:1.55;display:-webkit-box;overflow:hidden;vertical-align:top;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;width:100%;}
.container-main .main-06 .inner .faq-row .swiper-slide .box .more{margin-top:auto;color:var(--brand);font-size:13px;font-weight:700;padding-top:12px;}
.container-main .main-06 .swiper-pagination{position:static;margin-top:20px;}
.container-main .main-06 .swiper-pagination-bullet{width:8px;height:8px;background:#ccc;opacity:1;margin:0 4px !important;}
.container-main .main-06 .swiper-pagination-bullet-active{background:var(--brand);width:22px;border-radius:4px;}
.container-main .main-06 .faq-more{margin-top:40px;padding-bottom:20px;}
@media (max-width:639px){.container-main .main-06 .inner .faq-row{height:183.75vw;}}
@media screen and (min-width:768px){.container-main .main-06 .inner .faq-row{height:30rem;}}
@media screen and (min-width:1200px){
  .container-main .main-06 .inner .txt-row{display:flex;justify-content:center;align-items:center;flex-flow:wrap;margin-top:30px;}
  .container-main .main-06 .inner .txt-row span{width:100%;color:var(--c450);font-weight:500;font-size:20px;}
  .container-main .main-06 .inner .txt-row span a{display:inline-block;color:var(--brand);}
  .container-main .main-06 .inner .faq-row{width:1000px;height:520px;}
  .container-main .main-06 .inner .faq-row .swiper-slide{height:calc((100% - 30px)/2);}
}

/* ---------- main-07 : 무료 진단 밴드 + 공원 장면 + 다크 스트립 ---------- */
.container-main .main-07 .inner{position:relative;padding:33px 0 0;z-index:1;min-height:420px;}
.container-main .main-07 .inner:before{content:"";position:absolute;width:100%;left:0;bottom:-2px;z-index:2;background:var(--bg-dark);height:33px;}
.container-main .main-07 .park{position:absolute;left:50%;bottom:20px;width:140%;max-width:1440px;transform:translateX(-50%);z-index:0;pointer-events:none;}
.container-main .main-07 .park img{width:100%;}
.container-main .main-07 .park .fx-bird{position:absolute;left:0;top:30%;width:26px;height:18px;animation:flyAcross 14s linear infinite;}
.container-main .main-07 .park .fx-bird svg{width:100%;height:100%;fill:none;stroke:#8C8C8C;stroke-width:1.6;stroke-linecap:round;}
.container-main .main-07 .park .fx-balloon{display:none;}
.container-main .main-07 .inner ul{position:relative;display:flex;justify-content:center;align-items:center;flex-flow:wrap;z-index:1;padding:0 20px;}
.container-main .main-07 .inner ul li{width:100%;}
.container-main .main-07 .inner ul li:nth-child(1){margin:13px auto 0;}
.container-main .main-07 .inner ul li:nth-child(1) strong{color:var(--brand);font-weight:700;font-size:19px;display:block;letter-spacing:0;}
.container-main .main-07 .inner ul li:nth-child(1) p{color:var(--c400);font-weight:500;font-size:15px;line-height:1.55;margin-top:8px;}
.container-main .main-07 .inner ul li:nth-child(2),.container-main .main-07 .inner ul li:nth-child(3){margin-top:20px;}
.container-main .main-07 .inner ul li a.dl{background:#000;border-radius:12px;padding:0 24px;height:72px;display:flex;justify-content:space-between;align-items:center;transition:all .15s ease-in;color:#fff;}
.container-main .main-07 .inner ul li a.dl .txt{display:flex;flex-direction:column;gap:5px;}
.container-main .main-07 .inner ul li a.dl .txt small{font-size:11px;color:rgba(255,255,255,.55);font-weight:500;letter-spacing:0;}
.container-main .main-07 .inner ul li a.dl .txt b{font-size:18px;font-weight:700;}
.container-main .main-07 .inner ul li a.dl .icon-svg{width:22px;height:22px;color:#fff;}
.container-main .main-07 .inner ul li a.dl:hover{background:var(--brand);}
@media screen and (min-width:640px){
  .container-main .main-07 .inner{padding-top:48px;min-height:460px;}
  .container-main .main-07 .inner:before{height:40px;}
  .container-main .main-07 .inner ul li{width:auto;}
  .container-main .main-07 .inner ul li:nth-child(1){width:100%;text-align:center;}
  .container-main .main-07 .inner ul li:nth-child(2){margin-right:16px;}
  .container-main .main-07 .park{width:100%;}
}
@media screen and (min-width:1200px){
  .container-main .main-07 .inner{min-height:506px;}
  .container-main .main-07 .inner ul{width:1000px;margin:auto;padding:0;justify-content:flex-start;}
  .container-main .main-07 .inner ul li:nth-child(1){width:342px;text-align:left;margin:0;}
  .container-main .main-07 .inner ul li:nth-child(1) strong{font-size:18px;}
  .container-main .main-07 .inner ul li:nth-child(1) p{font-size:16px;margin-top:12px;}
  .container-main .main-07 .inner ul li:nth-child(2),.container-main .main-07 .inner ul li:nth-child(3){width:317px;height:90px;margin-top:0;}
  .container-main .main-07 .inner ul li:nth-child(2){margin-right:24px;}
  .container-main .main-07 .inner ul li a.dl{height:90px;padding:0 32px;}
  .container-main .main-07 .inner ul li a.dl .txt b{font-size:20px;}
  .container-main .main-07 .park{bottom:20px;}
}

/* ---------- main-03b : AI 챗봇 (소개 페이지 chat-ui 재사용, 템플릿 _build/chatbot_section.py) ---------- */
.main-03b{padding:120px 0;background:#fff;}
.main-03b .chat-copy .txt-row{text-align:left;margin:16px 0 0;}
.main-03b .btn-row.left{justify-content:flex-start;margin-top:30px;}
.main-03b .sec-note{margin-top:32px;font-size:13px;color:var(--c400);text-align:center;line-height:1.7;}
@media (max-width:1023px){.main-03b{padding:80px 0;}}
.chat-cols{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
.chat-copy .section-title{text-align:left;padding-top:0;}
.chat-copy .txt-row{text-align:left;margin:16px 0 0;}
.chat-points{margin-top:28px;display:flex;flex-direction:column;gap:16px;}
.chat-points li{display:flex;gap:14px;align-items:flex-start;}
.chat-points .n{width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.chat-points b{display:block;font-size:15.5px;font-weight:700;letter-spacing:-0.03em;color:var(--c900);}
.chat-points p{margin-top:5px;font-size:14px;color:var(--c600);line-height:1.7;}
.guardrail{margin-top:26px;background:#fff;border:2px solid var(--line);border-left:4px solid #C25B2C;border-radius:8px;padding:16px 18px;font-size:13.5px;color:var(--c600);line-height:1.75;}
.guardrail b{color:#C25B2C;}
.chat-ui{background:#fff;border-radius:16px;box-shadow:0 26px 60px rgba(0,0,0,.1);overflow:hidden;border:2px solid var(--line);}
.chat-head{background:var(--brand);color:#fff;padding:18px 22px;display:flex;align-items:center;gap:12px;}
.chat-head .ava{width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.chat-head .ava img{width:34px;height:34px;object-fit:contain;}
.chat-head strong{display:block;font-size:16px;font-weight:700;}
.chat-head span{font-size:12.5px;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:6px;}
.chat-head span i{width:6px;height:6px;border-radius:50%;background:#B7F5DB;display:block;}
.chat-body{padding:22px 20px;height:360px;overflow-y:auto;background:var(--bg-gray);display:flex;flex-direction:column;gap:12px;}
.bubble{max-width:86%;font-size:14px;line-height:1.7;padding:12px 16px;border-radius:16px;white-space:pre-line;}
.bubble.bot{background:#fff;color:var(--c700);border-top-left-radius:5px;box-shadow:0 3px 12px rgba(0,0,0,.05);align-self:flex-start;}
.bubble.me{background:var(--brand);color:#fff;border-top-right-radius:5px;align-self:flex-end;}
.bubble .link{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--brand-dark);background:var(--brand-light);padding:6px 12px;border-radius:999px;}
.bubble.typing{display:flex;gap:5px;align-items:center;padding:14px 16px;}
.bubble.typing i{width:7px;height:7px;border-radius:50%;background:var(--c400);display:block;animation:blink 1.1s infinite;}
.bubble.typing i:nth-child(2){animation-delay:.18s;}
.bubble.typing i:nth-child(3){animation-delay:.36s;}
.chat-quick{padding:14px 16px 18px;background:#fff;border-top:1px solid var(--line-soft);}
.chat-quick .label{font-size:12px;color:var(--c400);font-weight:600;margin-bottom:10px;}
.chat-quick .qs{display:flex;flex-wrap:wrap;gap:8px;}
.qbtn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-size:13px;color:var(--c700);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;}
.qbtn:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
.qbtn:disabled{opacity:.4;cursor:default;}
@media screen and (min-width:1200px){.chat-cols{grid-template-columns:1fr 1fr;gap:70px;} .chat-body{height:400px;}}

/* ---------- 공통: 진행 절차 (레퍼런스 하단 스텝 행) ---------- */
.main-03b .inner{max-width:1200px;margin:0 auto;padding:0 20px;}
@media (max-width:639px){.main-03b .inner{padding:0 16px;}}

/* ---------- main-03c : SEO + GEO (템플릿 _build/geo_section.py) ---------- */
.main-03c{padding:110px 0;background:var(--bg-gray);}
.main-03c .inner{max-width:1200px;margin:0 auto;padding:0 20px;text-align:center;}
.main-03c .txt-row{margin-top:16px;}
.geo-cards{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px;text-align:left;}
.geo-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px 28px;}
.geo-card .ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--brand-light);}
.geo-card .ico svg{width:28px;height:28px;fill:none;stroke:var(--brand);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.geo-card h3{margin-top:18px;font-size:19px;font-weight:700;letter-spacing:-.03em;color:var(--c900);}
.geo-card h3 b{color:var(--brand);font-weight:700;}
.geo-card>p{margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--c600);}
.geo-card ul{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:9px;}
.geo-card li{position:relative;padding-left:16px;font-size:14px;line-height:1.65;color:var(--c700);}
.geo-card li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--brand);}
.geo-guard{margin-top:28px;background:#fff;border:1px solid var(--line);border-left:4px solid #C25B2C;border-radius:10px;padding:22px 26px;text-align:left;}
.geo-guard .t{font-size:14px;font-weight:700;color:#C25B2C;margin-bottom:8px;}
.geo-guard p{font-size:14px;line-height:1.8;color:var(--c600);}
.geo-guard b{color:var(--c900);font-weight:700;}
.main-03c .btn-row{margin-top:36px;justify-content:center;}
@media screen and (min-width:768px){.geo-cards{grid-template-columns:repeat(3,1fr);gap:22px;}}
@media (max-width:767px){.main-03c{padding:74px 0;}.geo-guard{padding:20px;}}
