/* ============================================================
   모티풀 12주 챌린지 - 공통 스타일 (motifull tone)
   ============================================================ */
:root{
  --brand:#1f7a5a;         /* deep natural green */
  --brand-dark:#15503b;
  --brand-2:#2ea37a;
  --brand-light:#e9f4ef;
  --brand-soft:#f2f8f5;
  --accent:#c49a4a;        /* gold - 혜택 강조 */
  --ink:#182722;
  --muted:#66766e;
  --line:#e3ebe6;
  --bg:#f6f9f7;
  --white:#fff;
  --danger:#d3453b;
  --ok:#1f9d63;
  --warn:#c9871f;
  --radius:1rem;
  --radius-sm:0.625rem;
  --shadow:0 0.375rem 1.5rem rgba(21,80,59,.08);
  --shadow-sm:0 2px 0.5rem rgba(21,80,59,.06);
  --maxw:57.5rem;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.6; font-size:1rem;
  position: relative;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1, h2, h3, p, dt, dd{word-break: keep-all !important;}
.pc{display: block !important;}
.pc2{display: block !important;}
.mob{display: none !important;}
.mob2{display: none !important;}
.coming_soon img{margin: 0 auto;}
@media(max-width:1024px){
  .pc{display: none !important;}
  .mob{display: block !important;}
}
@media(max-width:768px){
  .pc2{display: none !important;}
  .mob2{display: block !important;}
}

/* layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.site-header{
  background:var(--white);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:3.875rem}
.logo{font-weight:800;font-size:1.375rem;letter-spacing:-.5px;color:var(--brand)}
.logo small{display:block;font-size:0.6875rem;font-weight:600;color:var(--muted);letter-spacing:.02em;margin-top:-2px}
.nav-link{font-size:0.875rem;color:var(--muted);font-weight:600}
.nav-link:hover{color:var(--brand)}

.site-footer{margin-top:3.75rem;padding:1.875rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:0.8125rem;text-align:center}

main{padding:2.125rem 0 1.25rem}

/* hero */
.hero{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);
  color:#fff;border-radius:var(--radius);padding:2.875rem 2.125rem;box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.hero:before{content:"";position:absolute;right:-3.75rem;top:-3.75rem;width:13.75rem;height:13.75rem;
  background:rgba(255,255,255,.08);border-radius:50%}
.hero .eyebrow{font-size:0.8125rem;font-weight:700;letter-spacing:.08em;opacity:.85;margin-bottom:0.625rem}
.hero h1{margin:0 0 0.75rem;font-size:1.875rem;line-height:1.3;letter-spacing:-.6px}
.hero p{margin:0;opacity:.9;font-size:0.9375rem;max-width:35rem}

/* card */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.625rem;box-shadow:var(--shadow-sm)}
.card + .card{margin-top:1.125rem}
.card h2{margin:0 0 0.25rem;font-size:1.1875rem;letter-spacing:-.3px}
.card .sub{color:var(--muted);font-size:0.875rem;margin:0 0 1.125rem}
.section-title{font-size:1rem;font-weight:800;margin:1.75rem 0 0.75rem;color:var(--brand-dark);
  display:flex;align-items:center;gap:0.5rem}
.section-title:before{content:"";width:0.25rem;height:1rem;background:var(--brand);border-radius:2px}

/* grid helpers */
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:720px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* form */
.field{margin-bottom:1rem}
.field > label{display:block;font-weight:700;font-size:0.875rem;margin-bottom:0.4375rem}
.field .hint{color:var(--muted);font-size:0.7812rem;font-weight:500;margin-left:0.25rem}
.input,select,textarea{
  width:100%;padding:0.8125rem 0.875rem;border:1px solid var(--line);border-radius:var(--radius-sm);
  font-size:0.9375rem;font-family:inherit;background:var(--white);color:var(--ink);transition:.15s;
}
.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 0.1875rem var(--brand-light)}
textarea{resize:vertical;min-height:6rem}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    box-shadow: 0 0 0px 1000px #fff inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    box-shadow: 0 0 0px 1000px #fff inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* choice chips (radio) */
.chips{display:flex;flex-wrap:wrap;gap:0.625rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-block;padding:0.625rem 1rem;border:1px solid var(--line);border-radius:62.4375rem;
  font-size:0.875rem;font-weight:600;color:var(--muted);cursor:pointer;transition:.15s;background:var(--white)}
.chip input:checked + span{background:var(--brand);border-color:var(--brand);color:#fff}

/* checkbox row */
.check{display:flex;align-items:flex-start;gap:0.625rem;font-size:0.875rem}
.check input{margin-top:0.1875rem;width:1.125rem;height:1.125rem;accent-color:var(--brand);flex:0 0 auto}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  padding:0.875rem 1.375rem;border-radius:var(--radius-sm);font-weight:700;font-size:0.9375rem;
  border:1px solid transparent;cursor:pointer;transition:.15s;font-family:inherit;text-align:center}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-ghost{background:var(--white);border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--brand-2);color:var(--brand)}
