/* Auto-scoped from imagepage-membership mockup (styles.css) under .ipmembership to avoid
   colliding with the site's existing global .btn/.price/.tag/.control/.icon/... classes. */
.ipmembership{--yellow:#f9b700;--yellow-hover:#e9aa00;--ink:#222222;--muted:#777777;--line:#dddddd;--light:#f5f5f5;--cream:#fff9e6;--green:#33725b;--radius:13px;--font:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif}
.ipmembership, .ipmembership *{box-sizing:border-box}
.ipmembership{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:18px;line-height:1.65;word-break:keep-all;letter-spacing:-.01em}
.ipmembership a{color:inherit;text-decoration:none}
.ipmembership button, .ipmembership input, .ipmembership select{font:inherit}
.ipmembership button, .ipmembership a, .ipmembership input, .ipmembership select, .ipmembership summary{-webkit-tap-highlight-color:transparent}
.ipmembership button{cursor:pointer}
.ipmembership button:disabled{cursor:not-allowed}
.ipmembership a:focus-visible, .ipmembership button:focus-visible, .ipmembership summary:focus-visible, .ipmembership input:focus-visible, .ipmembership select:focus-visible{outline:3px solid #397ec4;outline-offset:4px}
.ipmembership h1, .ipmembership h2, .ipmembership h3, .ipmembership p{margin:0}
.ipmembership h1, .ipmembership h2, .ipmembership h3{line-height:1.35;letter-spacing:-.025em}
.ipmembership h1{font-size:40px;font-weight:700}
.ipmembership h2{font-size:29px;font-weight:700}
.ipmembership h3{font-size:22px;font-weight:700}
.ipmembership small{font-size:14px}
.ipmembership .shell{width:min(1210px,calc(100% - 70px));margin-inline:auto}
.ipmembership .site-header{border-bottom:1px solid var(--line);background:#fff}
.ipmembership .header-inner{height:95px;display:flex;align-items:center;justify-content:space-between;gap:31px}
.ipmembership .brand{font-size:32px;font-weight:700;letter-spacing:-2px;line-height:1}
.ipmembership .brand span{color:#f9b700}
.ipmembership .brand small{display:none;color:#888888;font-size:13px;letter-spacing:.07em;font-weight:500;margin-top:10px}
.ipmembership .header-actions{display:flex;gap:33px;align-items:center;font-size:15px;font-weight:500}
.ipmembership .header-actions a:hover{color:#222222}
.ipmembership .nav-link.active{font-weight:700;position:relative}
.ipmembership .nav-link.active:after{content:'';position:absolute;bottom:-35px;left:0;right:0;height:3px;background:var(--yellow)}
.ipmembership .external-link{color:var(--muted);display:inline-flex;gap:7px;align-items:center}
.ipmembership .icon{width:24px;height:24px;flex-shrink:0;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ipmembership .icon.small{width:19px;height:19px}
.ipmembership .eyebrow{color:#777777;font-size:15px;font-weight:500;letter-spacing:0;margin-bottom:14px}
.ipmembership .intro{text-align:center;padding:62px 0 38px}
.ipmembership .intro p:not(.eyebrow){color:var(--muted);margin-top:16px;font-size:19px;line-height:1.8}
.ipmembership .section-nav{display:flex;gap:31px;justify-content:center;margin-bottom:38px;color:var(--muted);font-size:15px}
.ipmembership .section-nav a{padding-bottom:6px;border-bottom:1px solid transparent}
.ipmembership .section-nav a:hover{border-color:var(--ink);color:var(--ink)}
.ipmembership .plans{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1056px;margin:0 auto}
.ipmembership .plan{border:1px solid var(--line);border-radius:var(--radius);padding:34px 38px 32px;position:relative;display:flex;flex-direction:column;background:#fff}
.ipmembership .plan.premium{border:2px solid var(--yellow);padding:33px 37px 31px;background:#fff}
.ipmembership .plan-top{display:flex;align-items:center;justify-content:space-between;gap:13px}
.ipmembership .tag{font-size:13px;border-radius:7px;padding:4px 10px;background:#f5f5f5;color:#666666;font-weight:600;letter-spacing:0}
.ipmembership .tag.yellow{background:#fff1cc;color:#555555}
.ipmembership .tag.green{background:#f5f5f5;color:#666666}
.ipmembership .plan-description{font-size:16px;color:var(--muted);margin:11px 0 24px}
.ipmembership .price{font-size:53px;letter-spacing:-.03em;line-height:1.2;font-weight:700;display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums}
.ipmembership .price .unit{font-size:19px;font-weight:500;letter-spacing:-.02em}
.ipmembership .price-note{color:#888888;font-size:14px;margin-top:10px;min-height:24px}
.ipmembership .price-note strong{color:#555555;font-weight:600}
.ipmembership .btn{border:1px solid transparent;border-radius:9px;min-height:57px;padding:14px 24px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:11px;transition:background .18s,border-color .18s;line-height:1.4}
.ipmembership .btn.yellow{background:var(--yellow);color:#222222}
.ipmembership .btn.yellow:hover{background:var(--yellow-hover)}
.ipmembership .btn.outline{background:#fff;border-color:#dddddd;color:var(--ink)}
.ipmembership .btn.outline:hover{background:#f5f5f5;border-color:#bbbbbb}
.ipmembership .btn.ink{background:var(--ink);color:#fff}
.ipmembership .btn.ink:hover{background:#444444}
.ipmembership .btn:disabled{background:#e7e9eb!important;color:#9299a1!important;border-color:#e7e9eb!important}
.ipmembership .plan .btn{width:100%;margin:28px 0}
.ipmembership .plan-divider{height:1px;background:var(--line);margin-bottom:25px}
.ipmembership .features-title{font-size:15px;font-weight:700;margin-bottom:14px}
.ipmembership .features{list-style:none;padding:0;margin:0;display:grid;gap:13px;font-size:16px}
.ipmembership .features li{display:flex;align-items:flex-start;gap:13px}
.ipmembership .check{display:inline-block;position:relative;flex-shrink:0;width:20px;height:21px;margin-top:3px}
.ipmembership .check:before{content:'';position:absolute;left:4px;top:3px;width:7px;height:11px;border:solid #999999;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ipmembership .premium .check:before{border-color:#f9b700}
.ipmembership .features .sub{display:block;color:#888888;font-size:14px;margin-top:1px}
.ipmembership .plan-foot{margin-top:auto;padding-top:26px;font-size:13px;color:#888888}
.ipmembership .plans-note{text-align:center;font-size:14px;color:#888888;margin:22px 0 0}
.ipmembership .benefits-section{margin-top:84px;padding:65px 0 68px;background:var(--light);border-top:1px solid #eeeeee;border-bottom:1px solid #eeeeee}
.ipmembership .section-title{text-align:center}
.ipmembership .section-title p{margin-top:11px;color:var(--muted);font-size:16px}
.ipmembership .benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:37px}
.ipmembership .benefit{padding:29px 28px;background:#fff;border-radius:13px;border:1px solid #eeeeee}
.ipmembership .icon-box{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;margin-bottom:21px}
.ipmembership .icon-box.blue{background:#fff5dd;color:#555555}
.ipmembership .icon-box.yellow{background:#fff5dd;color:#555555}
.ipmembership .icon-box.green{background:#fff5dd;color:#555555}
.ipmembership .benefit h3{font-size:20px}
.ipmembership .benefit p{font-size:15px;color:var(--muted);margin-top:11px;line-height:1.9;min-height:88px}
.ipmembership .text-button{font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:7px;margin-top:18px}
.ipmembership .text-button:hover{text-decoration:underline}
.ipmembership .service-note{font-size:13px;color:#888888;text-align:center;margin-top:25px}
.ipmembership .group-section{padding:72px 0}
.ipmembership .group-banner{background:#f5f5f5;border:1px solid #eeeeee;border-radius:13px;padding:38px 43px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.ipmembership .group-banner .tag{display:inline-block;margin-bottom:13px}
.ipmembership .group-banner h2{font-size:28px}
.ipmembership .group-banner p{margin-top:11px;color:#777777;font-size:15px}
.ipmembership .group-price{text-align:right}
.ipmembership .group-price .amount{font-size:32px;font-weight:700;letter-spacing:-.03em}
.ipmembership .group-price .amount span{font-size:15px;font-weight:400;color:#777777;letter-spacing:-.02em}
.ipmembership .group-price .detail{font-size:14px;color:#777777;margin-top:3px}
.ipmembership .group-price .btn{margin-top:16px;min-height:50px;font-size:15px;padding:12px 20px}
.ipmembership .group-meta{font-size:13px;color:#888888;text-align:right;margin-top:11px}
.ipmembership .faq-section{max-width:946px;margin:0 auto;padding:11px 0 74px}
.ipmembership .faq-section h2{text-align:center;margin-bottom:29px}
.ipmembership .faq{border-bottom:1px solid var(--line)}
.ipmembership .faq:first-of-type{border-top:1px solid var(--line)}
.ipmembership summary{list-style:none;cursor:pointer;display:flex;gap:16px;align-items:center;padding:24px 6px;font-size:18px;font-weight:600}
.ipmembership summary::-webkit-details-marker{display:none}
.ipmembership summary:after{content:'+';margin-left:auto;color:#999999;font-size:25px;font-weight:400;padding-inline:6px}
.ipmembership details[open]>summary:after{content:'−'}
.ipmembership .q{color:#888888;font-size:19px;font-weight:500}
.ipmembership .faq p{padding:0 38px 25px;color:var(--muted);font-size:15px;line-height:1.9}
.ipmembership .footer{border-top:1px solid var(--line);padding:30px 0 33px;background:#fff}
.ipmembership .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;color:#888888;font-size:13px}
.ipmembership .footer .wordmark{font-size:21px;color:#777777;font-weight:700;letter-spacing:-1px}
.ipmembership .footer-links{display:flex;gap:22px;font-size:14px}
.ipmembership .footer-links a:hover{text-decoration:underline}
.ipmembership .skip-link{position:absolute;left:16px;top:-66px;background:var(--ink);color:#fff;padding:11px;z-index:10}
.ipmembership .skip-link:focus{top:11px}
.ipmembership .checkout-main{padding-top:41px;padding-bottom:75px}
.ipmembership .back{font-size:15px;color:var(--muted);display:inline-flex;gap:9px;align-items:center;margin-bottom:25px}
.ipmembership .checkout-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px}
.ipmembership .checkout-heading h1{font-size:35px}
.ipmembership .checkout-heading p{font-size:16px;color:var(--muted);margin-top:11px}
.ipmembership .demo-label{background:#f5f5f5;padding:7px 11px;color:#888888;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap}
.ipmembership .checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 358px;gap:38px;align-items:start}
.ipmembership .form-panel{min-width:0}
.ipmembership .form-section{border:1px solid var(--line);border-radius:13px;padding:30px 30px 32px;margin-bottom:21px;background:#fff}
.ipmembership .form-section h2{font-size:21px;display:flex;align-items:center;gap:12px;margin-bottom:23px}
.ipmembership .step{width:28px;height:28px;font-size:14px;font-weight:700;border-radius:50%;background:#fff1cc;color:#555555;display:inline-grid;place-items:center;letter-spacing:0}
.ipmembership .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.ipmembership .choice{border:1px solid #dddddd;border-radius:13px;padding:19px 19px 16px;cursor:pointer;position:relative;display:flex;gap:11px;align-items:flex-start}
.ipmembership .choice:has(input:checked){border:2px solid var(--yellow);padding:18px 18px 15px;background:#fffcf2}
.ipmembership .choice input{accent-color:#e5a700;width:20px;height:20px;margin:3px 0 0}
.ipmembership .choice strong{display:block;font-size:18px}
.ipmembership .choice .choice-price{display:block;font-size:16px;margin-top:8px;font-weight:600}
.ipmembership .choice .choice-sub{display:block;font-size:13px;color:#888888;margin-top:4px}
.ipmembership .form-note{font-size:14px;color:#888888;margin-top:16px;display:flex;gap:8px;align-items:flex-start}
.ipmembership .group-fields{border-top:1px solid var(--line);margin-top:23px;padding-top:22px}
.ipmembership .field{margin-top:16px}
.ipmembership .field:first-child{margin-top:0}
.ipmembership .field-label{font-size:15px;font-weight:600;display:block;margin-bottom:10px}
.ipmembership .field-row{display:flex;align-items:center;gap:11px}
.ipmembership .control{height:50px;border:1px solid #dddddd;border-radius:9px;padding:11px 13px;background:#fff;color:var(--ink);max-width:100%;width:100%;font-size:15px}
.ipmembership .control:disabled{color:#999999;background:#f5f5f5}
.ipmembership .field-row .btn{min-height:50px;padding:11px 15px;font-size:14px;white-space:nowrap}
.ipmembership .field-help{font-size:13px;color:#888888;margin-top:8px;line-height:1.7}
.ipmembership .field-help.valid{color:var(--green)}
.ipmembership .field-help.error{color:#bd4a45}
.ipmembership .coupon-applied-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:12px 16px;border:1px solid #cfe9dd;border-radius:9px;background:#eef8f3;font-size:14px;font-weight:600;color:var(--green)}
.ipmembership .coupon-applied-row .del-coupon{flex-shrink:0;height:auto;min-height:0;background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 12px;font-size:13px;font-weight:600;color:#888888;transition:background .15s,border-color .15s,color .15s}
.ipmembership .coupon-applied-row .del-coupon:hover{background:#fdeceb;border-color:#e2a8a3;color:#bd4a45}
.ipmembership .login-account{border-radius:9px;background:var(--light);display:flex;justify-content:space-between;padding:12px 14px;font-size:14px;color:#888888}
.ipmembership .login-account strong{color:#555555;font-weight:500}
.ipmembership .payment-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:11px}
.ipmembership .payment-option{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 7px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:15px;min-height:53px}
.ipmembership .payment-option:has(input:checked){border-color:#f9b700;background:#fff9e6}
.ipmembership .payment-option input{accent-color:#e5a700}
.ipmembership .receipt-note{font-size:13px;color:#888888;background:#f5f5f5;padding:12px 14px;border-radius:9px;margin-top:18px}
.ipmembership .agreement{border:1px solid var(--line);border-radius:13px;padding:21px 22px}
.ipmembership .agreement label{display:flex;gap:11px;font-size:15px;font-weight:600;align-items:flex-start;cursor:pointer}
/* 사이트 공통 common.css 가 input[type="checkbox"]를 전부 화면 밖(left:-10449px)으로 숨기고
   "input + label:before" 형태의 커스텀 체크박스를 전제로 하는데, 이 페이지는 그 구조를 안 써서
   체크박스 자체가 안 보이게 됨. 여기서만 원래 위치로 되돌린다. */
.ipmembership input[type="checkbox"]{position:static;left:auto;width:auto;height:auto;overflow:visible}
.ipmembership .agreement input{accent-color:#e5a700;margin:4px 0 0;width:19px;height:19px;flex-shrink:0}
.ipmembership .terms{margin-top:9px}
.ipmembership .terms summary{padding:11px 0 0 29px;font-size:13px;color:#888888;font-weight:400}
.ipmembership .terms summary:after{font-size:19px}
.ipmembership .terms ul{font-size:13px;color:#777777;line-height:1.9;margin:13px 0 0;padding-left:28px}
.ipmembership .terms a{text-decoration:underline}
.ipmembership .summary-card{border:1px solid #f5f5f5;border-radius:13px;padding:30px 28px;background:#f5f5f5;position:sticky;top:28px}
.ipmembership .summary-card h2{font-size:22px;margin-bottom:24px}
.ipmembership .summary-product{padding-bottom:22px;border-bottom:1px solid #dddddd}
.ipmembership .summary-product strong{font-size:18px;display:block}
.ipmembership .summary-product span{display:block;margin-top:6px;font-size:14px;color:#888888}
.ipmembership .bill{display:grid;gap:14px;font-size:15px;margin:24px 0}
.ipmembership .bill div{display:flex;justify-content:space-between;gap:13px}
.ipmembership .bill dt{color:#777777}
.ipmembership .bill dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
.ipmembership .bill .discount dd{color:#666666}
.ipmembership .bill-total{border-top:1px solid #dddddd;padding-top:21px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.ipmembership .bill-total span{font-size:15px;font-weight:700}
.ipmembership .bill-total strong{font-size:31px;color:#222222;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ipmembership .per-person{font-size:13px;color:#888888;text-align:right;margin-top:6px;min-height:22px}
.ipmembership .summary-card .btn{width:100%;margin-top:24px}
.ipmembership .payment-help{font-size:13px;color:#888888;text-align:center;margin-top:13px;line-height:1.8}
.ipmembership .safe-note{font-size:13px;color:#888888;text-align:center;margin-top:19px;display:flex;gap:7px;justify-content:center;align-items:center}
.ipmembership .unknown-price{padding:16px;background:#fff9e6;border:1px solid #f4e7bc;border-radius:9px;font-size:14px;color:#666666;margin-top:16px}
.ipmembership .unknown-price a{text-decoration:underline;font-weight:700}
.ipmembership .preview-dialog{border:0;border-radius:13px;box-shadow:0 24px 88px #0002;padding:35px;max-width:484px;width:calc(100% - 44px);color:var(--ink);font-family:var(--font);text-align:center}
.ipmembership .preview-dialog::backdrop{background:rgba(28,33,40,.42)}
.ipmembership .preview-dialog h2{font-size:26px;margin-top:16px}
.ipmembership .preview-dialog p{font-size:15px;color:var(--muted);margin-top:14px;line-height:1.9}
.ipmembership .preview-dialog .btn{width:100%;margin-top:24px}
.ipmembership .preview-dialog .dialog-amount{padding:16px;background:var(--cream);border-radius:9px;font-size:24px;font-weight:700;color:#222222;margin-top:22px}
.ipmembership .preview-dialog .icon-box{margin:0 auto}
.ipmembership .preview-dialog .dialog-close{position:absolute;right:13px;top:11px;border:0;background:transparent;font-size:26px;color:#999999;line-height:1;padding:9px}
.ipmembership [hidden]{display:none!important}
@media(min-width:1450px){
.ipmembership .intro{padding-top:69px}
.ipmembership .plans{max-width:1078px}
.ipmembership .plan{padding-inline:43px}
.ipmembership .plan.premium{padding-inline:42px}
}
@media(max-width:950px){
.ipmembership .shell{width:calc(100% - 44px)}
.ipmembership .header-actions{gap:24px}
.ipmembership .checkout-grid{grid-template-columns:minmax(0,1fr) 319px;gap:22px}
.ipmembership .form-section{padding:25px 22px}
.ipmembership .choice{padding:14px 11px}
.ipmembership .choice:has(input:checked){padding:13px 10px}
.ipmembership .choice strong{font-size:16px}
.ipmembership .choice .choice-price{font-size:14px}
.ipmembership .benefit{padding:25px 22px}
.ipmembership .group-banner{padding:31px}
}
@media(max-width:760px){
.ipmembership .header-inner{height:84px;gap:18px}
.ipmembership .brand{font-size:28px}
.ipmembership .brand small{display:none}
.ipmembership .header-actions{gap:22px;font-size:14px}
.ipmembership .header-actions .external-link{display:none}
.ipmembership .nav-link.active:after{bottom:-30px}
.ipmembership .intro{padding:41px 0 26px}
.ipmembership h1{font-size:32px}
.ipmembership .intro p:not(.eyebrow){font-size:15px}
.ipmembership .section-nav{gap:26px;margin-bottom:26px;font-size:14px}
.ipmembership .plans{gap:16px}
.ipmembership .plan{padding:25px 24px}
.ipmembership .plan.premium{padding:24px 23px}
.ipmembership .plan-top{align-items:flex-start;flex-direction:column;gap:10px}
.ipmembership .plan-top h3{font-size:20px}
.ipmembership .plan-description{font-size:14px;min-height:48px}
.ipmembership .price{font-size:40px}
.ipmembership .price .unit{font-size:15px}
.ipmembership .price-note{font-size:13px;min-height:42px}
.ipmembership .features{font-size:14px;gap:11px}
.ipmembership .features .sub{font-size:13px}
.ipmembership .plan .btn{font-size:15px;padding-inline:11px}
.ipmembership .plan-foot{font-size:13px}
.ipmembership .benefits-section{margin-top:50px;padding:42px 0}
.ipmembership .section-title h2{font-size:26px}
.ipmembership .benefit-grid{gap:13px}
.ipmembership .benefit{padding:22px 16px}
.ipmembership .benefit h3{font-size:18px}
.ipmembership .benefit p{font-size:14px;min-height:132px}
.ipmembership .text-button{font-size:13px}
.ipmembership .group-section{padding:44px 0}
.ipmembership .group-banner{grid-template-columns:1fr;padding:28px}
.ipmembership .group-banner h2{font-size:25px}
.ipmembership .group-price{text-align:left}
.ipmembership .group-price .btn{width:100%}
.ipmembership .group-meta{text-align:left}
.ipmembership .faq-section{padding-bottom:44px}
.ipmembership .faq-section h2{font-size:28px}
.ipmembership summary{font-size:15px;padding:22px 3px}
.ipmembership .faq p{font-size:14px;padding-left:34px}
.ipmembership .footer-inner{flex-wrap:wrap;gap:16px}
.ipmembership .checkout-grid{grid-template-columns:1fr}
.ipmembership .summary-card{position:static}
.ipmembership .checkout-heading{align-items:flex-start;flex-direction:column;gap:13px}
.ipmembership .checkout-heading h1{font-size:31px}
.ipmembership .checkout-heading p{font-size:15px}
.ipmembership .checkout-main{padding-top:26px}
.ipmembership .choice strong{font-size:18px}
.ipmembership .choice .choice-price{font-size:16px}
.ipmembership .choice{padding:19px}
.ipmembership .choice:has(input:checked){padding:18px}
.ipmembership .payment-options{gap:9px}
.ipmembership .summary-card{padding:26px}
.ipmembership .summary-card .btn{min-height:59px}
.ipmembership .bill-total strong{font-size:35px}
.ipmembership .form-section{padding:25px}
.ipmembership .payment-help{font-size:14px}
.ipmembership .checkout-main .back{margin-bottom:22px}
}
@media(max-width:500px){
.ipmembership .shell{width:calc(100% - 40px)}
.ipmembership .header-actions{gap:19px;font-size:13px}
.ipmembership .brand{font-size:26px}
.ipmembership .plans{grid-template-columns:1fr}
.ipmembership .plan-top{flex-direction:row;align-items:center}
.ipmembership .plan{padding:29px}
.ipmembership .plan.premium{padding:28px}
.ipmembership .plan-description{min-height:0;margin-bottom:21px;font-size:15px}
.ipmembership .price{font-size:48px}
.ipmembership .price-note{min-height:24px}
.ipmembership .features{font-size:16px}
.ipmembership .features-title{font-size:15px}
.ipmembership .plan-foot{font-size:13px}
.ipmembership .plan .btn{font-size:16px;margin:25px 0}
.ipmembership .benefit-grid{grid-template-columns:1fr;margin-top:26px}
.ipmembership .benefit{position:relative;padding:25px 24px 25px 89px}
.ipmembership .benefit .icon-box{position:absolute;left:22px;top:25px;width:47px;height:47px}
.ipmembership .benefit p{min-height:0;font-size:15px;margin-top:9px}
.ipmembership .text-button{font-size:14px;margin-top:12px}
.ipmembership .benefit h3{font-size:20px}
.ipmembership .section-title p{font-size:15px}
.ipmembership .group-banner h2{font-size:23px}
.ipmembership .group-banner p{font-size:14px}
.ipmembership .intro p br{display:none}
.ipmembership .section-nav{gap:22px}
.ipmembership .plans-note{font-size:13px}
.ipmembership .choice-grid{gap:11px}
.ipmembership .choice{padding:15px 11px;gap:8px}
.ipmembership .choice:has(input:checked){padding:14px 10px}
.ipmembership .choice .choice-sub{font-size:13px}
.ipmembership .choice .choice-price{font-size:15px}
.ipmembership .form-section{padding:25px 20px}
.ipmembership .payment-option{font-size:14px}
.ipmembership .payment-option input{margin:0}
.ipmembership .field-row{gap:9px}
.ipmembership .field-row .btn{padding:11px}
.ipmembership .footer-links{gap:15px;font-size:13px}
.ipmembership .service-note{text-align:left}
.ipmembership .demo-label{font-size:13px}
}
@media(max-width:680px){
.ipmembership .plans{grid-template-columns:1fr}
.ipmembership .plan-top{flex-direction:row;align-items:center}
.ipmembership .plan-description{min-height:0}
.ipmembership .price-note{min-height:24px}
.ipmembership .price{font-size:46px}
.ipmembership .benefit-grid{grid-template-columns:1fr}
.ipmembership .benefit p{min-height:0}
.ipmembership .benefit p br{display:none}
.ipmembership .plan-foot{font-size:13px}
.ipmembership .brand small{font-size:13px}
}
.ipmembership .card-checkout{padding-top:44px}
.ipmembership .card-checkout .checkout-heading{display:block;text-align:center;margin-top:63px;margin-bottom:42px}
.ipmembership .card-checkout .checkout-heading h1{font-size:42px;line-height:42px}
.ipmembership .card-checkout .checkout-heading p{margin-top:16px}
.ipmembership .checkout-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ipmembership .checkout-plan{border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;background:#fff;min-width:0}
.ipmembership .checkout-plan.paid-plan{border-color:var(--yellow)}
.ipmembership .checkout-plan.is-selected{box-shadow:0 0 0 2px var(--yellow)}
.ipmembership .plan-ribbon{padding:9px 18px;background:var(--light);font-size:15px;font-weight:600;text-align:center}
.ipmembership .paid-plan .plan-ribbon{background:#fff4d2}
.ipmembership .is-selected .plan-ribbon{background:var(--yellow)}
.ipmembership .checkout-plan-body{display:flex;flex:1;flex-direction:column;padding:28px 28px 23px}
.ipmembership .checkout-plan h2{font-size:24px}
.ipmembership .checkout-plan h2 label{display:flex;align-items:center;gap:11px;cursor:pointer}
.ipmembership .checkout-plan input[name=plan]{accent-color:#d49b00;width:21px;height:21px;flex-shrink:0;margin:0}
.ipmembership .checkout-plan-description{font-size:15px;color:#777;margin-top:10px;min-height:26px}
.ipmembership .checkout-plan-price{margin-top:28px;min-height:96px}
.ipmembership .checkout-plan .price{font-size:42px;gap:4px;flex-wrap:wrap}
.ipmembership .checkout-plan .price .unit{font-size:19px}
.ipmembership .price-prefix{font-size:18px;font-weight:500;margin-right:3px}
.ipmembership .checkout-plan-price p{font-size:14px;color:#777;margin-top:11px;line-height:1.7}
.ipmembership .checkout-plan-price p strong{font-weight:500;color:#555}
.ipmembership .checkout-plan .btn{width:100%;margin-top:22px;font-size:18px;padding-inline:13px}
.ipmembership .checkout-plan .card-features{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.ipmembership .checkout-plan .features-title{font-size:15px;margin-bottom:15px}
.ipmembership .checkout-plan .features{font-size:16px;gap:12px}
.ipmembership .checkout-plan .check:before{border-color:#999}
.ipmembership .paid-plan .check:before{border-color:#d49b00}
.ipmembership .checkout-plan-foot{font-size:13px;line-height:1.8;color:#888;margin-top:auto;padding-top:29px}
.ipmembership .checkout-plans-note{font-size:14px;color:#777;text-align:center;margin:23px 0 0}
.ipmembership .checkout-details{border-top:1px solid var(--line);margin-top:46px;padding-top:34px;scroll-margin-top:31px}
.ipmembership .selected-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.ipmembership .selected-plan-heading .eyebrow{font-size:14px;margin-bottom:7px}
.ipmembership .selected-plan-heading h2{font-size:28px}
.ipmembership .selected-plan-heading>div>p:last-child{color:#777;font-size:15px;margin-top:8px}
.ipmembership .selected-plan-heading .text-button{margin-top:0;white-space:nowrap}
.ipmembership .card-checkout #checkout-details-title:focus{outline:none}
@media(max-width:1050px) and (min-width:801px){
.ipmembership .checkout-plans{gap:15px}
.ipmembership .checkout-plan-body{padding:25px 20px 22px}
.ipmembership .checkout-plan .price{font-size:35px}
.ipmembership .checkout-plan h2{font-size:22px}
.ipmembership .checkout-plan-description{min-height:51px}
.ipmembership .checkout-plan-price{min-height:105px}
.ipmembership .checkout-plan .features{font-size:15px}
}
@media(max-width:800px){
.ipmembership .checkout-plans{grid-template-columns:1fr;max-width:594px;margin-inline:auto;gap:24px}
.ipmembership .checkout-plan-body{padding:29px 31px 25px}
.ipmembership .checkout-plan-price{min-height:0;margin-top:23px}
.ipmembership .checkout-plan .price{font-size:44px}
.ipmembership .card-checkout{padding-top:32px}
.ipmembership .checkout-plan-description{min-height:0}
.ipmembership .checkout-plan .features{font-size:18px}
.ipmembership .checkout-details{margin-top:34px}
.ipmembership .selected-plan-heading{align-items:flex-start}
.ipmembership .selected-plan-heading h2{font-size:25px}
.ipmembership .selected-plan-heading .text-button{font-size:14px}
.ipmembership .checkout-plans-note{text-align:left;max-width:594px;margin-inline:auto}
}
@media(max-width:400px){
.ipmembership .checkout-plan-body{padding-inline:24px}
.ipmembership .selected-plan-heading{flex-wrap:wrap}
.ipmembership .checkout-plan .price{font-size:40px}
}
.ipmembership .section-nav{flex-wrap:wrap}
.ipmembership .service-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ipmembership .service-benefit-grid .benefit{padding:31px;display:flex;flex-direction:column}
.ipmembership .service-benefit-grid .benefit p{font-size:18px;min-height:0}
.ipmembership .service-benefit-grid .benefit .text-button{margin-top:auto;padding-top:21px;font-size:15px}
.ipmembership .service-points{padding-left:21px;margin:19px 0 0;color:#666;font-size:15px;line-height:1.9}
.ipmembership .service-points li+li{margin-top:6px}
.ipmembership .service-points strong{font-weight:600;color:#333}
.ipmembership .paid-benefits-section{padding-top:64px}
.ipmembership .paid-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:33px}
.ipmembership .paid-service{border:1px solid var(--line);border-radius:13px;padding:32px}
.ipmembership .paid-service .tag{display:inline-block;margin-bottom:15px}
.ipmembership .paid-service h3{font-size:23px}
.ipmembership .paid-service>p{font-size:18px;color:#777;margin-top:12px}
.ipmembership .service-link-row{display:flex;flex-wrap:wrap;gap:0 24px}
.ipmembership .paid-service .service-condition{font-size:14px;margin-top:20px}
.ipmembership .service-overview{border:1px solid var(--line);border-radius:13px;margin-top:37px}
.ipmembership .service-overview>summary{padding:21px 25px;font-size:16px}
.ipmembership .service-overview-grid{padding:3px 26px 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:29px}
.ipmembership .service-overview-grid article{padding-top:24px;border-top:1px solid #eee;min-width:0}
.ipmembership .service-overview-grid .tag{display:inline-block;margin-bottom:11px}
.ipmembership .service-overview-grid h3{font-size:20px}
.ipmembership .service-overview-grid p{font-size:16px;color:#777;margin-top:9px}
.ipmembership .service-overview-grid .text-button{margin:13px 18px 0 0}
.ipmembership .card-checkout .features .sub{font-size:14px;margin-top:4px;line-height:1.7}
.ipmembership .card-checkout .features{gap:15px}
@media(max-width:900px){
.ipmembership .service-benefit-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
.ipmembership .service-benefit-grid, .ipmembership .paid-service-grid, .ipmembership .service-overview-grid{grid-template-columns:1fr}
.ipmembership .service-benefit-grid .benefit{padding:26px}
.ipmembership .service-benefit-grid .icon-box{position:static;margin-bottom:18px}
.ipmembership .paid-benefits-section{padding-top:42px}
.ipmembership .paid-service{padding:26px}
.ipmembership .paid-service h3{font-size:22px}
.ipmembership .service-overview-grid{padding-inline:22px;gap:24px}
.ipmembership .service-overview>summary{padding-inline:22px}
.ipmembership .section-nav{gap:13px 22px}
.ipmembership .section-title h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
.ipmembership, .ipmembership *{transition:none!important}
}
/* 26.09.09: 폰트는 Pretendard(jsdelivr CDN)로 확정. NanumSquareRound 전용으로 넣었던
   --font 오버라이드/굵기 보정 블록은 필요 없어져서 제거함 - :root 기본값(Pretendard) 그대로 사용,
   500/600/700 등 원래 요청 굵기도 CDN이 다 갖고 있어서 그대로 둠.
   자간/줄간격/크기(px 10% 확대 스케일)는 그대로 유지. */

/* 26.09.11: 마이페이지 탭바(top_listBox)와 그 아래 콘텐츠 사이 수직 간격(.mypage_boxArea
   .top_listBox ul { margin-bottom:57px })은 마이페이지/결제내역 등 전 사이트 탭 페이지가 같이
   쓰는 값이라 여기서 못 건드림(다른 탭에도 다 영향감) - 이용권 결제 페이지만 좁혀달라는
   요청이라 order.skin.php에서만 붙이는 .order-checkout-page 클래스로 이 페이지에서만 줄인다. */
.order-checkout-page .top_listBox ul{margin-bottom:16px}

/* 26.09.11: 요금제 안내 페이지(item/pricing.php, $wrap_class='pricing_wrap')의 상단 "커뮤니티"
   드롭다운 항목 간격도 좁혀달라는 요청 - 기본값(layout.css .submenu.sub-dept.submenu--row
   .submenu_tablist { gap: 8px 27px }) 은 전 사이트 공통이라 여기서 #wrap.pricing_wrap 로
   스코프해서 이 페이지에서 열었을 때만 가로 gap을 27px->14px로 줄인다. */
#wrap.pricing_wrap .submenu.sub-dept.submenu--row .submenu_tablist{gap:8px 14px}
