@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
:root{--yellow:#FFC629;--yellow-soft:#FFF1C2;--orange:#F26A1B;--orange-2:#E15A0E;--orange-soft:#FFE6D3;
  --ink:#171513;--ink-soft:#5C564E;--gray:#9a948b;--line:#ECE6DC;--white:#fff;
  --shadow:0 16px 40px -20px rgba(23,21,19,.35);--shadow-sm:0 8px 22px -14px rgba(23,21,19,.3);}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Pretendard",sans-serif;background:var(--white);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;padding:14px 26px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;transition:.2s;background:var(--ink);color:#fff}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn.line{background:transparent;color:var(--ink)}.btn.line:hover{background:var(--ink);color:#fff}
.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff}.btn.orange:hover{background:var(--orange-2);border-color:var(--orange-2)}
.btn.big{font-size:17px;padding:17px 34px}

/* util + header */
.util{background:var(--ink);color:#fff;font-size:12.5px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:37px}
.util a{opacity:.85}.util a:hover{opacity:1;color:var(--yellow)}.util .r{display:flex;gap:16px}
header{position:sticky;top:0;z-index:100;background:var(--yellow);border-bottom:2px solid var(--ink)}
.nav{display:flex;align-items:center;height:68px;gap:20px}
.logo{display:flex;align-items:center;gap:9px;font-weight:900;font-size:21px;letter-spacing:-.02em}
.menu{display:flex;gap:24px;margin-left:12px}
.menu a{font-weight:800;font-size:15px}.menu a:hover{color:var(--orange)}.menu a.on{color:var(--orange)}
.nav-r{margin-left:auto;display:flex;align-items:center;gap:14px}
.cartbtn{position:relative;font-weight:800;font-size:15px;display:flex;align-items:center;gap:7px;cursor:pointer}
.cartbtn .count{background:var(--ink);color:var(--yellow);font-size:12px;font-weight:800;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}.ham span{width:24px;height:3px;background:var(--ink);border-radius:2px}

/* HERO full-bleed */
.hero{background:var(--yellow);border-bottom:2px solid var(--ink);position:relative;overflow:hidden;min-height:66vh;display:flex;align-items:center}
.hero .inner{max-width:1240px;margin:0 auto;padding:200px 28px 70px;text-align:center;width:100%;position:relative;z-index:2}
.char-slot{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:1;width:240px;height:172px;
  border:3px dashed var(--ink);border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(255,255,255,.4);color:var(--ink)}
.char-slot .ic{font-size:34px}.char-slot b{font-size:14px;font-weight:800}.char-slot span{font-size:12px;color:#5c5430;font-weight:700}
.hero h1{font-size:clamp(40px,7.5vw,92px);font-weight:900;line-height:1.0;letter-spacing:-.04em}
.hero h1 .u{position:relative;white-space:nowrap}
.hero h1 .u::after{content:"";position:absolute;left:-1%;right:-1%;bottom:.1em;height:.16em;background:var(--orange);z-index:-1;border-radius:4px}
.hero p{font-size:18px;font-weight:600;max-width:560px;margin:22px auto 28px;color:#4a4220}
.shopbtns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.shopbtns a{background:var(--ink);color:#fff;font-weight:800;font-size:14px;padding:11px 19px;border-radius:999px;transition:.2s}
.shopbtns a:hover{transform:translateY(-2px)}
.shopbtns a.o{background:transparent;color:var(--ink);border:2px solid var(--ink)}

/* full-bleed banner */
.bleed{width:100%;border-bottom:2px solid var(--ink);background:var(--yellow-soft);height:58vh;min-height:380px;display:grid;place-items:center;position:relative;overflow:hidden}
.bleed .ph{border:3px dashed var(--ink);border-radius:20px;background:rgba(255,255,255,.45);padding:26px 40px;text-align:center}
.bleed .ph .ic{font-size:40px}.bleed .ph b{display:block;font-size:18px;font-weight:900;margin-top:8px}.bleed .ph span{font-size:13px;color:var(--ink-soft);font-weight:700}

/* 메인 배너 홍보(캔바 교사교육) */
.promo-bleed{height:auto;min-height:0;display:block;background:var(--yellow-soft);padding:0}
.promo-wrap{max-width:1240px;margin:0 auto;padding:54px 28px;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;width:100%}
.promo-left{text-align:left}
.promo-badge{display:inline-block;background:var(--ink);color:var(--yellow);font-weight:800;font-size:14px;padding:8px 16px;border-radius:999px;margin-bottom:16px}
.promo-left h2{font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1.08;letter-spacing:-.03em}
.promo-left h2 .u{position:relative;white-space:nowrap}
.promo-left h2 .u::after{content:"";position:absolute;left:-1%;right:-1%;bottom:.08em;height:.18em;background:var(--orange);z-index:0;border-radius:4px}
.promo-left h2 .u{z-index:1}
.promo-highlight{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 4px}
.hl-free{background:var(--orange);color:#fff;font-weight:900;font-size:16px;padding:11px 18px;border-radius:999px;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.hl-date{background:var(--ink);color:var(--yellow);font-weight:900;font-size:16px;padding:11px 18px;border-radius:999px}
.promo-lead{font-size:17px;font-weight:600;color:#4a4220;margin:18px 0 20px;max-width:520px;line-height:1.6}
.pp-free{margin-top:12px;font-size:16px;font-weight:900;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:7px 16px;display:inline-block}
.promo-info{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.promo-info span{font-size:15px;font-weight:800;color:var(--ink);background:rgba(255,255,255,.6);padding:10px 16px;border-radius:12px;border:2px solid var(--ink);width:fit-content;max-width:100%}
.promo-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.promo-cta .apply{background:var(--orange);color:#fff;border:none;font-weight:900;font-size:17px;padding:16px 30px;border-radius:999px;cursor:pointer;font-family:inherit;box-shadow:0 6px 0 #c2540f;transition:.12s}
.promo-cta .apply:hover{transform:translateY(2px);box-shadow:0 4px 0 #c2540f}
.promo-cta .ghost{font-weight:800;color:var(--ink);text-decoration:underline;font-size:15px}
.promo-note{margin-top:18px;font-size:14px;font-weight:700;color:#7a3a00;background:#fff3d6;border:2px dashed var(--orange);border-radius:12px;padding:12px 16px}
.promo-right{display:flex;justify-content:center}
.promo-poster{background:linear-gradient(150deg,#7b2ff7,#f107a3 55%,#ff7a18);border:3px solid var(--ink);border-radius:26px;padding:36px 30px;text-align:center;color:#fff;box-shadow:8px 8px 0 var(--ink);position:relative;max-width:330px;width:100%;transform:rotate(2deg)}
.pp-badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--yellow);color:var(--ink);border:2.5px solid var(--ink);font-weight:900;font-size:13px;padding:6px 16px;border-radius:999px;white-space:nowrap}
.pp-emoji{font-size:34px;margin:8px 0 6px;letter-spacing:4px}
.pp-title{font-size:34px;font-weight:900;line-height:1.08;letter-spacing:-.02em;text-shadow:2px 2px 0 rgba(0,0,0,.25)}
.pp-sub{font-size:17px;font-weight:800;margin-top:12px;background:rgba(255,255,255,.22);border-radius:10px;padding:7px}
.pp-seats{margin-top:14px;font-size:14px;font-weight:800;background:#fff;color:#b00050;border-radius:999px;padding:8px 14px;display:inline-block}
@media(max-width:860px){.promo-wrap{grid-template-columns:1fr;padding:38px 22px;gap:30px}.promo-right{order:-1}.promo-poster{transform:rotate(0);max-width:300px}.promo-cta .apply{width:100%}}

/* 교구 상세페이지 */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}
.pd-main{aspect-ratio:3/4;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:#fff;display:grid;place-items:center;font-size:74px}
.pd-main img{width:100%;height:100%;object-fit:contain}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pd-thumb{width:74px;height:74px;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:var(--yellow-soft);cursor:pointer;display:grid;place-items:center;font-size:24px;padding:0}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-thumb.on{border-color:var(--orange);border-width:3px}
.pd-video{margin-top:16px}
.pd-video .vbox{aspect-ratio:16/9;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:#000;display:grid;place-items:center}
.pd-video video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.pd-video .vph{color:#fff;font-weight:700;text-align:center;font-size:14px;padding:16px}
.pd-info h1{font-size:clamp(24px,3.4vw,34px);font-weight:900;line-height:1.15;letter-spacing:-.02em}
.pd-tagline{color:var(--ink-soft);font-weight:600;margin:10px 0 18px;line-height:1.6}
.pd-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.pd-badge{background:var(--ink);color:var(--yellow);font-weight:800;font-size:13px;padding:7px 13px;border-radius:999px}
.pd-badge.hot{background:var(--orange);color:#fff}
.pd-price{border:2px solid var(--ink);border-radius:16px;padding:18px 20px;background:var(--yellow-soft)}
.pd-price .reg{color:var(--gray);text-decoration:line-through;font-weight:700;font-size:15px}
.pd-price .now{display:flex;align-items:baseline;gap:8px;margin-top:4px}
.pd-price .now b{font-size:32px;font-weight:900;color:var(--orange)}
.pd-price .now span{font-weight:800;font-size:14px}
.pd-price .meta{margin-top:8px;font-size:13.5px;color:var(--ink-soft);font-weight:700}
.pd-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pd-cta .btn-d{background:var(--ink);color:var(--yellow);border:none;border-radius:12px;padding:14px 20px;font-weight:800;cursor:pointer;font-family:inherit;font-size:15px}
.pd-cta .btn-l{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:12px;padding:12px 20px;font-weight:800;font-size:15px}
.pd-feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px}
.pd-feat .f{border:2px solid var(--line);border-radius:14px;padding:16px 14px;font-weight:800;text-align:center;background:#fff}
.pd-feat .f span{display:block;font-size:30px;margin-bottom:6px}
.pd-list{list-style:none;display:grid;gap:10px;margin-top:6px}
.pd-list li{padding-left:28px;position:relative;font-weight:600;color:#3c372f;line-height:1.55}
.pd-list li::before{content:"✅";position:absolute;left:0;top:0}
@media(max-width:860px){.pd{grid-template-columns:1fr;gap:28px}}
.pd-qty{display:inline-flex;align-items:center;border:2px solid var(--ink);border-radius:12px;overflow:hidden;margin-bottom:14px}
.pd-qty button{width:42px;height:44px;border:none;background:#fff;font-size:20px;font-weight:900;cursor:pointer;font-family:inherit}
.pd-qty button:hover{background:var(--yellow-soft)}
.pd-qty input{width:54px;height:44px;text-align:center;border:none;border-left:2px solid var(--ink);border-right:2px solid var(--ink);font-size:16px;font-weight:800;font-family:inherit}

/* 장바구니 페이지 */
.cart-wrap{display:grid;grid-template-columns:1.4fr .9fr;gap:36px;align-items:start}
.cart-empty{text-align:center;padding:60px 20px;border:2px dashed var(--line);border-radius:18px}
.cart-empty .ic{font-size:54px}.cart-empty p{font-weight:700;color:var(--ink-soft);margin:10px 0 18px}
.cart-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:2px solid var(--line)}
.cart-row .ci-name{font-weight:800;font-size:15.5px}
.cart-row .ci-unit{font-size:13px;color:var(--ink-soft);font-weight:700;margin-top:2px}
.cart-row .ci-mid{flex:1}
.cart-qty{display:inline-flex;align-items:center;border:2px solid var(--ink);border-radius:10px;overflow:hidden}
.cart-qty button{width:34px;height:36px;border:none;background:#fff;font-size:17px;font-weight:900;cursor:pointer;font-family:inherit}
.cart-qty span{width:40px;text-align:center;font-weight:800;border-left:2px solid var(--ink);border-right:2px solid var(--ink);line-height:36px}
.cart-row .ci-sum{font-weight:900;min-width:96px;text-align:right}
.cart-row .ci-x{background:none;border:none;font-size:18px;cursor:pointer;color:var(--gray)}
.cart-row .ci-x:hover{color:var(--orange)}
.cart-side{border:2px solid var(--ink);border-radius:18px;padding:22px;background:var(--yellow-soft)}
.cart-side h3{font-size:18px;font-weight:900;margin-bottom:14px}
.cart-tot{display:flex;justify-content:space-between;font-weight:800;margin:8px 0}
.cart-tot.big{font-size:22px;color:var(--orange);border-top:2px solid var(--ink);padding-top:12px;margin-top:12px}
.cart-side .submit{width:100%;background:var(--ink);color:var(--yellow);border:none;border-radius:12px;padding:15px;font-weight:800;cursor:pointer;font-family:inherit;font-size:16px;margin-top:8px}
.cart-note{font-size:12.5px;color:var(--ink-soft);font-weight:600;margin-top:12px;line-height:1.6}
@media(max-width:860px){.cart-wrap{grid-template-columns:1fr;gap:24px}}

/* 회사소개 */
.ab-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.ab-stats .st{border:2px solid var(--ink);border-radius:16px;padding:20px 16px;text-align:center;background:#fff}
.ab-stats .st .n{display:block;font-size:24px;font-weight:900;color:var(--orange)}
.ab-stats .st .l{display:block;font-size:13.5px;font-weight:700;color:var(--ink-soft);margin-top:4px}
.ab-time{display:grid;gap:14px;max-width:760px}
.ab-time .tl{display:flex;gap:18px;align-items:flex-start;border:2px solid var(--line);border-radius:14px;padding:16px 18px;background:#fff}
.ab-time .tl .y{font-size:20px;font-weight:900;color:var(--orange);min-width:62px}
.ab-time .tl b{font-size:16px;font-weight:900}
.ab-time .tl p{font-size:13.5px;color:var(--ink-soft);font-weight:600;margin-top:3px}
/* 자료실 탭 */
.res-tabs{display:flex;gap:10px;flex-wrap:wrap}
.res-tab{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:12px 22px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit}
.res-tab.on{background:var(--ink);color:var(--yellow)}
.ai-intro{background:#f3ecfc;border:2px solid var(--ink);border-radius:14px;padding:14px 18px;font-weight:600;color:#3c372f;margin-bottom:18px;line-height:1.6}

/* 브랜드 파트너 */
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.brand{background:#eef0ee;border:2px solid var(--ink);border-radius:14px;padding:20px 14px;text-align:center;font-weight:900;font-size:16px;display:flex;flex-direction:column;justify-content:center;min-height:78px}
.brand span{display:block;font-size:11px;color:var(--gray);font-weight:800;margin-top:5px;letter-spacing:.06em}

/* 전시장 */
.hall-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.hall img{width:100%;height:230px;object-fit:cover;border:2px solid var(--ink);border-radius:12px;display:block;margin:10px 0 12px}
.hall{border:2px solid var(--ink);border-radius:18px;padding:22px;background:var(--yellow-soft)}
.hall .cat{font-weight:800;font-size:13px;color:var(--orange)}
.hall h4{font-size:19px;font-weight:900;margin:6px 0 10px}
.hall p{font-weight:600;color:#3c372f;line-height:1.6}
.hall-tel{display:inline-block;margin-top:14px;background:var(--ink);color:var(--yellow);font-weight:800;padding:10px 16px;border-radius:10px}

/* 신청 모달 잔여석 표시 */
.seat-info{font-size:14px;font-weight:700;border-radius:12px;padding:12px 14px;margin:4px 0 14px;line-height:1.55;border:2px solid var(--ink);background:#fff}
.seat-info.ok{background:#eafaf0;border-color:#1c9c54;color:#13693a}
.seat-info.full{background:#fdecec;border-color:#d23b3b;color:#a31f1f}

/* page hero (subpages) */
.phero{background:var(--yellow);border-bottom:2px solid var(--ink)}
.phero .wrap{padding:56px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.phero .crumb{font-size:13px;font-weight:800;color:#5c5430;margin-bottom:10px}
.phero h1{font-size:clamp(30px,5vw,52px);font-weight:900;letter-spacing:-.03em;line-height:1.05}
.phero p{font-size:16px;font-weight:600;color:#4a4220;margin-top:10px;max-width:560px}

/* ribbon */
.ribbon{background:var(--ink);color:#fff}
.ribbon .wrap{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 28px;flex-wrap:wrap;text-align:center}
.ribbon b{color:var(--yellow);font-weight:900}
.ribbon a{color:var(--yellow);font-weight:800;border-bottom:2px solid var(--yellow);padding-bottom:1px}
.ribbon-ai{background:linear-gradient(90deg,#171513,#3b1d6e 50%,#171513)}
.ribbon-ai span{font-size:15px;font-weight:700}
.ribbon-ai .ai-soon{background:var(--yellow);color:var(--ink);font-weight:900;font-size:12px;padding:5px 12px;border-radius:999px;letter-spacing:.05em;border:2px solid var(--yellow)}

/* sections */
.sec{padding:80px 0}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.sec-h h2{font-size:clamp(26px,4vw,42px);font-weight:900;letter-spacing:-.03em;line-height:1.05}
.sec-h .right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sec-h .more{font-weight:800;font-size:15px;border-bottom:2px solid var(--ink);padding-bottom:2px}

/* toggle */
.toggle{display:inline-flex;align-items:center;gap:9px;border:2px solid var(--ink);border-radius:999px;padding:8px 15px;font-weight:800;font-size:14px;cursor:pointer;user-select:none;background:#fff}
.sw{width:44px;height:25px;border-radius:999px;background:var(--line);position:relative;transition:.2s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--ink);transition:.2s}
body.member-on .sw{background:var(--orange)}body.member-on .sw::after{left:22px;background:#fff}

/* products */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:24px}
.prod{cursor:pointer}
.prod .img{aspect-ratio:1;border:2px solid var(--line);border-radius:18px;display:grid;place-items:center;font-size:66px;position:relative;overflow:hidden;background:var(--yellow-soft);transition:.2s}
.prod .img img{width:100%;height:100%;object-fit:cover}
.prod:hover .img{border-color:var(--orange)}
.prod .tag{position:absolute;top:12px;left:12px;background:var(--ink);color:var(--yellow);font-size:11px;font-weight:800;padding:5px 11px;border-radius:999px}
.prod .add{position:absolute;bottom:12px;right:12px;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--yellow);border:none;font-size:22px;cursor:pointer;transition:.2s;display:grid;place-items:center}
.prod .add:hover{transform:scale(1.1);background:var(--orange);color:#fff}
.prod .cat{font-size:12.5px;color:var(--gray);font-weight:700;margin-top:14px}
.prod h4{font-weight:800;font-size:16px;margin:5px 0 8px}
.prices .non{font-size:13px;color:var(--gray);font-weight:600}.prices .non s{margin-left:3px}
.prices .mem{display:flex;align-items:center;gap:7px;margin-top:2px}
.prices .mem .b{background:var(--orange);color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px}
.prices .mem .v{font-size:19px;font-weight:900}
body.member-on .prices .non{opacity:.4}body.member-on .prices .mem .v{color:var(--orange)}

/* program cards */
.prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.pcard{background:#fff;border:2px solid var(--line);border-radius:16px;padding:22px 18px;transition:.2s;cursor:pointer}
.pcard:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.pcard .ic{width:50px;height:50px;border-radius:13px;background:var(--orange-soft);display:grid;place-items:center;font-size:25px;margin-bottom:14px}
.pcard h4{font-size:16px;font-weight:800}.pcard p{font-size:13px;color:var(--ink-soft);margin-top:4px}
.pcard .go{margin-top:12px;font-size:13px;font-weight:800;color:var(--orange)}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.feat{border:2px solid var(--line);border-radius:20px;overflow:hidden;transition:.2s;cursor:pointer}
.feat:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.feat .top{height:150px;display:grid;place-items:center;font-size:58px;background:var(--yellow-soft);border-bottom:2px solid var(--line);position:relative}
.feat .tag{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-size:11px;font-weight:800;padding:4px 11px;border-radius:999px}
.feat .b{padding:18px}.feat .b h4{font-size:18px;font-weight:900}.feat .b p{font-size:13.5px;color:var(--ink-soft);margin:6px 0 12px}
.feat .chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--yellow-soft);color:#7a5a14;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px}

/* video */
.newcol{background:var(--yellow);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.newcol .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center;padding:72px 28px}
.newcol h2{font-size:clamp(28px,4vw,46px);font-weight:900;letter-spacing:-.03em;line-height:1.04}
.newcol p{font-size:17px;font-weight:600;margin:18px 0 26px;color:#4a4220}
.video{aspect-ratio:16/9;border:2px solid var(--ink);border-radius:18px;background:var(--ink);display:grid;place-items:center;position:relative;overflow:hidden}
.video .play{width:78px;height:78px;border-radius:50%;background:var(--yellow);border:2px solid #fff;display:grid;place-items:center;font-size:28px;color:var(--ink)}
.video .lbl{position:absolute;bottom:14px;left:16px;color:#fff;font-weight:800;font-size:14px;opacity:.9}

/* events */
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.ev{border:2px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.ev:hover{border-color:var(--orange)}
.ev .top{display:flex;gap:13px;align-items:center;padding:16px 18px;border-bottom:2px dashed var(--line)}
.ev .date{background:var(--ink);color:var(--yellow);border-radius:11px;text-align:center;padding:8px 11px;min-width:56px}
.ev .date .d{font-size:20px;font-weight:900;line-height:1}.ev .date .m{font-size:11px;opacity:.85}
.ev .nt{background:var(--orange);color:#fff;border-radius:11px;text-align:center;padding:8px 11px;min-width:56px;font-size:12px;font-weight:800;display:grid;place-items:center}
.ev .top h4{font-size:17px;font-weight:900}.ev .top span{font-size:12.5px;color:var(--gray);font-weight:700}
.ev .body{padding:16px 18px;display:flex;flex-direction:column;gap:11px}
.ev .meta{display:flex;gap:13px;font-size:12.5px;color:var(--gray);font-weight:700;flex-wrap:wrap}.ev .meta b{color:var(--ink)}
.ev .cost{display:flex;justify-content:space-between;align-items:center;background:var(--yellow-soft);border:1.5px solid var(--ink);border-radius:12px;padding:9px 13px}
.ev .cost .non{font-size:12.5px;color:var(--gray);text-decoration:line-through}
.ev .cost .mem{font-size:17px;font-weight:900;color:var(--orange)}.ev .cost .mem small{display:block;font-size:10.5px;color:var(--ink-soft);font-weight:700;text-decoration:none}
.ev .book{width:100%;justify-content:center;font-size:14px;padding:12px;background:var(--ink);color:var(--yellow);border:none;border-radius:12px;font-weight:800;cursor:pointer}
.ev .body p{flex:1}
.ev .evgo{margin-top:auto;display:flex;justify-content:center;font-size:14px;padding:12px;background:var(--ink);color:var(--yellow);border-radius:12px;font-weight:800}
a.ev:hover .evgo{background:var(--orange)}
.ev .booknow{margin-top:auto;width:100%;display:flex;justify-content:center;font-size:14px;padding:12px;background:var(--ink);color:var(--yellow);border:none;border-radius:12px;font-weight:800;cursor:pointer;font-family:inherit}
.ev .booknow:hover{background:var(--orange)}
.acc-b li a.go{text-decoration:none}

/* accordion (event sections) */
.acc{border:2px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:14px}
.acc-h{display:flex;align-items:center;gap:14px;padding:20px 22px;cursor:pointer;background:#fff;transition:.15s}
.acc-h:hover{background:var(--yellow-soft)}
.acc-h .ic{width:46px;height:46px;border-radius:12px;background:var(--orange-soft);display:grid;place-items:center;font-size:23px}
.acc-h h4{font-size:18px;font-weight:900}.acc-h p{font-size:13px;color:var(--ink-soft);font-weight:600}
.acc-h .cnt{margin-left:auto;font-size:13px;font-weight:800;color:var(--orange)}
.acc-h .arr{font-size:14px;transition:.2s}.acc.open .acc-h .arr{transform:rotate(180deg)}
.acc-b{max-height:0;overflow:hidden;transition:max-height .3s ease}.acc.open .acc-b{max-height:600px}
.acc-b ul{list-style:none;padding:6px 22px 20px}
.acc-b li{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line);font-size:14px}
.acc-b li b{font-weight:800}.acc-b li .go{font-size:13px;font-weight:800;color:var(--orange)}

/* search */
.searchbar{display:flex;gap:10px;max-width:560px;margin:0 auto 8px}
.searchbar input{flex:1;padding:15px 18px;border:2px solid var(--ink);border-radius:14px;font-size:15px;font-family:inherit;background:#fff}
.searchbar input:focus{outline:none;box-shadow:0 0 0 3px var(--yellow)}
.searchbar button{background:var(--ink);color:var(--yellow);border:2px solid var(--ink);border-radius:14px;padding:0 22px;font-weight:800;cursor:pointer}
.filters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:18px 0 6px}
.filters button{background:#fff;border:2px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:800;font-size:13px;cursor:pointer;transition:.15s}
.filters button:hover{border-color:var(--ink)}.filters button.on{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.filters a.chip-link{background:#fff;border:2px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:800;font-size:13px;transition:.15s;color:var(--ink)}
.filters a.chip-link:hover{border-color:var(--orange);color:var(--orange)}
.noresult{text-align:center;color:var(--ink-soft);font-weight:700;padding:50px 0;display:none}

/* 자료실 list */
.res-list{border-top:2px solid var(--ink);margin-top:28px}
.res-item{display:flex;align-items:center;gap:16px;padding:18px 8px;border-bottom:1px solid var(--line);transition:.15s}
.res-item:hover{background:var(--yellow-soft)}
.res-item .rtag{background:var(--orange-soft);color:#8a4a17;font-size:12px;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;min-width:88px;text-align:center}
.res-item .rti{flex:1;min-width:0}
.res-item .rti h4{font-size:16px;font-weight:800}
.res-item .rti .meta{font-size:12.5px;color:var(--gray);font-weight:600;margin-top:3px}
.res-item .dl{background:var(--ink);color:var(--yellow);border:none;border-radius:10px;padding:10px 16px;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}
.res-item .dl:hover{background:#000}
@media(max-width:560px){.res-item{flex-wrap:wrap}.res-item .rti{flex-basis:100%;order:3}}

/* 자료실 프로그램별 바로가기 */
.prognav{margin-top:22px;background:var(--yellow-soft);border:2px solid var(--ink);border-radius:16px;padding:18px 20px}
.prognav h4{font-size:14px;font-weight:900;margin-bottom:12px;display:flex;align-items:center;gap:7px}
.prognav .chips{display:flex;flex-wrap:wrap;gap:8px}
.prognav .chips a{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;transition:.15s}
.prognav .chips a:hover{background:var(--ink);color:var(--yellow)}

/* login / signup modal */
.modal{position:fixed;inset:0;background:rgba(23,21,19,.55);display:none;align-items:center;justify-content:center;z-index:300;padding:20px}
.modal.open{display:flex}
.modal .box{background:#fff;border:2px solid var(--ink);border-radius:22px;max-width:390px;width:100%;padding:32px 28px;text-align:center;box-shadow:var(--shadow)}
.modal .box .lk{font-size:40px}
.modal .box h3{font-size:21px;font-weight:900;margin:10px 0 6px}
.modal .box p{font-size:14px;color:var(--ink-soft);font-weight:600;margin-bottom:22px;line-height:1.6}
.modal .kakao{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#FEE500;color:#191600;border:2px solid #191600;border-radius:13px;padding:15px;font-weight:800;font-size:15px;cursor:pointer;margin-bottom:10px}
.modal .kakao:hover{background:#f5dc00}
.modal .email{width:100%;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:13px;padding:14px;font-weight:800;font-size:14px;cursor:pointer}
.modal .email:hover{background:var(--yellow-soft)}
.modal .close{margin-top:14px;background:none;border:none;color:var(--gray);font-weight:700;font-size:13px;cursor:pointer}

/* program detail page */
.pdetail{padding:70px 0}
.pdetail .wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.pdetail .pimg{aspect-ratio:4/3;border:3px dashed var(--ink);border-radius:20px;background:var(--yellow-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink)}
.pdetail .pimg .ic{font-size:48px}.pdetail .pimg b{font-weight:800;font-size:15px}.pdetail .pimg span{font-size:12px;color:var(--ink-soft);font-weight:700}
.pdetail h2{font-size:clamp(26px,3.6vw,38px);font-weight:900;letter-spacing:-.02em;line-height:1.15}
.pdetail .tagline{color:var(--orange);font-weight:800;margin-bottom:10px}
.pdetail p{font-size:16px;color:var(--ink-soft);font-weight:500;margin-top:14px;line-height:1.7}
.pdetail .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pfeat{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.pfeat .it{border:2px solid var(--line);border-radius:16px;padding:24px 20px}
.pfeat .it .ic{font-size:30px}.pfeat .it h4{font-size:17px;font-weight:800;margin:10px 0 6px}.pfeat .it p{font-size:14px;color:var(--ink-soft);font-weight:500}
.pgallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.pgallery .g{aspect-ratio:1;border:3px dashed var(--ink);border-radius:16px;background:var(--yellow-soft);display:grid;place-items:center;font-size:34px;color:var(--ink-soft)}
@media(max-width:860px){.pdetail .wrap{grid-template-columns:1fr}}
/* program sub-list (한글수 등) */
.pprog{border:2px solid var(--line);border-radius:18px;padding:24px 26px;margin-bottom:16px;transition:.2s}
.pprog:hover{border-color:var(--orange)}
.pp-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.pp-head h3{font-size:21px;font-weight:900;display:flex;align-items:center;gap:10px}
.pp-tag{background:var(--yellow);border:1.5px solid var(--ink);color:var(--ink);font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px}
.pp-links{display:flex;gap:8px;flex-wrap:wrap}
.pp-links a,.pp-links button{font-size:13px;font-weight:800;border:2px solid var(--ink);border-radius:999px;padding:8px 14px;transition:.15s;white-space:nowrap;background:#fff;color:var(--ink);cursor:pointer;font-family:inherit}
.pp-links a:hover,.pp-links button:hover{background:var(--ink);color:#fff}
.pp-links a.vid{background:var(--orange);border-color:var(--orange);color:#fff}
.pp-links a.vid:hover{background:var(--orange-2)}
.pp-desc{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}
.pp-desc li{font-size:14.5px;color:var(--ink-soft);font-weight:500;padding-left:18px;position:relative;line-height:1.55}
.pp-desc li::before{content:"·";position:absolute;left:5px;color:var(--orange);font-weight:900}
/* 행사 활동 카드 */
.evt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.evt{border:2px solid var(--line);border-radius:16px;padding:20px;transition:.2s;display:flex;flex-direction:column}
.evt:hover{border-color:var(--orange)}
.evt .cat{font-size:11px;font-weight:800;color:var(--orange);letter-spacing:.03em}
.evt h4{font-size:16px;font-weight:800;margin:5px 0 8px}
.evt p{font-size:13.5px;color:var(--ink-soft);font-weight:500;line-height:1.55;margin-bottom:14px;flex:1}
/* 회차/도시 카드 */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:16px}
.city{border:2px solid var(--line);border-radius:16px;padding:18px 20px;transition:.2s}
.city:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.city .num{display:inline-block;background:var(--ink);color:var(--yellow);font-size:12px;font-weight:800;padding:3px 11px;border-radius:999px;margin-bottom:10px}
.city .en{font-size:13px;color:var(--orange);font-weight:800}
.city h4{font-size:17px;font-weight:900;margin-top:2px}
.city p{font-size:13.5px;color:var(--ink-soft);font-weight:600;margin-top:6px;line-height:1.5}
.vid-embed{aspect-ratio:16/9;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:#000}
.vid-embed iframe{width:100%;height:100%;border:0;display:block}
.pgallery .g{cursor:pointer;overflow:hidden}
.pgallery .g img{width:100%;height:100%;object-fit:cover;display:block}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:320;padding:24px}
.lightbox.open{display:flex}
.lightbox .lb-body img{max-width:90vw;max-height:84vh;border-radius:12px;border:3px solid #fff;display:block}
.lightbox .ph2{width:min(480px,84vw);height:min(340px,60vh);display:grid;place-items:center;font-size:60px;color:var(--ink);background:var(--yellow-soft);border:3px solid #fff;border-radius:12px}
.lightbox .x{position:absolute;top:18px;right:24px;color:#fff;font-size:32px;font-weight:800;cursor:pointer;background:none;border:none;line-height:1}
/* per-program photo modal */
.pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.pm-g{aspect-ratio:1;border:2px dashed var(--ink);border-radius:12px;background:var(--yellow-soft);display:grid;place-items:center;font-size:26px;color:var(--ink-soft);overflow:hidden}
.pm-g img{width:100%;height:100%;object-fit:cover}
.pm-box{background:#fff;border:2px solid var(--ink);border-radius:20px;max-width:640px;width:100%;padding:24px;box-shadow:var(--shadow)}
.pm-box .pm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.pm-box .pm-title{font-size:19px;font-weight:900}
.pm-box .pm-x{background:none;border:none;font-size:24px;font-weight:800;cursor:pointer;line-height:1}
.pm-box .pm-note{font-size:13px;color:var(--gray);font-weight:600;margin-top:14px}
/* 사진 캐러셀(좌우 넘기기) */
.pm-viewer{display:flex;align-items:center;gap:10px}
.pm-stage{flex:1;aspect-ratio:4/3;background:#fff;border:2px solid var(--ink);border-radius:12px;overflow:hidden;display:grid;place-items:center;cursor:zoom-in}
.pm-stage img{width:100%;height:100%;object-fit:contain}
.pm-nav{width:42px;height:42px;flex:none;border-radius:50%;border:2px solid var(--ink);background:#fff;font-size:24px;font-weight:800;cursor:pointer;line-height:1;display:grid;place-items:center;transition:.15s}
.pm-nav:hover{background:var(--ink);color:#fff}
.pm-count{text-align:center;font-size:13px;font-weight:800;color:var(--ink-soft);margin-top:10px}
.pm-empty{padding:46px 10px;text-align:center;color:var(--ink-soft);font-weight:700}
/* 주문/견적 모달 */
.ord-tabs{display:flex;gap:8px;margin-bottom:16px}
.ord-tab{flex:1;background:#fff;border:2px solid var(--line);border-radius:12px;padding:11px;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit}
.ord-tab.on{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.ord-pane.hidden{display:none}
.ord-pane p{font-size:13.5px;color:var(--ink-soft);font-weight:600;margin-bottom:14px;line-height:1.6}
.ord-field{margin-bottom:12px}
.ord-field label{display:block;font-size:13px;font-weight:800;margin-bottom:5px}
.ord-field input,.ord-field select,.ord-field textarea{width:100%;padding:11px 13px;border:2px solid var(--ink);border-radius:10px;font-size:14px;font-family:inherit;background:#fff}
.ord-field textarea{min-height:64px;resize:vertical}
.ord-pane .kakao{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#FEE500;color:#191600;border:2px solid #191600;border-radius:12px;padding:14px;font-weight:800;font-size:15px;cursor:pointer;margin-top:4px}
.ord-pane .btn-guest{width:100%;background:var(--ink);color:var(--yellow);border:none;border-radius:12px;padding:13px;font-weight:800;cursor:pointer;margin:4px 0 8px}
.ord-pane .btn-guest2{width:100%;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:12px;padding:12px;font-weight:800;cursor:pointer}

/* story + footer */
.story{background:var(--ink);color:#fff;text-align:center}
.story .wrap{padding:84px 28px}
.story h2{font-size:clamp(26px,4vw,44px);font-weight:900;letter-spacing:-.03em;line-height:1.12;max-width:880px;margin:0 auto}
.story h2 em{color:var(--yellow);font-style:normal}
.story p{color:#cfc9bf;margin-top:18px;font-weight:600;max-width:620px;margin-left:auto;margin-right:auto;word-break:keep-all}
.story .btns{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.story .btns .btn{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.story .btns .btn.line{background:transparent;color:#fff;border-color:#fff}
.foot{background:var(--yellow);border-top:2px solid var(--ink);overflow:hidden}
.foot .wrap{padding:58px 28px 0}
.foot-top{display:flex;flex-wrap:wrap;gap:56px}
.news{display:none}
.news h5,.fcol h5{font-weight:900;font-size:15px;margin-bottom:14px}
.news input{width:100%;max-width:300px;padding:14px 16px;border:2px solid var(--ink);border-radius:12px;font-size:14px;background:#fff;font-family:inherit;margin-bottom:10px}
.news .btn{display:flex;max-width:300px;justify-content:center;width:100%}
.fcol a{display:block;font-weight:600;font-size:14px;margin-bottom:9px;color:#4a4220}.fcol a:hover{color:var(--ink);font-weight:800}
.cur{margin-top:10px;font-weight:700;font-size:13px;color:#4a4220}
.disclaimer{font-size:12px;color:#6b5d00;border-top:1.5px solid rgba(23,21,19,.18);margin-top:38px;padding:16px 0 8px}
.bizinfo{font-size:12.5px;color:#4a4220;padding-bottom:16px;line-height:1.7}
.giant{font-size:clamp(28px,6vw,92px);font-weight:900;letter-spacing:-.03em;line-height:1;color:var(--ink);white-space:nowrap;padding:8px 0 2px}
.foot-phone{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:2px solid var(--ink);margin-top:30px;padding-top:22px;margin-bottom:8px}
.foot-phone .lab{font-size:13px;font-weight:800;background:var(--ink);color:var(--yellow);padding:8px 15px;border-radius:999px;white-space:nowrap}
.foot-phone .num{font-size:clamp(22px,3.6vw,34px);font-weight:900;letter-spacing:-.02em;color:var(--ink)}
.foot-phone .num:hover{color:var(--orange)}
.foot-phone .sep{color:var(--ink);opacity:.3;font-size:26px}
.footbar{border-top:2px solid var(--ink);font-size:12px;color:#4a4220;display:flex;justify-content:space-between;padding:14px 28px;flex-wrap:wrap;gap:8px}

.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(40px);background:var(--ink);color:var(--yellow);font-weight:800;padding:14px 24px;border-radius:14px;opacity:0;transition:.3s;z-index:200}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.reveal{opacity:0;transform:translateY(22px);transition:.6s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}

/* mega-menu dropdowns */
.menu .item{position:relative;display:flex;align-items:center}
.menu .item>a{display:flex;align-items:center;gap:4px}
.menu .item>a .ar{font-size:11px}
.menu .drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:2px solid var(--ink);border-radius:14px;padding:8px;min-width:210px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.16s;z-index:120}
.menu .item:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.menu .drop a{padding:9px 12px;border-radius:9px;font-size:14px;font-weight:700;white-space:nowrap}
.menu .drop a:hover{background:var(--yellow-soft);color:var(--ink)}
.menu .drop a.all{border-top:1.5px solid var(--line);margin-top:4px;color:var(--orange);font-weight:800}
.menu .drop.two{min-width:340px;display:grid;grid-template-columns:1fr 1fr}
.menu .drop.two a.all{grid-column:1/3}
/* currency + trade */
.curpick{position:relative}
.curpick>button{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:7px 13px;font-weight:800;font-size:13px;cursor:pointer}
.curpick .opts{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:6px;display:none;flex-direction:column;min-width:130px;z-index:120;box-shadow:var(--shadow)}
.curpick.open .opts{display:flex}
.curpick .opts button{background:none;border:none;text-align:left;padding:9px 12px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer}
.curpick .opts button:hover{background:var(--yellow-soft)}
.trade{font-weight:800;font-size:14px;border:2px solid var(--ink);border-radius:999px;padding:8px 14px}
.trade:hover{background:var(--ink);color:#fff}
/* horizontal carousels */
.row-scroll{display:flex;gap:24px;overflow-x:auto;padding:4px 0 16px;scroll-snap-type:x proximity}
.row-scroll::-webkit-scrollbar{height:10px}
.row-scroll::-webkit-scrollbar-thumb{background:var(--ink);border-radius:999px}
.row-scroll::-webkit-scrollbar-track{background:var(--line);border-radius:999px}
.row-scroll .prod{min-width:248px;max-width:248px;scroll-snap-align:start}
.row-scroll .teacher{min-width:192px;max-width:192px;scroll-snap-align:start;text-align:center}
.teacher .t-photo{aspect-ratio:3/4;border:2px solid var(--line);border-radius:18px;display:grid;place-items:center;font-size:46px;background:var(--yellow-soft);overflow:hidden;position:relative}
.teacher .t-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.teacher .t-photo .plate{position:absolute;left:0;right:0;bottom:0;padding:12px 6px;background:#1a3a8f;color:#fff;font-weight:800;font-size:16px;text-align:center;letter-spacing:.02em}
.teacher .t-name{font-weight:900;font-size:18px;margin-top:12px}
.teacher .t-role{font-size:13px;color:var(--ink-soft);font-weight:700;margin-top:2px}
.scrollhint{font-size:13px;color:var(--ink-soft);font-weight:700}
/* mascot peek at footer */
.foot{position:relative}
.foot-peek{position:absolute;top:-40px;left:50%;transform:translateX(-50%) translateY(24px);width:118px;height:118px;border:4px solid var(--ink);border-radius:50%;background:var(--yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:3;transition:transform .18s ease-out;will-change:transform}
.foot-peek .tuft{position:absolute;top:-15px;left:50%;width:26px;height:26px;border:4px solid var(--ink);border-radius:50%;border-right-color:transparent;border-bottom-color:transparent;transform:translateX(-50%) rotate(35deg);background:transparent}
.foot-peek .smile{width:46px;height:22px;margin-top:0}
/* eye-tracking face */
.char-face{position:absolute;top:30px;left:50%;transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center}
.eyes{display:flex;gap:20px}
.eye{width:64px;height:64px;border-radius:50%;background:#fff;border:4px solid var(--ink);position:relative;overflow:hidden;animation:blink 4.5s infinite;transform-origin:center}
.foot-peek .eye{animation-delay:.4s}
@keyframes blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(.08)}}
.pupil{width:24px;height:24px;border-radius:50%;background:var(--ink);position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px;transition:transform .05s linear}
.smile{width:70px;height:32px;border:4px solid var(--ink);border-top:none;border-radius:0 0 44px 44px;margin-top:12px}
.char-face .cap{margin-top:14px;font-size:12px;font-weight:800;color:#5c5430;background:rgba(255,255,255,.55);padding:6px 13px;border-radius:999px}
.foot-peek .eyes{gap:11px}
.foot-peek .eye{width:30px;height:30px;border-width:3px}
.foot-peek .pupil{width:12px;height:12px;margin:-6px 0 0 -6px}

@media(max-width:860px){.menu{display:none}.ham{display:flex}.newcol .wrap{grid-template-columns:1fr}.foot-top{grid-template-columns:1fr 1fr}.hero .inner{padding:190px 28px 56px}
  .menu .drop{display:none!important}.curpick,.trade{display:none}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr}}

/* 모바일 보강 */
img{max-width:100%}
@media(max-width:560px){
  .util .wrap{flex-wrap:wrap;height:auto;min-height:34px;padding:5px 0;gap:3px 14px;justify-content:center;text-align:center}
  .util{font-size:11px}
  .util .wrap > span:first-child{display:none}      /* 좁은 화면에선 긴 설명 숨김 */
  .util .r{gap:12px;flex-wrap:wrap;justify-content:center}
  .nav{gap:10px;height:60px}
  .phero .wrap{padding:38px 20px}
  .sec .wrap{padding-left:18px;padding-right:18px}
  .sec-h{flex-wrap:wrap}
  .giant{font-size:clamp(26px,11vw,60px)}
}