.btn-danger{background:#fff;border-color:#f0c9c6;color:var(--danger)}
.btn-danger:hover{background:#fdecea}
.btn-block{width:100%}
.btn-lg{padding:1rem 1.625rem;font-size:1rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* badges */
.badge{display:inline-block;padding:0.25rem 0.625rem;border-radius:62.4375rem;font-size:0.75rem;font-weight:700}
.badge-green{background:var(--brand-light);color:var(--brand-dark)}
.badge-gold{background:#f6edd7;color:#8a6a1e}
.badge-gray{background:#eef2f0;color:var(--muted)}
.badge-red{background:#fdecea;color:var(--danger)}
.badge-blue{background:#e7f0fb;color:#2b6cb0}

/* alerts */
.alert{padding:0.875rem 1rem;border-radius:var(--radius-sm);font-size:0.875rem;margin-bottom:1.125rem;border:1px solid}
.alert-info{background:var(--brand-soft);border-color:var(--brand-light);color:var(--brand-dark)}
.alert-warn{background:#fdf6e7;border-color:#f3e2b6;color:#8a6a1e}
.alert-error{background:#fdecea;border-color:#f5cfcb;color:var(--danger)}

/* stage timeline */
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:0.875rem}
@media(max-width:720px){.stages{grid-template-columns:repeat(2,1fr)}}
.stage-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.125rem;background:var(--white);
  display:flex;flex-direction:column;gap:0.625rem;position:relative;transition:.15s}
.stage-card .thumb{aspect-ratio:1/1;border-radius:0.625rem;overflow:hidden;background:var(--brand-soft);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.8125rem}
.stage-card .thumb img{width:100%;height:100%;object-fit:cover}
.stage-head{display:flex;align-items:center;justify-content:space-between}
.stage-head strong{font-size:0.9375rem}
.stage-benefit{font-size:0.7812rem;color:var(--accent);font-weight:700}
.stage-card.locked{opacity:.62;background:var(--bg)}
.stage-card.done{border-color:var(--brand-2);box-shadow:0 0 0 2px var(--brand-light)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:720px){.gallery{grid-template-columns:repeat(2,1fr)}}
.gcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.gcard .g-imgs{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line)}
.gcard .g-imgs .cell{aspect-ratio:1/1;background:var(--brand-soft);position:relative}
.gcard .g-imgs .cell img{width:100%;height:100%;object-fit:cover}
.gcard .g-imgs .cell span{position:absolute;left:0.375rem;top:0.375rem;background:rgba(0,0,0,.55);color:#fff;font-size:0.625rem;padding:2px 0.375rem;border-radius:0.375rem}
.gcard .g-body{padding:0.875rem 1rem}
.gcard .g-body .who{font-weight:700;font-size:0.875rem}
.gcard .g-body .meta{color:var(--muted);font-size:0.7812rem;margin-top:2px}

/* benefit table */
.btable{width:100%;border-collapse:collapse;font-size:0.875rem}
.btable th,.btable td{padding:0.75rem 0.875rem;border-bottom:1px solid var(--line);text-align:left}
.btable th{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}
.btable td.b{color:var(--accent);font-weight:700}

/* pagination */
.pager{display:flex;justify-content:center;align-items:center;gap:0.375rem;margin:1.875rem 0 0.375rem;flex-wrap:wrap}
.pager a,.pager span{min-width:2.375rem;height:2.375rem;display:inline-flex;align-items:center;justify-content:center;
  padding:0 0.625rem;border:1px solid var(--line);border-radius:0.5625rem;font-size:0.875rem;font-weight:600;color:var(--muted);background:var(--white)}
.pager a:hover{border-color:var(--brand-2);color:var(--brand)}
.pager .on{background:var(--brand);border-color:var(--brand);color:#fff}
.pager .disabled{opacity:.4;pointer-events:none}

/* clickable thumbnails */
.gcard .g-imgs .cell.has-img{cursor:zoom-in}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(10,20,16,.86);display:none;align-items:center;justify-content:center;
  z-index:1000;padding:1.5rem 5rem;flex-direction:column;gap:1rem}
.lb.on{display:flex}
.lb img{max-width:100%;max-height:82vh;object-fit:contain}
.mf-shot__img img,
.mf-stage__thumb img,
#mfLbImg{
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.lb .lb-cap{color:#fff;font-size:1rem;font-weight:600}
.lb .lb-close{position:absolute;top:1.25rem;right:1.5rem;width:1.5rem;height:1.5rem;
  background:none;border:none;font-size:0;line-height:0;cursor:pointer;z-index:3}
.lb .lb-close:before,.lb .lb-close:after{content:"";position:absolute;left:50%;top:50%;width:1.5rem;height:2px;background:#fff;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.lb .lb-close:after{transform:translate(-50%,-50%) rotate(-45deg)}
.lb-nav{position:absolute;top:50%;z-index:2;width:3rem;height:3rem;margin-top:-1.5rem;padding:0 0 .12rem;
  border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:2rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-nav[hidden]{display:none}
.lb-nav--prev{left:1.25rem}
.lb-nav--next{right:1.25rem}
.lb-nav:hover{background:rgba(255,255,255,.3)}

/* home gallery — 한 줄 비교 카드 */
.hgal{display:flex;flex-direction:column;gap:0.875rem}
.hgal-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.375rem 1.375rem 1.25rem;box-shadow:var(--shadow-sm)}
.hgal-top{display:flex;align-items:flex-start;gap:1.125rem}
.hgal-who{flex:0 0 8rem;padding-top:1.375rem}
.hgal-who .name{font-weight:800;font-size:0.9375rem;letter-spacing:-.2px;color:var(--ink);margin-bottom:0.5rem;line-height:1.4}
.hgal-who .meta{color:var(--muted);font-size:0.7812rem;line-height:1.55}
.hgal-photos{flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0.625rem}
.hgal-shot{display:flex;flex-direction:column;align-items:center;gap:0.5rem}
.hgal-tag{display:inline-flex;align-items:center;justify-content:center;min-width:3.625rem;height:1.375rem;padding:0 0.625rem;
  border-radius:62.4375rem;background:var(--brand-soft);color:var(--brand-dark);font-size:0.6875rem;font-weight:700}
.hgal-tag.on{background:var(--brand);color:#fff}
.hgal-img{width:100%;aspect-ratio:1/1;border-radius:1.125rem;overflow:hidden;background:var(--brand-soft)}
.hgal-img img{width:100%;height:100%;object-fit:cover}
.hgal-img.has-img{cursor:zoom-in}
.hgal-notes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem 1.5rem;margin-top:1.125rem;padding-top:1rem;border-top:1px solid var(--line)}
.hgal-note-h{font-size:0.7812rem;font-weight:800;color:var(--brand);margin-bottom:0.375rem}
.hgal-note-h:before{content:"① ";font-weight:800}
.hgal-notes > div:last-child .hgal-note-h:before{content:"② "}
.hgal-notes p{margin:0;font-size:0.8438rem;color:var(--ink);line-height:1.65;word-break:keep-all}
@media(max-width:720px){
  .hgal-top{flex-direction:column;gap:0.875rem}
  .hgal-who{flex:none;padding-top:0}
  .hgal-photos{gap:0.5rem}
  .hgal-img{border-radius:0.875rem}
  .hgal-notes{grid-template-columns:1fr;gap:0.875rem}
}

.center{text-align:center}
.mt-2{margin-top:1.25rem}.mt-3{margin-top:1.875rem}
.muted{color:var(--muted)}
.small{font-size:0.8125rem}
.divider{height:1px;background:var(--line);margin:1.375rem 0}


/* ============================================================
   ▼ 2026-09 Figma 리뉴얼 (index.php) — 이전 스타일은 위에 그대로 유지
   기존 CSS 백업: _backup/20260923_before_figma/assets/style.css
   ============================================================ */
:root{
  --mf-gold:#a98a64;
  --mf-gold-2:#c49d6c;
  --mf-gold-light:#d9c7a8;
  --mf-gold-bg:#f3ebdf;
  --mf-ink:#1a1613;
  --mf-n20:#292a2d;
  --mf-n23:#333438;
  --mf-n30:#46474c;
  --mf-n40:#5a5c63;
  --mf-n60:#878a93;
  --mf-n70:#989ba2;
  --mf-n80:#aeb0b6;
  --mf-n90:#c2c4c8;
  --mf-n95:#dbdcdf;
  --mf-n99:#f7f7f8;
  --mf-line:#e1e2e4;
  --mf-line-alt:#f4f4f5;
  --mf-fill:#f4f4f5;
  --mf-inner:87.5rem;
  --mf-gutter:2.5rem;
  --mf-header:5rem;        /* GNB 높이(80px) */
  --mf-sec04-pad:5rem;     /* .mf-sec04 상단 여백 */
}

/* ---------- GNB (공통 헤더) ---------- */
.site-header{background:#fff;border-bottom:1px solid var(--mf-line-alt);position:sticky;top:0;z-index:50}
.site-header .gnb{max-width:calc(var(--mf-inner) + var(--mf-gutter)*2);margin:0 auto;padding:1.25rem var(--mf-gutter);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:5rem}
.gnb-logo{display:block;width:11.25rem;height:2.3312rem;flex:0 0 auto}
.gnb-logo img{width:100%;height:100%;display:block}
.gnb-menu{display:flex;align-items:center;gap:2.75rem}
.gnb-menu > a{font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-n40);white-space:nowrap;transition:color .15s}
.gnb-menu > a:hover,.gnb-menu > a.on{color:var(--mf-ink)}
.gnb-btns{display:flex;align-items:center;gap:0.75rem}
.gnb-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.625rem 1.25rem;border-radius:6.25rem;
  font-size:0.875rem;font-weight:500;line-height:1.43;white-space:nowrap;border:1px solid transparent;transition:.15s}
.gnb-btn--dark{background:var(--mf-n30);color:#fff}
.gnb-btn--dark:hover{background:var(--mf-n20)}
.gnb-btn--line{background:#fff;border-color:var(--mf-n80);color:#171719}
.gnb-btn--line:hover{border-color:var(--mf-n40)}

/* 페이지 본문(full width 페이지용) */
main.page-full{padding:0}
.mf-inner{max-width:calc(var(--mf-inner) + var(--mf-gutter)*2);margin:0 auto;padding:0 var(--mf-gutter)}
body.page-index{background:#fff}
body.page-index .site-footer{margin-top:0}

/* ---------- Footer (공통) ---------- */
.site-footer{background:var(--mf-ink);color:#b7aea6;margin-top:0;padding:3.75rem 0 3.125rem;border-top:0;font-size:0.875rem;text-align:left}
.site-footer .mf-inner{display:flex;flex-direction:column;gap:2rem}
.foot-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.foot-logo{width:11.25rem;height:2.3312rem;display:block}
.foot-logo img{width:100%;height:100%;display:block}
.foot-cs{display:flex;align-items:center;gap:1.25rem}
.foot-cs .cs-left{display:flex;flex-direction:column;gap:0.25rem;color:#fff;font-weight:700;line-height:1.33}
.foot-cs .cs-left small{font-size:0.625rem;font-weight:700}
.foot-cs .cs-left strong{font-size:1.5rem;letter-spacing:-.24px}
.foot-cs .cs-hours{font-size:0.75rem;line-height:1.33;color:rgba(255,255,255,.45)}
.foot-line{height:1px;background:rgba(255,255,255,.14)}
.foot-bottom-area{display:flex;flex-direction:column;gap:1.25rem}
.foot-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}
.foot-info{display:flex;flex-direction:column;gap:0.375rem;font-size:0.875rem;line-height:1.43;color:#b7aea6;word-break:keep-all}
.foot-info .sep{margin:0 0.75rem;opacity:.6}
.foot-sns{display:flex;gap:0.5rem;opacity:.5;flex:0 0 auto}
.foot-sns a{width:1.5625rem;height:1.5625rem;display:block;position:relative}
.foot-sns a img{width:100%;height:100%;display:block}
.foot-sns a .yt-mark{position:absolute;left:50%;top:50%;width:0.6687rem;height:0.4813rem;transform:translate(-50%,-50%)}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.foot-copy{font-size:0.75rem;line-height:1.33;color:#80786e}
.foot-links{display:flex;gap:1.125rem;font-size:0.7294rem;line-height:1.43;color:#b7aea6}
.foot-links a{transition: all 0.2s;}
.foot-links a:hover{color:#fff}

/* ---------- Quick (우측 플로팅) ---------- */
.mf-quick{position:fixed;right:2.5rem;bottom:2.5rem;z-index:40;display:flex;flex-direction:column;gap:0.625rem;width:4.6875rem}
.mf-quick a,.mf-quick button{width:4.6875rem;height:4.6875rem;border-radius:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.25rem;
  font-size:0.75rem;font-weight:700;line-height:1.33;font-family:inherit;border:0;cursor:pointer;text-align:center}
.mf-quick .q-mall{background:rgba(255,255,255,.8);color:var(--mf-n30);box-shadow:0 2px 1.25rem rgba(0,0,0,.1);backdrop-filter:blur(0.25rem)}
.mf-quick .q-mall img{width:1.5rem;height:1.5rem}
.mf-quick .q-top{background:var(--mf-n40);color:#fff;border-top:.75px solid rgba(255,255,255,.15)}
.mf-quick .q-top img{width:1.25rem;height:1.25rem}
.mf-quick .q-top:hover{background:var(--mf-n30)}

/* ---------- 공통 타이포 ---------- */
.mf-sec-head{display:flex;flex-direction:column;gap:1.25rem}
.mf-sec-head h2{margin:0;font-size:2.25rem;font-weight:700;line-height:1.22;letter-spacing:-.54px;color:var(--mf-ink)}
.mf-sec-head p{margin:0;font-size:1.25rem;font-weight:500;line-height:1.45;color:var(--mf-n40)}

/* ---------- Visual ---------- */
/* .mf-visual{position:relative;aspect-ratio: 1920/700; overflow:hidden;background:#fff} */
.mf-visual{position:relative;height: 43.75rem;overflow:hidden;background:#fff}
.mf-visual__bg{position:absolute;inset:0;z-index:0}
.mf-visual__bg img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit: cover;}
/* .mf-visual__bg:after{content:"";position:absolute;left:0;top:0;width:100%;height:33.5625rem; background:linear-gradient(180deg,rgba(169,138,100,.4) 0%,rgba(169,138,100,0) 100%)} */
.mf-visual .mf-inner{position:relative;z-index:1;height:100%;display:flex;align-items:center}
.mf-visual__txt{display:flex;flex-direction:column;gap:1.75rem;padding-bottom:1.25rem;padding-top:5rem;}
.mf-visual__label{margin:0;font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.1px;color:#37383c}
.mf-visual__title{margin:0;font-size:3.5625rem;font-weight:700;line-height:1.16;letter-spacing:-1.71px;color:var(--mf-n20)}
.mf-visual__title em{font-style:normal;color:var(--mf-gold)}
.mf-visual__desc{margin:0;font-size:1.25rem;font-weight:400;line-height:1.45;color:var(--mf-n40)}
.mf-visual__cta{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;gap:0.25rem;margin-top:0.5rem;padding:0.75rem 1.75rem 0.75rem 2.25rem;border-radius:999px;background:var(--mf-n20);color:#fff;font-size:1.375rem;font-weight:700;line-height:1.45;letter-spacing:-0.11px;transition:background .15s}
.mf-visual__cta img{flex:none;width:20px;height:20px;max-width:none}
.mf-visual__cta:hover{background:#000}
.mf-visual__badge{position:absolute;right:calc(var(--mf-gutter) + 2px);top:4.5625rem;width:14.625rem;height:14.625rem;border-radius:50%;z-index:2; display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.0625rem;color:#fff;text-align:center; background:linear-gradient(154deg,#cfb99d 9.6%,#9f7d53 75.5%);box-shadow:0.25rem 0.625rem 0.625rem rgba(0,0,0,.25)}
.mf-visual__badge .b-logo{width:6.625rem;height:1.375rem;display:block}
.mf-visual__badge .b-line{width:8.375rem;height:1px;background:rgba(255,255,255,.4)}
.mf-visual__badge .b-txt{display:flex;flex-direction:column;align-items:center;line-height:1.2}
.mf-visual__badge .b-txt span{font-size:1.1875rem;font-weight:400;line-height:1.5}
.mf-visual__badge .b-txt strong{font-size:2.125rem;font-weight:700;line-height:1.25;letter-spacing:-.5px;margin-top:-0.25rem}
.mf-visual__badge .b-txt em{font-style:normal;font-size:1.4625rem;font-weight:500;line-height:1.45;letter-spacing:-.12px;margin-top:-0.25rem}

/* ---------- Sec01 : 참여 폼 + 참여 방법 ---------- */
.mf-sec01{background:var(--mf-n99);padding:5rem 0}
.mf-sec01__inner{display:flex;align-items:flex-start;gap:3.75rem}
.mf-form-card{flex:0 0 27.5rem;background:#fff;border:1px solid var(--mf-line);border-radius:1.25rem;padding:2rem;
  display:flex;flex-direction:column;gap:1.5rem}
.mf-form-card .mf-alert{margin:0}
.mf-form-row{display:flex;align-items:flex-start;gap:1rem}
.mf-field{display:flex;flex-direction:column;gap:0.625rem;min-width:0}
.mf-field--name{flex:0 0 9.6875rem}
.mf-field--phone{flex:1 1 auto}
.mf-field > label{display:flex;align-items:center;gap:0.5rem;font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-ink)}
.mf-field > label .hint{font-size:0.875rem;font-weight:400;line-height:1.43;color:var(--mf-n70)}
.mf-input{width:100%;padding:0.75rem 1.25rem;border:1px solid var(--mf-line);border-radius:0.625rem;background:#fff;
  font-size:1rem;line-height:1.5;color:var(--mf-ink);font-family:inherit;transition:.15s}
.mf-input::placeholder{color:#878a93}
.mf-input:focus{outline:none;border-color:var(--mf-gold);box-shadow:0 0 0 0.1875rem rgba(169,138,100,.15)}
.mf-form-box{display:flex;flex-direction:column;gap:0.75rem}
.mf-form-desc{margin:0;font-size:1rem;font-weight:500;line-height:1.5;color:var(--mf-n30)}
.mf-field-err{margin:0;font-size:0.8125rem;line-height:1.4;color:var(--danger)}
.mf-form-block{display:flex;flex-direction:column;align-items:center;gap:1.25rem}
.mf-btn-dark{display:flex;align-items:center;justify-content:center;width:100%;padding:1rem 1.25rem;border:0;border-radius:0.5rem;
  background:var(--mf-n20);color:#fff;font-size:1.125rem;font-weight:700;line-height:1.5;font-family:inherit;cursor:pointer;transition:.15s}
.mf-btn-dark:hover{background:#000}
.mf-form-note{margin:0;text-align:center;font-size:0.875rem;line-height:1.43;color:#878a93}
.mf-form-note b{color:var(--mf-n20)}
.mf-alert{padding:0.75rem 1rem;border-radius:0.625rem;font-size:0.875rem;line-height:1.5;border:1px solid}
.mf-alert--error{background:#fdecea;border-color:#f5cfcb;color:var(--danger)}

.mf-sec01__cont{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2.5rem}
.mf-steps{display:flex;align-items:flex-start;justify-content:space-between;gap:2.5rem}
.mf-steps__list{list-style:none;margin:0;padding:0;width:31.25rem;flex:0 0 auto;display:flex;flex-direction:column;gap:1.75rem}
.mf-steps__list li{display:flex;flex-direction:column;gap:.75rem;cursor:pointer}
.mf-steps__list li + li{border-top:1px solid var(--mf-n90);padding-top:1.75rem;gap:.75rem}
.mf-steps__num{width:2.5rem;height:2.5rem;border-radius:1.875rem;display:flex;align-items:center;justify-content:center;
  background:var(--mf-n90);color:#fff;font-size:1rem;font-weight:700;line-height:1.5;transition:background .25s}
.mf-steps__txt{display:flex;flex-direction:column;gap:0.25rem;line-height:1.45;transition:color .25s;color:var(--mf-n90)}
.mf-steps__txt strong{font-size:1.375rem;font-weight:700;letter-spacing:-.11px}
.mf-steps__txt span{font-size:1.25rem;font-weight:500;word-break:keep-all}
.mf-steps__list li.on .mf-steps__num{background:var(--mf-gold)}
.mf-steps__list li.on .mf-steps__txt{color:var(--mf-n23)}
.mf-steps__list li.on .mf-steps__txt strong{color:var(--mf-ink)}
.mf-steps__list li:not(.on):hover .mf-steps__txt{color:var(--mf-n70)}
.mf-steps__panels{position:relative;width:20rem;height:41.75rem;flex:0 0 auto}
.mf-steps__panel{position:absolute;inset:0;opacity:0;transition:opacity .35s;pointer-events:none}
.mf-steps__panel.on{opacity:1;pointer-events:auto}
.mf-steps__panel .p-head{display:none}
.mf-steps__panel img{width:20rem;height:41.75rem;display:block;object-fit:contain}

/* ---------- Sec02 : 단계별 혜택 ---------- */
.mf-sec02{background:#fff;padding:5rem 0}
.mf-sec02__head{display:flex;flex-direction:column;align-items:center;gap:0.5rem;text-align:center}
.mf-sec02__head h2{margin:0;font-size:2.25rem;font-weight:700;line-height:1.22;letter-spacing:-.54px;color:var(--mf-ink)}
.mf-sec02__head h2 em{font-style:normal;color:var(--mf-gold)}
.mf-sec02__head p{margin:0;font-size:1.125rem;line-height:1.5;color:#878a93}
.mf-sec02__body{width:100rem;max-width:calc(100vw - var(--mf-gutter)*2);margin:3.75rem auto 0;display:flex;flex-direction:column;gap:2.25rem}

/* 진행 바 (활성화: li.on / 연결선: on+on 골드) */
.mf-progress{list-style:none;margin:0;padding:0;display:flex;gap:1.25rem;align-items:flex-end}
.mf-progress li{flex:1 1 0;position:relative;display:flex;flex-direction:column;align-items:center;gap:0.75rem;min-height:4.1875rem;justify-content:flex-end}
.mf-progress li:before{content:"";position:absolute;left:calc(-50% - 0.625rem);right:50%;bottom:0.5625rem;height:1px;background:var(--mf-n80);z-index:0}
.mf-progress li:first-child:before{display:none}
.mf-progress li.on + li.on:before{background:var(--mf-gold)}
.mf-progress .p-label{font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.1px;color:var(--mf-n20);transition:.25s}
.mf-progress .p-dot{width:1.1875rem;height:1.1875rem;border-radius:50%;background:var(--mf-n20);position:relative;z-index:1;transition:.25s}
.mf-progress li.on .p-label{font-size:1.75rem;line-height:1.29;letter-spacing:-.28px;color:var(--mf-gold)}
.mf-progress li.on .p-dot{background:var(--mf-gold)}

/* 혜택 카드 */
.mf-benefit{display:flex;gap:1.75rem;align-items:flex-start;margin-top:-0.5rem}
.mf-bcard{position:relative;flex:1 1 0;min-width:0;height:37.5rem;border:1px solid var(--mf-n95);border-radius:1rem;background:#fff;
  padding-top:2rem;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.mf-bcard:not(:last-child):after{content:"";position:absolute;right:-1.875rem;top:18.4375rem;width:2rem;height:2rem;z-index:3;
  background:url(images/challenge/ic_caret_right.svg) center/contain no-repeat}
.mf-bcard__top{width:100%;padding:0 2rem;display:flex;flex-direction:column;align-items:center;gap:1.75rem}
.mf-bcard__badge{width:100%;padding:0.75rem 1.125rem;border-radius:6.25rem;text-align:center;color:#fff;font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.1px;
  background:linear-gradient(171deg,#c49d6c 12%,#a98a64 91%);box-shadow:0 0.25rem 0.25rem rgba(0,0,0,.1);white-space:nowrap}
.mf-bcard__head{display:flex;flex-direction:column;align-items:center;gap:0.75rem;width:100%}
.mf-bcard__head h3{margin:0;font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.24px;color:var(--mf-ink);text-align:center;word-break:keep-all}
.mf-bcard__price{display:flex;align-items:baseline;justify-content:center;gap:0.625rem;white-space:nowrap}
.mf-bcard__price span{font-size:1rem;line-height:1.5;color:var(--mf-n70)}
.mf-bcard__price strong{font-size:1.375rem;font-weight:700;line-height:1.45;letter-spacing:-.11px;color:var(--mf-ink)}
.mf-bcard--3 .mf-bcard__price span,.mf-bcard--3 .mf-bcard__price strong{color:var(--mf-gold)}
.mf-bcard__img{position:relative;width:25.75rem;max-width:100%;aspect-ratio:1/1;overflow:hidden;flex:0 0 auto}
.mf-bcard__img img{position:absolute;display:block;height:auto}
.mf-bcard--1 .mf-bcard__img .i-15{width:89.8%;left:5.1%;top:-5.1%}
.mf-bcard--2 .mf-bcard__img .i-50{width:120.4%;left:-7%;top:-50.7%}
.mf-bcard--3 .mf-bcard__img .i-15{width:89.8%;left:-9.5%;top:-5.1%}
.mf-bcard--3 .mf-bcard__img .i-50{width:120.4%;left:2.7%;top:-50.7%}
/* 4번 골드 카드 */
.mf-bcard--gold{border:0;background:linear-gradient(180deg,#c7ae8f 0%,#a87a42 100%)}
.mf-bcard--gold .mf-bcard__top{gap:1.25rem}
.mf-bcard--gold .mf-bcard__badge{background:#fff;color:var(--mf-gold)}
.mf-bcard--gold .mf-bcard__total{margin:0;text-align:center;color:#fff;font-weight:500;font-size:2rem;line-height:1.25;letter-spacing:-.48px}
.mf-bcard--gold .mf-bcard__total b{display:block;font-size:2.8125rem;font-weight:700;line-height:1.15;letter-spacing:-.9px}
.mf-bcard--gold .mf-bcard__total b small{font-size:2rem;font-weight:500;letter-spacing:-.48px}
.mf-bcard__set{position:relative;width:100%;aspect-ratio:379/355;overflow:hidden;flex:0 0 auto;margin-top:0}
.mf-bcard__set img{position:absolute;display:block;height:auto}
.mf-bcard__set .s-gift{width:66.8%;left:4.5%;top:31.3%}
.mf-bcard__set .s-50a{width:117.9%;left:.7%;top:-49.9%}
.mf-bcard__set .s-50b{width:117.9%;left:14.4%;top:-49.9%}
.mf-bcard__set .s-15a{width:86%;left:37.3%;top:6.5%}
.mf-bcard__set .s-15b{width:86.3%;left:43.7%;top:6.5%}
.mf-bcard__circle{position:absolute;left:1.125rem;top:15.125rem;width:9.875rem;height:9.875rem;border-radius:50%;background:#fff;border:0.1875rem solid var(--mf-gold); box-shadow:0.1688rem 0.4219rem 0.4219rem rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;z-index:0}
.mf-bcard__circle .c-logo{width:3.75rem;height:0.775rem;display:block}
.mf-bcard__circle .c-line{width:5.625rem;height:1px;background:rgba(169,138,100,.5)}
.mf-bcard__circle p{margin:0;font-size:1rem;font-weight:700;line-height:1.5;text-align:center;
  background:linear-gradient(162deg,#c49d6c 12%,#a98a64 91%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 안내 바 */
.mf-sec02__box2{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.mf-info-bar{width:100%;background:var(--mf-fill);border-radius:1rem;padding:2rem 3rem;display:flex;align-items:center;gap:2.25rem}
.mf-info-item{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:1.25rem}
.mf-info-item img{width:3.25rem;height:3.25rem;flex:0 0 auto}
.mf-info-item .t{display:flex;flex-direction:column;gap:0.375rem}
.mf-info-item .t strong{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.24px;color:var(--mf-ink)}
.mf-info-item .t span{font-size:1.375rem;font-weight:500;line-height:1.45;letter-spacing:-.11px;color:var(--mf-n40);word-break:keep-all}
.mf-info-div{width:1px;align-self:stretch;background:rgba(174,176,182,.4);flex:0 0 auto}
.mf-note{margin:0;font-size:1.25rem;line-height:1.45;color:#878a93;text-align:center;word-break:keep-all}

/* ---------- Sec03 : 총 혜택 밴드 ---------- */
/* .mf-sec03{position:relative;overflow:hidden;background:var(--mf-n20);padding:3.75rem 0;aspect-ratio: 2880/570; display:flex;align-items:center} */
.mf-sec03{position:relative;overflow:hidden;background:var(--mf-n20);padding:3.75rem 0;min-height:23.75rem;display:flex;align-items:center}
.mf-sec03__bg{position:absolute;inset:0;z-index:0}
.mf-sec03__bg img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit: cover;}
.mf-sec03__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(169,138,100,.4) 0%,rgba(169,138,100,0) 100%)}
.mf-sec03 .mf-inner{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:1.5rem}
.mf-sec03__head{display:flex;flex-direction:column;gap:1.25rem}
.mf-sec03__head .s-sub{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n30)}
.mf-sec03__head h2{margin:0;font-size:1.75rem;font-weight:700;line-height:1.29;letter-spacing:-.28px;color:var(--mf-n20)}
.mf-sec03__head h2 b{font-size:2rem;line-height:1.25;letter-spacing:-.48px}
.mf-sec03__head .s-note{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n30)}
.mf-total-box{display:inline-flex;align-items:center;gap:0.75rem;padding:1rem 2rem;border-radius:3.75rem;background:var(--mf-gold);color:#fff;align-self:flex-start}
.mf-total-box span{font-size:1rem;font-weight:500;line-height:1.5}
.mf-total-box strong{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.24px}

/* ---------- Sec04 : 참여자 변화 사례(갤러리) ---------- */
.mf-sec04{background:var(--mf-n99);padding:var(--mf-sec04-pad) 0 5rem}
.mf-sec04__inner{display:flex;align-items:flex-start;gap:5rem}
.mf-sec04__head{flex:0 0 17.1875rem;display:flex;flex-direction:column;gap:1.75rem;position:sticky;top:calc(var(--mf-header) + var(--mf-sec04-pad) - 1rem)}
.mf-sec04__head .mf-sec-head p{font-size:1.125rem;font-weight:400;color:#878a93;word-break:keep-all}
.mf-more{display:inline-flex;align-items:center;gap:0.25rem;font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-ink)}
.mf-more img{width:1rem;height:1rem}
.mf-gallery{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.25rem}
.mf-gitem{background:#fff;border:1px solid var(--mf-n90);border-radius:1.25rem;padding:2.25rem 2.5rem 2rem;display:flex;flex-direction:column;gap:1.625rem}
.mf-gitem__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}
.mf-gitem__profile{flex:0 0 13.125rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}
.mf-gitem__name{display:flex;align-items:flex-end;gap:0.625rem;white-space:nowrap}
.mf-gitem__name strong{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.24px;color:var(--mf-ink)}
.mf-gitem__name span{font-size:0.875rem;line-height:1.43;color:#878a93;padding-bottom:0.1875rem}
.mf-gitem__area{margin:0.25rem 0 0;font-size:1rem;font-weight:500;line-height:1.5;color:#3a342c}
.mf-badge{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 1rem;border-radius:6.25rem;font-size:0.8125rem;font-weight:700;line-height:1.43}
.mf-badge--brand{background:var(--mf-gold-bg);color:var(--mf-gold)}
.mf-gitem__shots{flex:1 1 auto;min-width:0;display:flex;gap:0.75rem}
.mf-shot{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:0.625rem}
.mf-shot__tag{display:flex;align-items:center;justify-content:center;padding:0.3125rem 0.75rem;border-radius:6.25rem;background:#eaebec;color:var(--mf-n20);font-size:0.8125rem;font-weight:700;line-height:1.43;white-space:nowrap}
.mf-shot__tag.on{background:var(--mf-gold);color:#fff}
.mf-shot__img{position:relative;aspect-ratio:212/170;border-radius:0.75rem;overflow:hidden;background:var(--mf-fill)}   /* 높이 대신 비율 고정 (212×170) */
.mf-shot__img img{width:100%;height:100%;object-fit:cover;display:block}
.mf-shot__img.has-img{cursor:zoom-in}
.mf-shot__img:not(.has-img):before{content:"";position:absolute;left:50%;top:50%;width:7.125rem;height:1.5rem;transform:translate(-50%,-50%);opacity:.1;
  background:url(images/challenge/logo.svg) center/contain no-repeat}
.mf-gitem__foot{border-top:1px solid #efe8dc;padding-top:1.5rem;display:flex;align-items:flex-start;gap:3rem}
.mf-gitem__col{display:flex;flex-direction:column;gap:0.375rem;min-width:0}
.mf-gitem__col--concern{flex:0 0 17.75rem}
.mf-gitem__col--review{flex:1 1 auto}
.mf-gitem__label{display:flex;align-items:center;gap:0.375rem;font-size:0.875rem;font-weight:700;line-height:1.43;color:var(--mf-gold)}
.mf-gitem__label img{width:1.125rem;height:1.125rem}
.mf-gitem__col p{margin:0;font-size:1.125rem;font-weight:500;line-height:1.4;color:var(--mf-ink);word-break:keep-all;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mf-gitem__col--review p{display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible}
.mf-gitem__col p .muted{color:var(--mf-n70)}
.mf-gallery-empty{background:#fff;border:1px solid var(--mf-n90);border-radius:1.25rem;padding:3.75rem 1.25rem;text-align:center;color:var(--mf-n60);font-size:1rem}

/* ---------- 반응형 : 1440 이하 (PC 축소) ---------- */
@media (max-width:1700px){
  .mf-sec02__body{width:100%;max-width:none}
}
@media (max-width:1640px){
  .mf-visual img{object-position: 60% center;}
  /* .mf-sec03{aspect-ratio: initial; min-height:23.75rem;} */
}
/* 1025~1440 : html 85% 스케일 — 모든 단위가 rem 이라 레이아웃 전체가 0.85 배로 축소됨 (개별 축소 규칙 불필요) */
@media (max-width:1440px){
  html{font-size:85%}
}
/* 1025~1240 : 가로 배치는 유지하되 단계 리스트 폭을 유동으로, 혜택 카드는 높이 자동(동일 높이 정렬) */
@media (max-width:1240px){
  .mf-visual{height: 40rem;}
  .mf-visual img{object-position: 65% center;}
  .mf-steps{gap:2rem}
  .mf-steps__list{width:auto;flex:1 1 auto;min-width:0}
  .mf-steps__txt span{white-space:normal}
  .mf-benefit{align-items:stretch}
  .mf-bcard{height:auto;padding-bottom:0}
  .mf-bcard__badge{white-space:normal}
  .mf-bcard:not(:last-child):after{display:none}
}
/* 1025~1100 : 참여 폼 카드 폭 축소 + 이름/휴대폰번호 1열 전환 */
@media (max-width:1100px) and (min-width:1025px){
  .mf-form-card{flex-basis:20rem;padding:1.5rem}
  .mf-form-row{flex-direction:column;gap:1rem}
  .mf-field--name,.mf-field--phone{flex:none;width:100%}
}

/* ---------- 반응형 : 1024 이하 (모바일 시안) ---------- */
@media (max-width:1024px){
  :root{--mf-gutter:1.25rem}
  html{font-size:100%;-webkit-text-size-adjust:100%}

  /* GNB */
  .site-header .gnb{flex-direction:column;align-items:stretch;gap:1rem;padding:1.125rem var(--mf-gutter);min-height:6.625rem}
  .gnb-top{display:flex;align-items:center;justify-content:space-between}
  .gnb-logo{width:7rem;height:1.4375rem}
  .gnb-menu{justify-content:space-between;gap:0.75rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gnb-menu::-webkit-scrollbar{display:none}
  .gnb-menu > a{font-size:0.875rem;line-height:1.43}
  .gnb-btn{padding:0.5rem 1rem;height:2.125rem;font-size:0.875rem}

  /* Visual */
  .mf-visual{height:33.75rem}
  .mf-visual__bg img{left:0;top:0;width:100%;height:100%;min-width:0;object-fit:cover;object-position:80% center;transform:none}
  .mf-visual__bg:after{height:100%}
  .mf-visual .mf-inner{align-items:flex-start;padding-top:3rem}
  .mf-visual__txt{gap:0.875rem;padding-bottom:0}
  .mf-visual__label{font-size:0.875rem;line-height:1.43}
  .mf-visual__title{font-size:1.75rem;line-height:1.29;letter-spacing:-.28px;color:var(--mf-ink)}
  .mf-visual__desc{font-size:1rem;line-height:1.5}
  .mf-visual__cta{display:none}
  .mf-visual__badge{width:7rem;height:7rem;gap:0;box-shadow:none}
  .mf-visual__badge .b-logo,.mf-visual__badge .b-line{display:none}
  .mf-visual__badge .b-txt span{font-size:0.875rem;font-weight:700;line-height:1.43}
  .mf-visual__badge .b-txt strong{font-size:1.25rem;line-height:1.45;letter-spacing:-.1px;margin:0}
  .mf-visual__badge .b-txt em{font-size:0.875rem;font-weight:700;line-height:1.43;margin:0}

  /* Sec01 */
  .mf-sec01{padding:3.75rem 0}
  .mf-sec01__inner{display:block}   /* 핀(ScrollTrigger pin) 대상이 flex 자식이면 스페이서 높이가 잡히지 않아 block 으로 */
  .mf-form-card{margin-bottom:2.5rem}
  .mf-form-card{flex:none;width:100%;padding:1.5rem 1.25rem;gap:1.25rem}
  .mf-form-row{gap:0.75rem}
  .mf-field--name{flex:1 1 0}
  .mf-field--phone{flex:1 1 0}
  .mf-field{gap:0.5rem}
  .mf-field > label{font-size:0.875rem;line-height:1.43;gap:0.25rem}
  .mf-field > label .hint{font-size:0.75rem;line-height:1.33}
  .mf-input{padding:0.75rem;border-radius:0.5rem;font-size:0.875rem;line-height:1.43}
  .mf-form-desc{font-size:0.875rem;line-height:1.43}
  .mf-form-block{gap:0.875rem}
  .mf-btn-dark{font-size:0.875rem;line-height:1.43;padding:1rem 1.25rem}
  .mf-form-note{font-size:0.75rem;line-height:1.33}
  .mf-form-note b{font-weight:400;color:#7c5628}
  .mf-sec01__cont{gap:1.75rem}
  .mf-sec-head{gap:0.75rem}
  .mf-sec-head h2{font-size:1.5rem;line-height:1.33;letter-spacing:-.24px}
  .mf-sec-head p{font-size:1rem;font-weight:400;line-height:1.5}

  /* 참여방법 : 탭 + 가로 패널 */
  .mf-steps{flex-direction:column;gap:1.75rem;align-items:stretch}
  .mf-steps__list{width:auto;flex-direction:row;gap:1.5rem;padding:0;border-bottom:1px solid var(--mf-n95);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .mf-steps__list::-webkit-scrollbar{display:none}
  .mf-steps__list li,.mf-steps__list li + li{flex:0 0 auto;flex-direction:row;align-items:center;gap:0.5rem;padding:0 0 0.75rem;border-top:0;border-bottom:2px solid transparent;margin-bottom:-1px}
  .mf-steps__list li.on{border-bottom-color:var(--mf-gold)}
  .mf-steps__num{width:1.75rem;height:1.75rem;border-radius:0.875rem;font-size:0.75rem;line-height:1.33}
  .mf-steps__txt{gap:0}
  .mf-steps__txt strong{font-size:1rem;line-height:1.5;letter-spacing:0;white-space:nowrap}
  .mf-steps__txt span{display:none}
  .mf-steps__panels{width:auto;height:auto;display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    margin:0 calc(var(--mf-gutter) * -1);padding:0 var(--mf-gutter);align-self:stretch}
  .mf-steps__panels::-webkit-scrollbar{display:none}
  .mf-steps__panel{position:static;opacity:1;pointer-events:auto;flex:0 0 auto;width:14rem;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
  .mf-steps__panel .p-head{display:flex;flex-direction:column;gap:0.25rem;width:100%}
  .mf-steps__panel .p-head strong{font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-ink)}
  .mf-steps__panel .p-head span{font-size:0.875rem;line-height:1.43;color:var(--mf-n23);word-break:keep-all; min-height: 2.5rem;}
  .mf-steps__panel img{width:12.5rem;height:26.0938rem}

  /* Sec02 */
  .mf-sec02{padding:3.75rem 0}
  .mf-sec02__head{gap:0.625rem}
  .mf-sec02__head h2{font-size:1.5rem;line-height:1.33;letter-spacing:-.24px}
  .mf-sec02__head h2 br.m{display:block}
  .mf-sec02__head p{font-size:1rem}
  .mf-sec02__body{margin-top:1.75rem;gap:1.75rem}
  .mf-progress{gap:0.5rem}
  .mf-progress li{flex:1 1 0;min-height:3.3125rem}
  .mf-progress li:before{left:calc(-50% - 0.25rem);right:50%;bottom:0.3438rem}
  .mf-progress .p-label{font-size:1rem}
  .mf-progress li.on .p-label{font-size:1.25rem;line-height:1.45;letter-spacing:-.1px}
  .mf-progress .p-dot{width:0.75rem;height:0.75rem}
  .mf-benefit{flex-wrap:nowrap;gap:0.75rem;margin-top:0;align-items:stretch}
  .mf-bcard{flex:1 1 0;min-width:0;height:auto;padding-top:0.875rem;border-radius:0.5625rem;gap:0.75rem;padding-bottom:0}
  .mf-bcard:not(:last-child):after{display:none}
  .mf-bcard__top{padding:0 0.75rem;gap:0.75rem}
  .mf-bcard__badge{padding:0.375rem 0.625rem;font-size:0.75rem;line-height:1.43;white-space:nowrap;border-radius:3.6875rem}
  .mf-bcard__head{gap:0.3125rem}
  .mf-bcard__head h3{font-size:0.875rem;line-height:1.33;letter-spacing:-.14px}
  .mf-bcard__price{gap:0.1875rem}
  .mf-bcard__price span{font-size:0.75rem}
  .mf-bcard__price strong{font-size:0.875rem;line-height:1.5}
  .mf-bcard__img{width:100%}
  .mf-bcard--gold{padding:1rem 0.6875rem;gap:0.5625rem}
  .mf-bcard--gold .mf-bcard__top{padding:0;gap:0.5625rem}
  .mf-bcard--gold .mf-bcard__badge{width:auto;background:transparent;border:.6px solid #fff;color:#fff;font-size:0.75rem;padding:0.3125rem 0.625rem;box-shadow:none}
  .mf-bcard--gold .mf-bcard__total{font-size:1rem;line-height:1.29;letter-spacing:-.16px}
  .mf-bcard--gold .mf-bcard__total b{display:inline;font-size:1.1438rem;line-height:1.25;letter-spacing:-.27px}
  .mf-bcard--gold .mf-bcard__total b small{font-size:1rem}
  .mf-bcard__set{width:100%;aspect-ratio:160/150}
  .mf-bcard__circle{left:0.5rem;top:6.0625rem;width:4.7875rem;height:4.7875rem;border-width:1.5px;gap:0.2437rem;box-shadow:1.3px 0.2062rem 0.2062rem rgba(0,0,0,.1)}
  .mf-bcard__circle .c-logo{width:1.8125rem;height:0.375rem}
  .mf-bcard__circle .c-line{width:2.75rem}
  .mf-bcard__circle p{font-size:0.4625rem;line-height:1.43}
  .mf-sec02__box2{gap:1rem}
  .mf-info-bar{gap:1.25rem;padding:1.25rem 1.25rem}
  .mf-info-item{gap:0.875rem}
  .mf-info-item img{width:2.75rem;height:2.75rem}
  .mf-info-item .t{gap:2px}
  .mf-info-item .t strong{font-size:1.125rem;line-height:1.5;letter-spacing:0}
  .mf-info-item .t span{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}
  .mf-note{font-size:0.8125rem;line-height:1.43}

  /* Sec03 */
  .mf-sec03{padding:2.5rem 0;min-height:23.125rem}
  /* .mf-sec03__bg img{left:auto;right:-15.125rem;} */
  .mf-sec03 .mf-inner{gap:1.25rem}
  .mf-sec03__head{gap:0.25rem}
  .mf-sec03__head .s-sub{font-size:1rem}
  .mf-sec03__head h2{font-size:1.375rem;line-height:1.45;letter-spacing:-.11px}
  .mf-sec03__head h2 b{font-size:1.375rem;line-height:1.45;letter-spacing:-.11px}
  .mf-sec03__head .s-note{font-size:0.875rem;font-weight:500;line-height:1.43}
  .mf-total-box{padding:0.75rem 1.5rem;gap:0.625rem}
  .mf-total-box span{font-size:0.75rem;line-height:1.33}
  .mf-total-box strong{font-size:1rem;line-height:1.5;letter-spacing:0}

  /* Sec04 */
  .mf-sec04{padding:3.75rem 0}
  .mf-sec04__inner{flex-direction:column;gap:1.5rem}
  .mf-sec04__head{flex:none;position:static;width:100%;gap:0}
  .mf-sec04__head .mf-sec-head{gap:0.75rem}
  .mf-sec04__head .mf-sec-head p{font-size:1rem}
  .mf-sec04__title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:0.75rem}
  .mf-more{font-size:0.875rem;line-height:1.43}
  .mf-gallery{gap:1rem}
  .mf-gitem{padding:1.5rem 1.25rem;gap:1.25rem}
  .mf-gitem__top{flex-direction:column;gap:1.25rem}
  .mf-gitem__profile{flex:none;width:100%;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:0.5rem}
  .mf-gitem__name{align-items:baseline;gap:0.5rem}
  .mf-gitem__name strong{font-size:1.375rem;line-height:1.45;letter-spacing:-.11px}
  .mf-gitem__name span{padding-bottom:0}
  .mf-gitem__area{font-weight:400}
  .mf-badge{padding:0.375rem 0.75rem}
  .mf-gitem__shots{gap:0.625rem; width: 100%;}
  .mf-shot{gap:0.5rem}
  .mf-shot__tag{font-size:0.875rem}
  .mf-gitem__foot{flex-direction:column;gap:0.875rem;padding-top:1.25rem}
  .mf-gitem__col--concern,.mf-gitem__col--review{flex:none;width:100%}
  .mf-gitem__label img{width:1.25rem;height:1.25rem}
  .mf-gitem__col p{font-size:0.875rem;line-height:1.43}
  .lb{padding:1.25rem 3.25rem}
  .lb .lb-close{top:1rem;right:1rem;width:1.25rem;height:1.25rem;}
  .lb .lb-close:before,.lb .lb-close:after{width:1.25rem;}
  .lb-nav{width:2.5rem;height:2.5rem;margin-top:-1.25rem;font-size:1.625rem}
  .lb-nav--prev{left:.5rem}
  .lb-nav--next{right:.5rem}

  /* Footer */
  .site-footer{padding:2.5rem 0 2rem}
  .site-footer .mf-inner{gap:1.125rem}
  .foot-top{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .foot-logo{width:6.5rem;height:1.3438rem}
  .foot-cs{flex-direction:column;align-items:flex-start;gap:0.25rem}
  .foot-cs .cs-left small{font-size:0.75rem;font-weight:400}
  .foot-cs .cs-left strong{font-size:1.25rem;line-height:1.45;letter-spacing:-.1px}
  .foot-line{background:rgba(255,255,255,.2)}
  .foot-bottom-area{gap:0.625rem}
  .foot-row{flex-direction:column;gap:0.625rem}
  .foot-info{font-size:0.75rem;line-height:1.33;gap:2px}
  .foot-info .sep{margin:0 0.375rem}
  .foot-info br.m{display:block}
  .foot-sns{display:none}
  .foot-bottom{flex-direction:column-reverse;align-items:flex-start;gap:0.625rem}
  .foot-links{font-size:0.75rem;gap:1rem}
  .foot-links a:first-child{font-weight:700}

  /* Quick */
  .mf-quick{right:1rem;bottom:1rem;width:3.5rem;gap:0.5rem}
  .mf-quick a,.mf-quick button{width:3.5rem;height:3.5rem;border-radius:1rem;font-size:0.6875rem}
  .mf-quick .q-mall img{width:1.25rem;height:1.25rem}
  .mf-quick .q-top img{width:1rem;height:1rem}
}

@media (max-width:768px){
  .mf-visual__badge{left: auto; right: 2.5rem; top: auto; bottom: 40%;}
}
@media (max-width:400px){
  .mf-visual__badge{left:auto;right:1rem}
}
@media (max-width:360px){
  .mf-bcard{flex-basis:100%}
}

/* 공통 보조 */
br.m{display:none}
br.pc{display:block}
main:not(.page-full){padding-bottom:3.75rem}
.mf-visual,.mf-sec01,.mf-sec02,.mf-sec04{scroll-margin-top:5rem}
@media (max-width:1024px){ br.m{display:block} br.pc{display:none} .mf-visual,.mf-sec01,.mf-sec02,.mf-sec04{scroll-margin-top:6.625rem} }
.gnb-btns--m{display:none}
.foot-info .pc-only{display:inline}
@media (max-width:1024px){ .gnb-btns--pc{display:none} .gnb-btns--m{display:flex} .foot-info .pc-only{display:none} }
.mf-more--m{display:none}
@media (max-width:1024px){ .mf-more--pc{display:none} .mf-more--m{display:inline-flex} }

/* fix: 배경 이미지가 전역 img{max-width:100%}에 잘리지 않도록 */
.mf-visual__bg img,.mf-sec03__bg img{max-width:none}
@media (max-width:1024px){
  .mf-sec03__bg img{object-position:60% center;}
  .mf-bcard--gold .mf-bcard__total b:after{content:"\A";white-space:pre}
  .gnb-menu{gap:0.5rem;letter-spacing:-.2px}
  .gnb-menu .pc-only{display:none}
  .foot-info .nb{white-space:nowrap}
}
@media (max-width:1640px){
  /* .mf-sec03__bg img{min-width: 120%;} */
}
@media (max-width:1024px) and (min-width:600px){
  .mf-visual__badge{width:8.75rem;height:8.75rem}
  .mf-visual__badge .b-txt strong{font-size:1.5rem}
}

/* ---------- 스크롤 모션 (Lenis + GSAP ScrollTrigger) ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
/* sec02: 혜택 섹션만 inner 1600 */
.mf-sec02 .mf-inner{max-width:calc(100rem + var(--mf-gutter)*2)}
.mf-sec02__body{width:100%;max-width:none}
/* 핀 구간에서 섹션 배경이 뷰포트를 꽉 채우도록 */
.pin-spacer{background:inherit}
.mf-sec01,.mf-sec02{will-change:auto}
@media (min-width:1025px){
  .mf-steps__list li{cursor:pointer}
  .mf-steps__list li:not(.on):hover .mf-steps__txt{color:var(--mf-n90)}
  .mf-steps__list li:not(.on):hover .mf-steps__num{background:var(--mf-n80)}
}

/* 혜택 카드 이미지 : 피그마 sec02_box02 프레임을 통째로 사용 */
.mf-bcard__img{width:100%;max-width:23.5625rem;aspect-ratio:377/412;overflow:visible}
.mf-bcard__img img{position:static;width:100%;height:100%;object-fit:contain;display:block}
.mf-bcard__set{aspect-ratio:379/355}
.mf-bcard__set img{position:static;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1024px){ .mf-bcard__img{max-width:100%} .mf-bcard__set{aspect-ratio:379/355} }

/* 참여 방법 타이틀-설명 간격 (시안 12px) */
.mf-sec01__cont .mf-sec-head{gap:.75rem}

/* ============================================================
   외부몰 구매 인증 (external.php) — Figma sub_external / sub_external_pending
   ============================================================ */
body.page-external{background:#fff}
.mf-ext__inner{max-width:calc(75rem + var(--mf-gutter)*2)}   /* inner 1200 */
.mf-ext__sec01{background:var(--mf-n99);padding:5rem 0}
.mf-ext__sec01 .mf-ext__inner{display:flex;flex-direction:column;gap:2.5rem}
.mf-ext__sec02{background:#fff;padding:5rem 0}
.mf-ext__sec02 .mf-ext__inner{display:flex;flex-direction:column;gap:2.5rem}
.mf-ext__head{display:flex;flex-direction:column;gap:.75rem}
.mf-ext__head h2{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink)}
.mf-ext__head p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n40);word-break:keep-all}

/* 안내 박스 */
.mf-ext__alert,.mf-notice{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;border:1px solid #e3d9c8;border-radius:1rem;background:#f2ebe0}
.mf-ext__alert-ic,.mf-notice__ic{flex:0 0 auto;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--mf-gold);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.375rem;font-weight:700;line-height:1}
.mf-ext__alert-txt,.mf-notice__txt{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.mf-ext__alert-txt strong,.mf-notice__txt strong{font-size:1.375rem;font-weight:700;line-height:1.45;letter-spacing:-.007rem;color:var(--mf-ink);word-break:keep-all}
.mf-ext__alert-txt p,.mf-notice__txt p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n40);word-break:keep-all}
.mf-notice__txt p b{font-weight:700;color:var(--mf-n40)}
.mf-notice__img{flex:0 0 auto;width:5rem;height:auto;border-radius:.6rem;display:block}   /* 80px 프레임 이미지, 너비만 지정 */

/* STEP 행 */
.mf-step{display:flex;align-items:flex-start;gap:7.5rem}
.mf-step__head{flex:0 0 11.4375rem;display:flex;flex-direction:column;gap:.5rem}
.mf-step__head span{font-size:.8125rem;font-weight:700;line-height:1.43;color:var(--mf-n60)}
.mf-step__head strong{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.015rem;color:var(--mf-ink)}
.mf-step__head em{font-style:normal;color:#b03a2e}
.mf-step__body{flex:1 1 auto;min-width:0}
.mf-ext__row{display:flex;gap:1.25rem}
.mf-ext__row .mf-field{flex:1 1 0}
.mf-ext .mf-input:disabled{color:#171719;background:#fff;-webkit-text-fill-color:#171719;opacity:1}

/* 업로드 존 */
.mf-upload{position:relative;min-height:14.3125rem;border:2px dashed var(--mf-gold-light);border-radius:.875rem;background:#f2ebe0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.mf-upload.is-over{background:#ece2d1;border-color:var(--mf-gold)}
.mf-upload__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.mf-upload.is-attached .mf-upload__input{pointer-events:none}
.mf-upload__empty{display:flex;flex-direction:column;align-items:center;gap:.625rem;pointer-events:none}
.mf-upload__empty[hidden],.mf-upload__attached[hidden]{display:none}
.mf-upload__empty img{width:2rem;height:2rem}
.mf-upload__empty strong{font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-ink)}
.mf-upload__empty span{font-size:.875rem;line-height:1.43;color:var(--mf-n60)}
.mf-upload.is-attached{background:var(--mf-fill);border-color:var(--mf-line);padding:1.25rem;justify-content:center}
.mf-upload__attached{width:100%;display:flex;flex-direction:column;gap:.625rem;position:relative;z-index:3}
.mf-upload__label{font-size:.8125rem;font-weight:700;line-height:1.43;color:var(--mf-n20)}
.mf-upload__file{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem .625rem .625rem;background:#fff;border:1px solid var(--mf-line);border-radius:.625rem}
.mf-upload__thumb{flex:0 0 auto;width:6.25rem;aspect-ratio:25/17;border-radius:.3rem;overflow:hidden;background:var(--mf-fill)}   /* 높이 대신 비율 고정 (100×68) */
.mf-upload__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mf-upload__name{flex:1 1 auto;min-width:0;font-size:.875rem;font-weight:700;line-height:1.43;color:var(--mf-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-upload__badge{flex:0 0 auto;padding:.25rem .625rem;border-radius:999px;background:var(--mf-gold-bg);color:#7c5628;font-size:.75rem;font-weight:700;line-height:1.33}
.mf-upload__del{flex:0 0 auto;width:1.75rem;height:1.75rem;border:0;border-radius:.5rem;background:var(--mf-fill);color:#6e6455;font-size:1rem;line-height:1;cursor:pointer;font-family:inherit}
.mf-upload__del:hover{background:var(--mf-n95)}
.mf-upload__replace{width:100%;padding:.9375rem;border:0;border-radius:.625rem;background:var(--mf-n20);color:#fff;font-size:.875rem;font-weight:700;line-height:1.43;cursor:pointer;font-family:inherit}
.mf-upload__replace:hover{background:#000}

/* 약관 체크 */
.mf-agree{display:flex;flex-direction:column;gap:.5rem}
.mf-check{display:flex;align-items:flex-start;gap:.875rem;cursor:pointer;position:relative}
.mf-check input{position:absolute;opacity:0;width:0;height:0}
.mf-check__box{flex:0 0 auto;width:1.5rem;height:1.5rem;border:1px solid var(--mf-n80);border-radius:.375rem;background:#fff;margin-top:.0625rem;
  background-image:url(images/challenge/ic_check.svg);background-repeat:no-repeat;background-position:center;background-size:1rem 1rem;transition:.15s}
.mf-check input:checked + .mf-check__box{background-color:var(--mf-n20);border-color:var(--mf-n20)}
.mf-check input:focus-visible + .mf-check__box{box-shadow:0 0 0 3px rgba(169,138,100,.3)}
.mf-check__txt{font-size:1.125rem;font-weight:500;line-height:1.4;color:var(--mf-ink);word-break:keep-all}
.mf-check__txt small{font-size:.875rem;font-weight:400;line-height:1.43;color:var(--mf-n60);margin-left:.25rem}
.mf-ext__submit{display:flex;justify-content:center}
.mf-btn-dark--auto{width:auto;padding:1rem 3rem}

/* 검토 중 */
.mf-ext--wait{padding:5rem 0; background: var(--mf-n99);}
.mf-wait{background:#fff;border:1px solid var(--mf-n90);border-radius:1.5rem;padding:5.625rem 5rem;display:flex;flex-direction:column;align-items:center;text-align:center}
.mf-wait__ic{width:3.75rem;height:3.75rem;border-radius:50%;background:#f2ebe0;border:1.36px solid var(--mf-gold);color:var(--mf-gold);
  display:flex;align-items:center;justify-content:center;font-size:2.25rem;font-weight:500;line-height:1;letter-spacing:-.03rem;margin-bottom:1.75rem}
.mf-wait h2{margin:0 0 1.125rem;font-size:2.25rem;font-weight:700;line-height:1.22;letter-spacing:-.034rem;color:var(--mf-ink)}
.mf-wait p{margin:0 0 2rem;font-size:1.125rem;line-height:1.5;color:#3a342c;word-break:keep-all}
.mf-wait p b{color:var(--mf-n20)}
.mf-wait__user{display:inline-flex;padding:.625rem 1.375rem;border-radius:100px;background:var(--mf-fill);font-size:1rem;font-weight:500;line-height:1.5;color:var(--mf-n20)}

@media (max-width:1240px){
  .mf-step{gap:3rem}
  .mf-step__head{flex-basis:11rem}
}
@media (max-width:1024px){
  .mf-ext__sec01{padding:3.75rem 0 2.5rem}
  .mf-ext__sec02{padding:3.75rem 0}
  .mf-ext__head{gap:.5rem}
  .mf-ext__head h2{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-ext__head p{font-size:.875rem;line-height:1.43}
  .mf-ext__alert,.mf-notice{align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:.75rem}
  .mf-ext__alert-ic,.mf-notice__ic{width:2rem;height:2rem;font-size:.9rem}
  .mf-ext__alert-txt strong,.mf-notice__txt strong{font-size:1rem;line-height:1.5;letter-spacing:0}
  .mf-ext__alert-txt p,.mf-notice__txt p{font-size:.875rem;line-height:1.43}
  .mf-step{flex-direction:column;gap:1.25rem}
  .mf-ext__sec02 .mf-step{gap:1.5rem}
  .mf-step__head{flex:none;width:100%}
  .mf-step__head span{font-size:.75rem;line-height:1.33}
  .mf-step__head strong{font-size:1.125rem;line-height:1.5;letter-spacing:0}
  .mf-step__body{width:100%}
  .mf-ext__row{gap:1.5rem;flex:none}
  .mf-upload{min-height:10rem;border-radius:.625rem}
  .mf-upload__empty{gap:.5rem;padding:0 1rem;text-align:center}
  .mf-upload__empty strong{font-size:.875rem;line-height:1.43}
  .mf-upload__empty span{font-size:.75rem;line-height:1.33}
  .mf-upload.is-attached{padding:1rem}
  .mf-upload__thumb{width:4.5rem}
  .mf-agree{gap:.75rem}
  .mf-check{gap:.5rem}
  .mf-check__txt{font-size:.875rem;line-height:1.43}
  .mf-check__txt small{display:block;margin:.25rem 0 0;font-size:.75rem;line-height:1.33}
  .mf-btn-dark--auto{padding:1rem 1.25rem;font-size:.875rem}
  .mf-ext--wait{padding:3.75rem 0}
  .mf-wait{padding:1.5rem;border-radius:.75rem}
  .mf-wait__ic{margin-bottom:1rem;font-size:2rem;font-weight:700}
  .mf-wait h2{margin-bottom:.75rem;font-size:1.5rem;line-height:1.33;letter-spacing:-.015rem}
  .mf-wait p{margin-bottom:1rem;font-size:.875rem;line-height:1.43}
  .mf-wait__user{padding:.75rem 1rem;font-size:.875rem;line-height:1.43}
}

/* ---------- 참여 방법 : Swiper 래퍼 (PC/태블릿은 레이아웃에 영향 없도록 contents, 960 이하만 슬라이드) ---------- */
.mf-steps__tabs,.mf-steps__panels-wrap{display:contents}
@media (max-width:980px){
  .mf-steps__tabs{display:block;overflow:hidden;border-bottom:1px solid var(--mf-n95)}
  .mf-steps__list{display:flex;gap:0;border-bottom:0;overflow:visible;box-sizing:content-box;transition-property:transform;width:100%}
  .mf-steps__list li,.mf-steps__list li + li{flex:0 0 auto;margin-bottom:-1px;cursor:pointer}
  .mf-steps__panels{display:block;overflow:hidden;scroll-snap-type:none;gap:0;margin:0 calc(var(--mf-gutter) * -1);padding:0 var(--mf-gutter)}
  .mf-steps__panels-wrap{display:flex;box-sizing:content-box;transition-property:transform;width:100%}
  .mf-steps__panel{flex:0 0 auto;scroll-snap-align:none}
}

/* ---------- 768 이하 : 모바일 시안 레이아웃(2열/세로 전환) ---------- */
@media (max-width:768px){
  .mf-benefit{flex-wrap:wrap}
  .mf-bcard{flex:0 0 calc(50% - 0.375rem)}
  .mf-info-bar{flex-direction:column;align-items:stretch;gap:0;padding:0.5rem 1.25rem}
  .mf-info-item{padding:1rem 0}
  .mf-info-item + .mf-info-item{border-top:1px solid var(--mf-n95)}
  .mf-info-div{width: 100%; height: 1px;}
  .mf-gitem__shots{flex-wrap:wrap}
  .mf-shot{flex:0 0 calc(50% - 0.3125rem)}
  .mf-sec03{align-items: flex-start;}
  .mf-ext__row{flex-direction:column;}
  .mf-ext__row .mf-field{flex:none}
}
/* 961~1024 : 참여 방법 패널이 모두 보이는 폭이므로 활성 패널만 강조 */
@media (min-width:981px) and (max-width:1024px){
  .mf-steps__panel{opacity:.35;transition:opacity .3s}
  .mf-steps__panel.on{opacity:1}
}
/* 768 이하 : sec03 모바일 배경(프레임 크롭 2x) 꽉 채움 */
@media (max-width:768px){
  .mf-sec03{aspect-ratio: 768 / 680; min-height: initial;}
  .mf-sec03__bg img{content:url(images/challenge/sec03_bg_m.jpg);left:0;top:0;width:100%;height:100%;min-width:0;object-fit:cover;object-position:right bottom;transform:none}
}
/* 768 이하 : 비주얼 모바일 배경(프레임 크롭 2x) 꽉 채움 */
@media (max-width:768px){
  .mf-visual{height: auto; aspect-ratio: 768 / 874;}
  .mf-visual__bg img{content:url(images/challenge/visual_bg_m.jpg);left:0;top:0;width:100%;height:100%;min-width:0;object-fit:cover;object-position:right bottom;transform:none}
}
@media (max-width:640px){
  .mf-visual{height: auto; aspect-ratio: 768 / 1080;}
  .mf-sec03{aspect-ratio: 768 / 740;}
}
@media (max-width:450px){
  .mf-sec03{height: 34.25rem; aspect-ratio: inherit;}
}
@media (max-width:400px){
  .mf-visual{height: 38.25rem; aspect-ratio: inherit;}
}


/* ============================================================
   서브 페이지 공통 (챌린지 리뷰 / 내 기록 / 기록 등록) — Figma sub_gallery, sub_challenge_record, sub_stage_form
   ============================================================ */
body.page-gallery,body.page-record,body.page-stage{background:#fff}
.mf-page-head{display:flex;flex-direction:column;gap:.75rem}
.mf-page-head h2{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink)}
.mf-page-head p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n40);word-break:keep-all}
.mf-badge--neutral{background:#eaebec;color:var(--mf-n20)}
.mf-badge--gold{background:var(--mf-gold);color:#fff}
.mf-btn-line{display:flex;align-items:center;justify-content:center;width:100%;padding:1rem 1.25rem;border:1px solid var(--mf-n80);border-radius:.5rem;
  background:#fff;color:#171719;font-size:1.125rem;font-weight:700;line-height:1.5;font-family:inherit;cursor:pointer;transition:.15s}
.mf-btn-line:hover{border-color:var(--mf-n40)}
.mf-btn-line:disabled{cursor:default;color:var(--mf-n70);border-color:var(--mf-n95)}
.mf-btn-line--auto{width:auto;padding:1rem 3rem}
.mf-btn-danger{display:flex;align-items:center;justify-content:center;padding:1rem 2rem;border:1px solid #f0c9c6;border-radius:.5rem;background:#fff;color:#b03a2e;font-size:1.125rem;font-weight:700;line-height:1.5}
.mf-btn-danger:hover{background:#fdecea}

/* ---------- 챌린지 리뷰 (gallery.php) ---------- */
.mf-gal{background:var(--mf-n99);padding:5rem 0}
.mf-gal__inner{max-width:calc(75rem + var(--mf-gutter)*2);display:flex;flex-direction:column;gap:3.75rem}
.mf-gal__body{display:flex;flex-direction:column;gap:1.25rem}
.mf-gal__count{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n60)}
.mf-gal .mf-gallery{gap:1.5rem}
.mf-gal .mf-gallery-empty{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:5rem 1.25rem}
.mf-gal .mf-gallery-empty p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n60)}
.mf-pager{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem}
.mf-pager__ic{width:1.25rem;height:1.25rem;display:block}
.mf-pager__ic img{width:100%;height:100%;display:block}
.mf-pager__ic.disabled{opacity:.7;pointer-events:none}
.mf-pager__num{display:flex;align-items:center;justify-content:center;
  font-size:1.125rem;line-height:1.5;color:#a99e8c;transition:.15s}
.mf-pager__num:hover{color:var(--mf-ink)}
.mf-pager__num.on{background:#000;color:#fff;font-weight:700;min-width:2.6875rem;height:2.6875rem;padding:.5rem;border-radius:100px;}
.mf-pager__dots{color:#a99e8c;font-size:1.125rem}

/* ---------- 내 챌린지 기록 (challenge.php) ---------- */
.mf-rec{background:var(--mf-n99);padding:5rem 0}
.mf-rec__inner{display:flex;flex-direction:column;gap:1.75rem}
.mf-rec__head{display:flex;flex-direction:column;gap:.75rem}
.mf-rec__head h2{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink)}
.mf-rec__meta{display:flex;align-items:center;gap:1.75rem;padding:1rem 1.25rem;background:#fff;border:1px solid var(--mf-n90);border-radius:.75rem}
.mf-rec__who{display:flex;align-items:flex-end;gap:.75rem;white-space:nowrap}
.mf-rec__who strong{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.015rem;color:var(--mf-ink)}
.mf-rec__who span{font-size:1.125rem;line-height:1.5;color:var(--mf-n60);padding-bottom:.0625rem}
.mf-rec__badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.mf-rec__badges .mf-badge--brand{color:#2e2f33}
.mf-stages{display:flex;align-items:stretch;gap:1.25rem;margin-top:.75rem}
.mf-stage{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem 1.25rem 1.5rem;background:#fff;border:1px solid var(--mf-n90);border-radius:1rem}
.mf-stage__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.mf-stage__head strong{font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.006rem;color:var(--mf-ink)}
.mf-stage__head .mf-badge{font-size:.875rem}
.mf-stage__thumb{position:relative;width:100%;aspect-ratio:293/200;border-radius:.75rem;overflow:hidden;background:var(--mf-fill)}   /* 높이 대신 비율 고정 (293×200) */
.mf-stage__thumb:not(.has-img):before{content:"";position:absolute;left:50%;top:50%;width:7.125rem;height:1.5rem;transform:translate(-50%,-50%);opacity:.1;background:url(images/challenge/logo.svg) center/contain no-repeat}
.mf-stage__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mf-stage__thumb.has-img{cursor:zoom-in}
/* .mf-stage.is-locked .mf-stage__thumb{opacity:.6} */
.mf-stage__logo{width:10rem;height:auto;opacity:.1;margin:auto 0}
.mf-reward{width:100%;max-width:18.4375rem;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;border-radius:.5rem;   /* 간격·여백 축소: 세트 상품명 한 줄 확보 */
  background:linear-gradient(169deg,#c49d6c 12%,#a98a64 91%);color:#fff;transition:filter .15s}
.mf-reward:hover{filter:brightness(1.05)}
.mf-reward__gift{width:2rem;height:2rem;flex:0 0 auto}
.mf-reward__txt{display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;min-width:0;line-height:1.43;font-size:.875rem}
.mf-reward__txt strong{white-space:normal;word-break:keep-all}   /* 폭이 부족하면 줄바꿈 (말줄임·겹침 없음) */
.mf-reward__txt span{white-space:normal;word-break:keep-all}   /* 상품명도 말줄임 없이 줄바꿈 */
.mf-reward__txt strong{font-weight:700}
.mf-reward__txt span{font-weight:400}
.mf-reward__thumb{flex:0 0 auto;width:2.875rem;height:auto;display:block}   /* 46px 프레임 이미지, 너비만 지정 */
.mf-reward__caret{width:1.25rem;height:1.25rem;flex:0 0 auto}

/* 촬영 가이드 */
.mf-guide{background:#fff;padding:5rem 0}
.mf-guide__inner{display:flex;align-items:flex-start;gap:10.4375rem}
.mf-guide__head{flex:0 0 11.125rem;display:flex;flex-direction:column;gap:.5rem}
.mf-guide__head span{font-size:.8125rem;font-weight:700;line-height:1.43;color:var(--mf-n60)}
.mf-guide__head h2{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink)}
.mf-guide__list{list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0}
.mf-guide__list li{display:flex;align-items:center;gap:1.75rem;padding:1.375rem 0;border-bottom:1px solid #efe8dc}
.mf-guide__list li:first-child{padding-top:0}
.mf-guide__list li span{flex:0 0 auto;font-size:.8125rem;font-weight:700;line-height:1.43;color:var(--mf-gold)}
.mf-guide__list li p{margin:0;font-size:1.25rem;font-weight:500;line-height:1.45;color:var(--mf-ink);word-break:keep-all}

/* ---------- 기록 등록/수정 (stage_form.php) ---------- */
.mf-sf__sec01{background:var(--mf-n99);padding:5rem 0}
.mf-sf__sec01 .mf-sf__inner{display:flex;flex-direction:column;gap:2.5rem}
.mf-sf__sec02{background:#fff;padding:5rem 0}
.mf-sf__sec02 .mf-sf__inner{display:flex;flex-direction:column;gap:2.5rem}
.mf-sf__inner{max-width:calc(75rem + var(--mf-gutter)*2)}
.mf-sf__col{display:flex;flex-direction:column;gap:1.75rem}
.mf-sf__field{display:flex;flex-direction:column;gap:.625rem}
.mf-sf__field > label{font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-ink)}
.mf-sf__hint{margin:0;font-size:.875rem;line-height:1.43;color:var(--mf-n60);word-break:keep-all}
.mf-sf__req{margin:0;font-size:.875rem;line-height:1.43;color:#b03a2e}
.mf-sf .mf-input{padding:1rem 1.25rem;line-height:1.5}
.mf-sf .mf-input:not(textarea){height:3.5rem}
.mf-textarea{min-height:6.875rem;resize:vertical;line-height:1.5}
.mf-select{position:relative}
.mf-select select{appearance:none;-webkit-appearance:none;padding-right:3.25rem;cursor:pointer}
.mf-select select:invalid,.mf-select select option[value=""]{color:#878a93}
.mf-select img,.mf-date img{position:absolute;right:1.25rem;top:50%;width:1.5rem;height:1.5rem;transform:translateY(-50%);pointer-events:none}
.mf-date{position:relative}
.mf-date input{padding-right:3.25rem;cursor:pointer}
.mf-date input[readonly]{background:#fff;color:var(--mf-ink)}
.mf-date .flatpickr-wrapper{display:block;width:100%}
/* flatpickr 테마 (사용 시작일) */
.flatpickr-calendar{width:20.5rem;padding:1rem;border:1px solid var(--mf-n95);border-radius:1rem;box-shadow:0 .75rem 2rem rgba(26,22,19,.12);font-family:inherit}
.flatpickr-calendar:before,.flatpickr-calendar:after{display:none}
.flatpickr-calendar.arrowTop{margin-top:.5rem}
.flatpickr-calendar.arrowBottom{margin-bottom:.5rem}
.flatpickr-calendar.static{top:calc(100% + .5rem);left:0}
.flatpickr-calendar.static.open{z-index:50}
.flatpickr-months{align-items:center;margin-bottom:.75rem}
.flatpickr-months .flatpickr-month{height:2.25rem;color:var(--mf-ink)}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{position:static;width:2.25rem;height:2.25rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--mf-ink)}
.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{background:var(--mf-fill);color:var(--mf-gold)}
.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:.75rem;height:.75rem;fill:currentColor}
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--mf-gold)}   /* 기본 빨간색 → 메인 골드 */
.flatpickr-current-month{position:static;width:auto;height:auto;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.25rem;font-size:1.0625rem;font-weight:700;line-height:2.25rem;letter-spacing:-.01rem}
.flatpickr-current-month .cur-month,.flatpickr-current-month .cur-month:hover{background:none;font-weight:700;margin:0}
.flatpickr-current-month .numInputWrapper{width:auto;font-weight:700;display:inline-flex;align-items:center;overflow:visible}
.flatpickr-current-month .numInputWrapper:after{content:none}
.flatpickr-current-month .numInputWrapper:hover{background:none}
.flatpickr-current-month input.cur-year{width:3.25rem;flex:0 0 auto;font-weight:700;padding:0;margin:0;color:var(--mf-ink);font-family:inherit;text-align:right;display:inline-block;height:auto;line-height:inherit}
.flatpickr-current-month .numInputWrapper span{border:0;opacity:0}
.flatpickr-current-month .numInputWrapper span:hover{background:none}
.flatpickr-innerContainer,.flatpickr-rContainer{width:100%}
.flatpickr-rContainer,.flatpickr-days,.dayContainer{width:100%;min-width:0;max-width:none}
.flatpickr-weekdays{height:2rem}
span.flatpickr-weekday{font-size:.8125rem;font-weight:500;color:var(--mf-n60)}
span.flatpickr-weekday:first-child{color:#d9534f}
.dayContainer{gap:.125rem 0}
.flatpickr-day{max-width:none;width:calc(100% / 7);height:2.375rem;line-height:2.375rem;border-radius:.625rem;border:0;font-size:.9375rem;font-weight:500;color:var(--mf-ink)}
.flatpickr-day:hover,.flatpickr-day:focus{background:var(--mf-fill);border-color:transparent}
.flatpickr-day.today{border:1px solid var(--mf-gold);color:var(--mf-gold);font-weight:700}
.flatpickr-day.today:hover{background:var(--mf-fill);color:var(--mf-gold)}
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus{background:var(--mf-gold);border-color:var(--mf-gold);color:#fff;font-weight:700}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:var(--mf-n80);background:none}
.flatpickr-day.flatpickr-disabled{color:var(--mf-n95)}
.mf-radio-row{display:flex;align-items:center;gap:2.5rem}
.mf-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;font-weight:500;line-height:1.5;color:var(--mf-ink);position:relative}
.mf-radio input{position:absolute;opacity:0;width:0;height:0}
.mf-radio__dot{flex:0 0 auto;width:1.375rem;height:1.375rem;border-radius:50%;border:1px solid var(--mf-n80);background:#fff;position:relative;}
.mf-radio input:checked + .mf-radio__dot,.mf-option input:checked + .mf-option__box .mf-radio__dot{border:2px solid #292A2D}
.mf-radio input:checked + .mf-radio__dot:after,.mf-option input:checked + .mf-option__box .mf-radio__dot:after{content:"";position:absolute;left:50%;top:50%;width:.625rem;height:.625rem;border-radius:50%;background:#292A2D;transform:translate(-50%,-50%)}
.mf-option input:checked + .mf-option__box .mf-radio__dot{border-color:var(--mf-gold)}            /* 부위 카드 선택 시 라디오 골드 */
.mf-option input:checked + .mf-option__box .mf-radio__dot:after{background:var(--mf-gold)}
.mf-radio input:focus-visible + .mf-radio__dot,.mf-option input:focus-visible + .mf-option__box{box-shadow:0 0 0 3px rgba(169,138,100,.3)}
.mf-options{display:flex;align-items:stretch;gap:1.25rem}
.mf-option{flex:1 1 0;min-width:0;position:relative;cursor:pointer}
.mf-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.mf-option__box{display:flex;flex-direction:column;gap:.75rem;height:100%;padding:1.75rem;border:1px solid var(--mf-n95);border-radius:1rem;background:var(--mf-fill);transition:.15s}
.mf-option input:checked + .mf-option__box{background:#f2ebe0;border:2px solid var(--mf-gold);padding:calc(1.75rem - 1px)}
.mf-option__title{display:flex;align-items:center;gap:.625rem;font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.015rem;color:var(--mf-ink);white-space:nowrap}
.mf-option input:checked + .mf-option__box .mf-option__title{color:var(--mf-gold)}
.mf-option__desc{font-size:1rem;line-height:1.5;color:#6e6455;word-break:keep-all}
.mf-sf .mf-option__input{height:auto !important;padding:.75rem 1.25rem;font-size:1rem}
.mf-option__input:disabled{background:#fff;opacity:.6}
.mf-sf__submit{display:flex;justify-content:center;gap:.75rem;margin-top:1.25rem}

/* ---------- 반응형 ---------- */
@media (max-width:1240px){
  .mf-guide__inner{gap:4rem}
  .mf-guide__head{flex-basis:9rem}
  .mf-options{flex-wrap:wrap}
  .mf-option{flex:1 1 calc(50% - .625rem)}
}
@media (max-width:1024px){
  .mf-page-head{gap:.5rem}
  .mf-page-head h2{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-page-head p{font-size:.875rem;line-height:1.43}
  .mf-notice__img{width:3.5rem}
  .mf-btn-line,.mf-btn-dark--auto,.mf-btn-line--auto,.mf-btn-danger{font-size:.875rem;line-height:1.43;padding:1rem 1.25rem}
  /* 갤러리 */
  .mf-gal{padding:3.75rem 0}
  .mf-gal__inner{gap:1.75rem}
  .mf-gal__count{font-size:.875rem}
  .mf-gal .mf-gallery{gap:1rem}
  .mf-pager{gap:1rem;margin-top:1.75rem}
  .mf-pager__num{min-width:2.25rem;height:2.25rem;font-size:.875rem}
  /* 내 기록 */
  .mf-rec{padding:3.75rem 0}
  .mf-rec__inner{gap:1.25rem}
  .mf-rec__head{gap:1.25rem}
  .mf-rec__head h2{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-rec__meta{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:.625rem}
  .mf-rec__who{gap:.5rem}
  .mf-rec__who strong{font-size:1.125rem;line-height:1.5;letter-spacing:0}
  .mf-rec__who span{font-size:.875rem;line-height:1.43}
  .mf-rec__badges .mf-badge{padding:.5rem .75rem;font-size:.75rem;line-height:1.33}
  .mf-stages{flex-wrap:wrap;gap:.75rem;margin-top:0}
  .mf-stage{flex:0 0 calc(50% - .375rem);gap:.75rem;padding:.75rem;border-radius:.75rem}
  .mf-stage__head strong{font-size:.875rem;line-height:1.43;letter-spacing:0}
  .mf-stage__head .mf-badge{padding:.3125rem .5rem;font-size:.75rem;line-height:1.33}
  .mf-stage__thumb{border-radius:.5rem}
  .mf-stage__thumb:not(.has-img):before{width:4rem;height:.85rem}
  .mf-stage .mf-btn-dark,.mf-stage .mf-btn-line{padding:.625rem .5rem;font-size:.875rem;line-height:1.43}
  .mf-stage__logo{width:6.5rem}
  .mf-reward{max-width:none}                             /* 769~1024: PC와 같은 가로형(선물 아이콘+문구+이미지+캐럿) */
  .mf-guide{padding:2.75rem 0 3.75rem}
  .mf-guide__inner{flex-direction:column;gap:1.25rem}
  .mf-guide__head{flex:none;gap:.25rem}
  .mf-guide__head span{font-size:.75rem;line-height:1.33}
  .mf-guide__head h2{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-guide__list{width:100%;display:flex;flex-direction:column;gap:1.25rem}
  .mf-guide__list li{gap:1rem;padding:0 0 1rem}
  .mf-guide__list li span{font-size:.75rem;line-height:1.33}
  .mf-guide__list li p{font-size:.875rem;line-height:1.43}
  /* 기록 등록 */
  .mf-sf__sec01{padding:3.75rem 0 2.5rem}
  .mf-sf__sec01 .mf-sf__inner{gap:1.25rem}
  .mf-sf__sec02{padding:3.75rem 0}
  .mf-sf__sec02 .mf-sf__inner{gap:2.5rem}
  .mf-sf__col{gap:1.25rem}
  .mf-sf__field{gap:.75rem}
  .mf-sf__field > label{font-size:.875rem;line-height:1.43}
  .mf-sf__hint,.mf-sf__req{font-size:.75rem;line-height:1.33}
  .mf-sf .mf-input{padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;line-height:1.43}
  .mf-textarea{min-height:6.25rem}
  .mf-select img,.mf-date img{right:1rem}
  .mf-radio-row{gap:1.25rem}
  .mf-radio{font-size:.875rem;line-height:1.43}
  .mf-options{flex-direction:column;gap:.5rem}
  .mf-option{flex:none;width:100%}
  .mf-option__box{flex-direction:row;align-items:center;gap:.75rem;min-height:4rem;padding:1rem;border-radius:.75rem}
  .mf-option input:checked + .mf-option__box{padding:calc(1rem - 1px)}
  .mf-option__title{gap:.5rem;font-size:1rem;line-height:1.5;letter-spacing:0}
  .mf-option__desc{flex:1 1 auto;font-size:.875rem;line-height:1.43}
  .mf-sf .mf-option__input{flex:1 1 auto;height:2.25rem !important;padding:.5rem 1rem;font-size:.875rem}
  .mf-sf__submit{margin-top:0}
  .mf-btn-line--auto{padding:1rem 1.5rem}
}

/* ============================================================
   공지사항 (notice.php / notice_view.php) — 서브 페이지 톤앤매너
   ============================================================ */
body.page-notice{background:#fff;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
/* 컨텐츠가 적을 때 .mf-nt 가 (화면 높이 - 헤더 - 푸터)만큼 채워지도록 */
body.page-notice > main{flex:1 0 auto;display:flex;flex-direction:column}
.mf-nt{background:var(--mf-n99);padding:5rem 0;flex:1 0 auto}
.mf-nt__inner{max-width:calc(75rem + var(--mf-gutter)*2);display:flex;flex-direction:column;gap:2.5rem}
.mf-nt__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.mf-nt__search{display:flex;gap:.5rem;flex:0 0 auto;width:26.25rem}
.mf-nt__search .mf-input{height:3.5rem}
.mf-nt__search .mf-btn-dark--auto{height:3.5rem;padding:0 1.75rem;white-space:nowrap}   /* 인풋과 동일 높이 */
.mf-nt__body{display:flex;flex-direction:column;gap:1.25rem}
.mf-nt__count{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n60)}
.mf-nt__count b{font-weight:700;color:var(--mf-ink)}
.mf-nt__count span{margin-left:.5rem;color:var(--mf-n40)}
/* 공지 목록: 게시물마다 흰색 카드 (챌린지 리뷰 카드와 동일 톤) */
.mf-nt__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.mf-nt__item a{display:flex;align-items:center;gap:1.75rem;padding:1.75rem 2.5rem;background:#fff;border:1px solid var(--mf-n90);border-radius:1.25rem;transition:border-color .15s,box-shadow .15s}
.mf-nt__item a:hover{border-color:var(--mf-gold);box-shadow:0 .5rem 1.5rem rgba(26,22,19,.06)}
.mf-nt__item.is-pinned a{background:#fcfaf6;border-color:#e3d9c8}
.mf-nt__no{flex:0 0 auto;width:2.25rem;height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--mf-gold);font-size:.9375rem;font-weight:600;line-height:1;color:#fff}   /* 순번: 완전 원 */
.mf-nt__no .mf-badge{padding:0;background:none;color:#fff;font-size:.75rem;font-weight:inherit;line-height:1;letter-spacing:-.02rem}
.mf-nt__title{flex:1 1 auto;min-width:0;font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--mf-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}
.mf-nt__item a:hover .mf-nt__title{color:var(--mf-gold)}
.mf-nt__item.is-pinned .mf-nt__title{color:var(--mf-gold)}
.mf-nt__meta{flex:0 0 auto;display:flex;gap:1.5rem;font-size:.9375rem;line-height:1.5;color:var(--mf-n60);white-space:nowrap}
.mf-nt__date{flex:0 0 auto;width:6.5rem;text-align:center}   /* flex-basis는 부모 폭 계산에 반영되지 않아 width 사용 */
.mf-nt__views{flex:0 0 auto;text-align:right}
.mf-nt__views .m{display:inline;font-style:normal}
.mf-nt .mf-gallery-empty{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:5rem 1.25rem}
.mf-nt .mf-gallery-empty p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n60)}
/* 상세 */
.mf-nt--view .mf-nt__inner{gap:1.75rem}
.mf-ntv__head{display:flex;flex-direction:column;gap:.75rem}
.mf-ntv__title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.mf-ntv__title h2{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink);word-break:keep-all}
.mf-ntv__meta{margin:0;display:flex;gap:1.5rem;font-size:1rem;line-height:1.5;color:var(--mf-n60)}
.mf-ntv__card{background:#fff;border:1px solid var(--mf-n90);border-radius:1.25rem;padding:2.5rem}
.mf-ntv__files{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.75rem;margin-bottom:1.75rem;background:#f2ebe0;border:1px solid #e3d9c8;border-radius:.75rem}   /* 메인 컬러 연하게 */
.mf-ntv__files strong{font-size:1rem;font-weight:700;line-height:1.5;color:var(--mf-gold)}
.mf-ntv__files ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}
.mf-ntv__files a{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;line-height:1.5;color:var(--mf-ink);word-break:break-all}
.mf-ntv__files a img{flex:0 0 auto;width:1.25rem;height:1.25rem;opacity:.8}
.mf-ntv__files a:hover span{font-weight:600;text-decoration:underline;text-underline-offset:5px}   /* 호버: 약간 굵게 + 밑줄 */
.mf-ntv__content{min-height:10rem;font-size:1.0625rem;line-height:1.8;color:var(--mf-n23);word-break:keep-all}
.notice-content img{max-width:100%;height:auto;border-radius:.5rem}
.notice-content a{color:var(--mf-gold);text-decoration:underline}
.mf-ntv__pn{display:flex;justify-content:space-between;gap:2rem;padding-top:1.75rem;border-top:1px solid var(--mf-n90)}
.mf-ntv__pn-item{display:flex;align-items:flex-start;gap:1rem;flex:1 1 0;min-width:0;color:var(--mf-ink)}
.mf-ntv__pn-item--next{justify-content:flex-end;text-align:right}
.mf-ntv__pn-item img{flex:0 0 auto;width:1.25rem;height:1.25rem;margin-top:.125rem;transition:transform .2s}
a.mf-ntv__pn-item--prev:hover img{transform:translateX(-.25rem)}   /* 링크일 때만 호버 모션 */
a.mf-ntv__pn-item--next:hover img{transform:translateX(.25rem)}
.mf-ntv__pn-txt{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.mf-ntv__pn-txt strong{font-size:1.125rem;font-weight:700;line-height:1.33;letter-spacing:.02rem}
.mf-ntv__pn-txt span{font-size:.9375rem;line-height:1.5;color:var(--mf-n60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}
a.mf-ntv__pn-item:hover .mf-ntv__pn-txt span{color:var(--mf-ink)}
.mf-ntv__pn-item.is-none{color:var(--mf-n70);cursor:default}
.mf-ntv__pn-item.is-none img{opacity:.35;transition:none}
.mf-ntv__pn-item.is-none strong,.mf-ntv__pn-item.is-none .mf-ntv__pn-txt span{color:var(--mf-n70);transition:none}
.mf-ntv__back{display:flex;justify-content:center}

@media (max-width:1024px){
  .mf-nt{padding:3.75rem 0}
  .mf-nt__inner{gap:1.75rem}
  .mf-nt__search{width:20rem}                 /* 769~1024: 제목/검색 양옆 정렬 유지 */
  .mf-nt__search .mf-input{height:3rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem}
  .mf-nt__search .mf-btn-dark--auto{height:3rem;padding:0 1.25rem}
  .mf-nt__count{font-size:.875rem}
  .mf-nt__list{gap:.625rem}
  .mf-nt__no{width:1.75rem;height:1.75rem;font-size:.8125rem}
  .mf-nt__no .mf-badge{font-size:.625rem}
  .mf-nt__item a{flex-wrap:wrap;gap:.5rem .75rem;padding:1.25rem 1.25rem;border-radius:.75rem}
  .mf-nt__date,.mf-nt__views{width:auto;text-align:left}
  .mf-nt__views .m{display:inline}
  .mf-nt__title{flex:1;font-size:1rem; max-width: 100%;}
  .mf-nt__meta{width:100%;gap:1rem;font-size:.8125rem}
  .mf-nt--view .mf-nt__inner{gap:1.25rem}
  .mf-ntv__title h2{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-ntv__title .mf-badge{padding:.3125rem .5rem;font-size:.75rem;line-height:1.33}
  .mf-ntv__meta{gap:1rem;font-size:.875rem}
  .mf-ntv__card{padding:1.25rem;border-radius:.75rem}
  .mf-ntv__files{padding:1rem;margin-bottom:1.25rem}
  .mf-ntv__files a{font-size:.875rem}
  .mf-ntv__content{font-size:.9375rem;line-height:1.7}
  .mf-ntv__pn{gap:1rem;padding-top:1.25rem}
  .mf-ntv__pn-item{gap:.625rem}
  .mf-ntv__pn-item img{width:1rem;height:1rem;margin-top:.1875rem}
  .mf-ntv__pn-txt strong{font-size:1rem}
  .mf-ntv__pn-txt span{font-size:.8125rem}
}
@media (max-width:768px){
  .mf-nt__head{flex-direction:column;align-items:stretch;gap:1.25rem}
  .mf-nt__search{width:100%}
}
/* 선물 & 배송조회 버튼 세로형(문구 위 / 이미지+상품명 가운데): 1025~1280, 700 이하 — 글자 크기는 PC와 동일 */
@media (min-width:381px) and (max-width:700px), (min-width:1025px) and (max-width:1280px){
  .mf-reward{max-width:none;flex-wrap:wrap;gap:.25rem;padding:.5rem;position:relative}   /* 좌우 동일 여백(캐럿 자리) → 이미지+상품명 정가운데 */
  .mf-reward__gift{display:none}
  .mf-reward__txt{display:contents}                      /* strong/span 을 박스의 직접 자식처럼 배치 */
  .mf-reward__txt strong{order:1;width:100%;text-align:center;white-space:normal}
  .mf-reward__thumb{width:1.75rem;order:2}
  .mf-reward__txt span{order:3;flex:0 1 auto;min-width:0;max-width:calc(100% - 3rem);white-space:normal;word-break:keep-all;text-align:left;}   /* 이미지 옆 배치, 길면 줄바꿈 (말줄임 없음) */
  .mf-reward__caret{width:.75rem;height:.75rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}
}
/* 700 이하에서만 글자 축소 */
@media (max-width:700px){
  .mf-reward__txt strong,.mf-reward__txt span{font-size:.75rem;line-height:1.33}
}
@media (max-width:380px){
  .mf-stage{flex: none; width: 100%;}
}

/* ===== 약관 / 개인정보처리방침 (privacy.php, service.php) — 공지·기록 페이지와 동일 톤 ===== */
.use_wrap{background:var(--mf-n99);padding:5rem 0}
.use_wrap .inner{max-width:calc(75rem + var(--mf-gutter)*2);margin:0 auto;padding:0 var(--mf-gutter)}
.use_wrap h3{margin:0 0 2.5rem;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink)}   /* .mf-page-head h2 와 동일 */
.contents-box-inner{font-size:1rem;line-height:1.75;color:var(--mf-n23);word-break:keep-all}
.contents-box-inner .headline{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;padding:0 0 .75rem;border-bottom:1px solid #efe8dc}
.contents-box-inner .headline:before{content:"";flex:0 0 auto;width:.25rem;height:1.125rem;border-radius:.125rem;background:var(--mf-gold)}   /* 조항 제목 골드 바 */
.contents-box-inner .headline h5{margin:0;font-size:1.25rem;font-weight:700;line-height:1.45;letter-spacing:-.01rem;color:var(--mf-ink)}
.contents-box-inner .headline.margin-top-30{margin-top:2.75rem}
.contents-box-inner ol{margin:0;padding-left:1.375rem;list-style:decimal}
.contents-box-inner ol li{padding-left:.25rem;margin:0 0 .5rem}
.contents-box-inner ol li:last-child{margin-bottom:0}
.contents-box-inner ol li::marker{color:var(--mf-n60);font-weight:500}
.contents-box-inner ol.disc{margin:.5rem 0 .25rem;padding-left:0;list-style:none}
.contents-box-inner ol.disc li{position:relative;padding-left:.875rem;margin:0 0 .25rem;color:var(--mf-n40)}
.contents-box-inner ol.disc li:before{content:"";position:absolute;left:0;top:.75rem;width:.25rem;height:.25rem;border-radius:50%;background:var(--mf-gold)}
.contents-box-inner a{color:var(--mf-gold);text-decoration:underline;text-underline-offset:3px;word-break:break-all}
.contents-box-inner a:hover{font-weight:600}
.contents-box-inner .tag-box{margin-top:2.75rem;padding:1.25rem 1.5rem;background:#f2ebe0;border:1px solid #e3d9c8;border-radius:.75rem}   /* 부칙: 안내 박스 톤 */
.contents-box-inner .tag-box p{margin:0;font-weight:600;color:var(--mf-ink)}
@media (max-width:1024px){
  .use_wrap{padding:3.75rem 0}
  .use_wrap h3{margin-bottom:1.5rem;font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .contents-box-inner{font-size:.9375rem;line-height:1.7}
  .contents-box-inner .headline{margin-bottom:.75rem;padding-bottom:.625rem}
  .contents-box-inner .headline:before{height:1rem}
  .contents-box-inner .headline h5{font-size:1.0625rem}
  .contents-box-inner .headline.margin-top-30{margin-top:2rem}
  .contents-box-inner ol{padding-left:1.25rem}
  .contents-box-inner .tag-box{margin-top:2rem;padding:1rem 1.125rem}
}

/* ============================================================
   챌린지 소개 (introduction.php) — Figma 9254:9943 sub_challenge
   ============================================================ */
body.page-intro{background:#fff}
.page-intro .mf-intro-sec01{background: var(--mf-n99);}
.mf-intro__inner{max-width:calc(75rem + var(--mf-gutter)*2)}   /* inner 1200 */
.mf-intro__head{display:flex;flex-direction:column;gap:1.25rem}
.mf-intro__head h3{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem;color:var(--mf-ink);word-break:keep-all}   /* 32px / -0.48px */
.mf-intro__head h3 em{font-style:normal;color:var(--mf-gold)}
.mf-intro__head p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n30);word-break:keep-all}   /* 18px */
.mf-intro__head--sm{gap:.75rem}
.mf-intro__head--sm p{color:var(--mf-n60)}

/* sec01 : 페이지 타이틀 + 참여 대상 (9254:9948) */
.mf-intro-sec01{background:#fff;padding:5rem 0 7.5rem}   /* 하단 120px */
.mf-intro-sec01__inner{display:flex;flex-direction:column;gap:6.25rem}   /* 100px */
.mf-intro-sec01__body{display:flex;flex-direction:column;gap:3.75rem}   /* 60px */
.mf-target{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:401fr 288fr 242fr;column-gap:8.375rem}   /* 401/288/242, 라인 포함 간격 134px */
.mf-target__item{position:relative;display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.mf-target__item + .mf-target__item:before{content:"";position:absolute;left:-4.1875rem;top:0;bottom:0;width:1px;background:var(--mf-n95)}
.mf-target__q{display:flex;align-items:center;gap:1.75rem}   /* 28px */
.mf-target__q > img{flex:0 0 auto;width:3.25rem;height:3.25rem;display:block}   /* 52px */
.mf-target__head{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.mf-target__head span{font-size:.8125rem;font-weight:700;line-height:1.43;color:var(--mf-gold)}   /* 13px */
.mf-target__head strong{font-size:1.5rem;font-weight:500;line-height:1.33;letter-spacing:-.015rem;color:var(--mf-ink);word-break:keep-all}   /* 24px / -0.24px */
.mf-target__item > p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n30);word-break:keep-all}

/* sec02 : 참여하는 방법 (9254:9985) */
.mf-intro-sec02{position:relative;padding:7.5rem 0;background:var(--mf-n99) url(images/intro/sec02_bg.jpg) center/cover no-repeat;overflow:hidden}
.mf-intro-sec02:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3)}   /* img01 dim 30% */
.mf-intro-sec02__inner{position:relative;display:flex;align-items:flex-start;gap:6.25rem}   /* 100px */
.mf-intro-sec02__head{flex:0 0 19.25rem;display:flex;flex-direction:column;gap:.5rem;color:#fff}   /* 308px */
.mf-intro-sec02__head span{font-size:.8125rem;font-weight:700;line-height:1.43}
.mf-intro-sec02__head h3{margin:0;font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.03rem}
.mf-how{list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.5rem}
.mf-how__item{display:flex;align-items:flex-start;gap:2.5rem;padding:2.5rem;background:rgba(255,255,255,.9);border-radius:1.25rem}
.mf-how__icon{flex:0 0 auto;width:5.5rem;height:5.5rem;border-radius:50%;background:#eaebec;display:flex;align-items:center;justify-content:center}   /* 88px */
.mf-how__icon img{width:3.25rem;height:3.25rem;display:block}
.mf-how__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.25rem}
.mf-how__head{display:flex;flex-direction:column;gap:.25rem}
.mf-how__head span{font-size:.8125rem;font-weight:700;line-height:1.43;color:var(--mf-gold)}
.mf-how__head strong{font-size:1.375rem;font-weight:500;line-height:1.45;letter-spacing:-.007rem;color:var(--mf-ink);word-break:keep-all}   /* 22px / -0.11px */
.mf-how__text{display:flex;flex-direction:column;gap:1rem}
.mf-how__text p{margin:0;font-size:1.125rem;line-height:1.5;color:var(--mf-n30);word-break:keep-all}
.mf-how__note{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:#e1e2e4;border:1px solid var(--mf-n95);border-radius:.5rem}
.mf-how__note strong{font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--mf-ink);word-break:keep-all}

/* sec03 : 촬영 가이드 (9254:10039) */
.mf-intro-sec03{background:#fff;padding:7.5rem 0}
.mf-intro-sec03__inner{display:flex;flex-direction:column;gap:3.75rem}
.mf-intro-sec03__body{display:flex;flex-direction:column;gap:2.5rem}
.mf-shoot{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:1.5rem}
.mf-shoot__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;background:var(--mf-n99);border-radius:1rem}
.mf-shoot__head{display:flex;flex-direction:column;gap:.25rem}
.mf-shoot__head span{font-size:.875rem;font-weight:500;line-height:1.43;color:var(--mf-gold)}   /* 14px */
.mf-shoot__head strong{font-size:1.375rem;font-weight:500;line-height:1.45;letter-spacing:-.007rem;color:var(--mf-ink);word-break:keep-all}
.mf-shoot__line{height:1px;background:var(--mf-n90)}
.mf-shoot__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.mf-shoot__list li{position:relative;font-size:1.125rem;line-height:1.5;color:var(--mf-n30);word-break:keep-all}
.mf-shoot__list li.is-dot{padding-left:1rem}   /* dot 4px + gap 12px */
.mf-shoot__list li.is-dot:before{content:"";position:absolute;left:0;top:.6875rem;width:.25rem;height:.25rem;border-radius:50%;background:var(--mf-gold)}
.mf-notice--sm .mf-notice__txt strong{font-size:1.125rem;line-height:1.5;letter-spacing:0}   /* alert_box : 18px bold */

/* sec04 : BENEFITS (9254:10081) */
.mf-intro-sec04{position:relative;padding:7.5rem 0;background:var(--mf-ink);color:#fff;overflow:hidden}
.mf-intro-sec04__bg{position:absolute;inset:0;z-index:0}
.mf-intro-sec04__bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.mf-intro-sec04__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%),rgba(26,22,19,.35)}   /* dim01 35% + dim02 gradient 60% */
.mf-intro-sec04__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:3.75rem}
.mf-intro-sec04__intro{display:flex;flex-direction:column;align-items:center;gap:2.5rem;text-align:center;width:100%}
.mf-intro-sec04__title{display:flex;flex-direction:column;align-items:center;gap:1rem}
.mf-intro-sec04__title em{font-style:normal;font-size:4.25rem;font-weight:400;line-height:1.12;letter-spacing:-.10625rem}   /* 68px / -1.7px */
.mf-intro-sec04__title h3{margin:0;font-size:2rem;font-weight:500;line-height:1.25;letter-spacing:-.03rem}
.mf-intro-sec04__desc{margin:0;max-width:50rem;font-size:1.125rem;line-height:1.5;word-break:keep-all}   /* 800px */
.mf-gift{width:100%;display:flex;flex-direction:column;align-items:center;gap:2rem}
.mf-gift__list{list-style:none;margin:0;padding:0;width:100%;display:flex;gap:1rem}
.mf-gift__item{flex:1 1 0;min-width:0;height:10rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:0 1.5rem;text-align:center;
  border-radius:5rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3)}
.mf-gift__item span{font-size:1.125rem;font-weight:500;line-height:1.4}
.mf-gift__item strong{font-size:1.75rem;font-weight:500;line-height:1.29;letter-spacing:-.0175rem;word-break:keep-all}   /* 28px / -0.28px */
.mf-gift__total{margin:0;max-width:50rem;font-size:1.25rem;line-height:1.45;text-align:center;word-break:keep-all}   /* 20px */
.mf-gift__total b{font-size:1.5rem;font-weight:700;line-height:1.33;letter-spacing:-.015rem}   /* 24px / -0.24px */
.mf-intro-sec04__notice{width:100%;display:flex;align-items:flex-start;gap:1.25rem}
.mf-intro-sec04__notice > img{flex:0 0 auto;width:3.25rem;height:3.25rem;display:block}
.mf-intro-sec04__notice-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.25rem}
.mf-intro-sec04__notice-txt strong{font-size:1.125rem;font-weight:700;line-height:1.5}
.mf-intro-sec04__notice-txt p{margin:0;font-size:1.125rem;line-height:1.5;word-break:keep-all}

@media (max-width:1240px){
  .mf-target{column-gap:5rem}
  .mf-target__item + .mf-target__item:before{left:-2.5rem}
  .mf-intro-sec02__inner{gap:3rem}
  .mf-intro-sec02__head{flex-basis:14rem}
}
@media (max-width:1024px){
  .mf-intro__head{gap:.5rem}
  .mf-intro__head h3{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-intro__head p{font-size:.875rem;line-height:1.43}
  /* sec01 */
  .mf-intro-sec01{padding:3.75rem 0}
  .mf-intro-sec01__inner{gap:2.5rem}
  .mf-intro-sec01__body{gap:1.75rem}
  .mf-target{display:flex;flex-direction:column;gap:1.5rem}
  .mf-target__item{gap:.75rem}
  .mf-target__item + .mf-target__item:before{left:0;right:0;top:-.75rem;bottom:auto;width:auto;height:1px}
  .mf-target__q{gap:1rem}
  .mf-target__q > img{width:2.5rem;height:2.5rem}
  .mf-target__head span{font-size:.75rem;line-height:1.33}
  .mf-target__head strong{font-size:1.125rem;line-height:1.5;letter-spacing:0}
  .mf-target__item > p{font-size:.875rem;line-height:1.43}
  /* sec02 */
  .mf-intro-sec02{padding:3.75rem 0}
  .mf-intro-sec02__inner{flex-direction:column;gap:1.5rem}
  .mf-intro-sec02__head{flex:none;gap:.25rem}
  .mf-intro-sec02__head span{font-size:.75rem;line-height:1.33}
  .mf-intro-sec02__head h3{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-how{width:100%;gap:.75rem}
  .mf-how__item{gap:1rem;padding:1.25rem;border-radius:.75rem}
  .mf-how__icon{width:3rem;height:3rem}
  .mf-how__icon img{width:1.75rem;height:1.75rem}
  .mf-how__body{gap:.75rem}
  .mf-how__head span{font-size:.75rem;line-height:1.33}
  .mf-how__head strong{font-size:1rem;line-height:1.5;letter-spacing:0}
  .mf-how__text{gap:.75rem}
  .mf-how__text p{font-size:.875rem;line-height:1.43}
  .mf-how__note{gap:.25rem;padding:1rem}
  .mf-how__note strong{font-size:.875rem;line-height:1.43}
  /* sec03 */
  .mf-intro-sec03{padding:3.75rem 0}
  .mf-intro-sec03__inner{gap:1.75rem}
  .mf-intro-sec03__body{gap:1.25rem}
  .mf-shoot{flex-direction:column;gap:.75rem}
  .mf-shoot__item{gap:1rem;padding:1.25rem 1rem;border-radius:.75rem}
  .mf-shoot__head span{font-size:.75rem;line-height:1.33}
  .mf-shoot__head strong{font-size:1rem;line-height:1.5;letter-spacing:0}
  .mf-shoot__list li{font-size:.875rem;line-height:1.43}
  .mf-shoot__list li.is-dot:before{top:.5rem}
  .mf-notice--sm{align-items:center;gap:.75rem;padding:1rem;border-radius:.75rem}
  .mf-notice--sm .mf-notice__ic{width:2rem;height:2rem;font-size:1rem}
  .mf-notice--sm .mf-notice__txt strong{font-size:.875rem;line-height:1.43}
  /* sec04 */
  .mf-intro-sec04{padding:3.75rem 0}
  .mf-intro-sec04__inner{gap:2rem}
  .mf-intro-sec04__intro{gap:1.25rem}
  .mf-intro-sec04__title{gap:.5rem}
  .mf-intro-sec04__title em{font-size:2.25rem;letter-spacing:-.0625rem}
  .mf-intro-sec04__title h3{font-size:1.375rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-intro-sec04__desc{font-size:.875rem;line-height:1.43}
  .mf-gift{gap:1.25rem}
  .mf-gift__list{flex-direction:column;gap:.75rem}
  .mf-gift__item{height:auto;padding:1.25rem 1rem;gap:.25rem}
  .mf-gift__item span{font-size:.875rem;line-height:1.43}
  .mf-gift__item strong{font-size:1.25rem;line-height:1.45;letter-spacing:-.007rem}
  .mf-gift__total{font-size:1rem;line-height:1.5}
  .mf-gift__total b{font-size:1.125rem;line-height:1.5;letter-spacing:0}
  .mf-intro-sec04__notice{gap:.75rem}
  .mf-intro-sec04__notice > img{width:2.25rem;height:2.25rem}
  .mf-intro-sec04__notice-txt strong{font-size:1rem;line-height:1.5}
  .mf-intro-sec04__notice-txt p{font-size:.875rem;line-height:1.43}
}
/* sec04 : 768 이하 — 배경 이미지(상) / 텍스트(하) 분리, 라이트 톤 (참고: motifull challenge.html) */
@media (max-width:768px){
  .mf-intro-sec04{display:flex;flex-direction:column;padding:0 0 3.75rem;background:#fff;color:var(--mf-ink)}
  .mf-intro-sec04__bg{position:relative;inset:auto;z-index:auto;width:calc(100% - var(--mf-gutter)*2);aspect-ratio:768/640;margin:0 auto 3.75rem}   /* sec04_bg_m.jpg 768x640 비율, 좌우 20px */
  .mf-intro-sec04__bg picture{display:block;width:100%;height:100%}
  .mf-intro-sec04__bg:after{display:none}
  .mf-intro-sec04__inner{order:1}
  .mf-gift__item{background:rgba(41,42,45,.05);border-color:rgba(41,42,45,.2)}
  .mf-gift__item span,.mf-gift__item strong,.mf-gift__total,.mf-intro-sec04__notice-txt strong,.mf-intro-sec04__notice-txt p{color:#292a2d}
  .mf-intro-sec04__notice > img{filter: invert(1);}
}
