/* pb-font start */
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h1.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+AC00-B174;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h2.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+B175-B6E9;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h3.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+B6EA-BC5E;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h4.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+BC5F-C1D3;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h5.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+C1D4-C748;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h6.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+C749-CCBD;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h7.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+CCBE-D232;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/h8.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+D233-D7A3;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/etc.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+20-7E,U+A0-148,U+14A-1C3,U+1C5-31E,U+321-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3E1,U+3F0-49D,U+4A0-4FF,U+52F,U+E3F,U+1D43,U+1D47-1D49,U+1D4D,U+1D4F-1D50,U+1D52,U+1D56-1D58,U+1D5B,U+1D62-1D65,U+1D9C,U+1DA0,U+1DBB,U+1DBF-1DF5,U+1DFC-1F15,U+1F18-1F1D,U+1F20-1F45,U+1F48-1F4D,U+1F50-1F57,U+1F59,U+1F5B,U+1F5D,U+1F5F-1F7D,U+1F80-1FB4,U+1FB6-1FC4,U+1FC6-1FD3,U+1FD6-1FDB,U+1FDD-1FEF,U+1FF2-1FF4,U+1FF6-1FFE,U+2000-200D,U+2010-2027,U+202F-2060,U+2070-2071,U+2074-208E,U+2090-209C,U+20A0-20BF,U+20DB-20DE,U+20E8,U+20F0,U+2100-2101,U+2103,U+2105-2106,U+2109,U+2113,U+2116-2117,U+211E-2123,U+2126,U+212A-212B,U+212E,U+2132,U+213B,U+214D,U+214F,U+2153,U+215A-2188,U+2190-2199,U+21A9-21AA,U+21B0-21B1,U+21B3-21B5,U+21BA-21BB,U+21D0,U+21D2,U+21D4,U+21DE-21DF,U+21E4-21E5,U+21E7,U+21EA,U+2202,U+2205-2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2248,U+2260,U+2264-2265,U+226A-226B,U+22EF,U+2303,U+2305,U+2318,U+2325-2327,U+2329-232B,U+2380,U+2387,U+238B,U+23CE-23CF,U+2423,U+2460-2473,U+24B6-24CF,U+24EA-24F4,U+24FF,U+25A0-25A2,U+25AA,U+25B2-25B3,U+25B6-25B7,U+25BA-25BD,U+25C0-25C1,U+25C4-25C7,U+25CA-25CB,U+25CF,U+25E6,U+25EF,U+2600,U+2605-2606,U+263C,U+2661,U+2665,U+266A,U+26A0,U+2713,U+2717,U+2756,U+2776-2789,U+27EF,U+27F5-27FA,U+2985-2986,U+2B06,U+2B12-2B13,U+2B1C,U+2C7C,U+2C7F,U+2DFF,U+2E18,U+3000-3003,U+3008-3011,U+3014-301F,U+3041-3094,U+3099-309E,U+30A1-30FE,U+3131-3164,U+318D,U+321C,U+3380-3384,U+3388-33CA,U+33CF-33D0,U+33D3,U+33D6,U+33D8,U+33DB-33DD,U+A69F,U+A7FF,U+A92E,U+E000,U+E002-E05E,U+E06A-E080,U+E093-E096,U+E0A5-E0E6,U+E0F3-E11C,U+E11E-E12A,U+E131-E147,U+E14E-E164,U+EE01-EE05,U+F000-F057,U+F6C3,U+FE20-FE2D,U+FEFF,U+FF01-FF60,U+FFA1-FFBE,U+FFC2-FFC7,U+FFCA-FFCF,U+FFD2-FFD7,U+FFDA-FFDC,U+FFE0-FFE1,U+FFE5-FFE6,U+1F10B,U+1F12F-1F149,U+1F150-1F16B,U+1F170-1F189,U+1F850,U+1F852,U+F0000-F0002;}
@font-face{font-family:'Pretendard-Black'; src:url('/fonts/pb/base.woff2') format('woff2'); font-weight:900; font-display:swap; unicode-range:U+20-7E,U+A9,U+B1,U+B7,U+D7,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+203B,U+20A9,U+2190-2193,U+22EF,U+2460-2466,U+25A0-25A1,U+25B2,U+25C6,U+25CB,U+25CF,U+2605-2606,U+2713,U+2717,U+300E-300F,U+3163,U+AC00-AC01,U+AC04,U+AC08,U+AC10-AC12,U+AC14-AC16,U+AC19,U+AC1C-AC1D,U+AC24,U+AC31,U+AC70-AC71,U+AC74,U+AC78,U+AC80-AC81,U+AC83,U+AC89,U+AC8C,U+ACA0,U+ACA8-ACAA,U+ACB0,U+ACB9,U+ACBC-ACBD,U+ACC4,U+ACE0,U+ACE7-ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD1C,U+AD50,U+AD6C-AD6D,U+AD70,U+AD74-AD75,U+AD7D,U+AD81,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE30,U+AE34,U+AE38,U+AE40,U+AE4C,U+AE50,U+AE68,U+AEBC,U+AED0,U+AED8,U+AEF4,U+AF2D,U+AFB8,U+AFBC,U+AFC0,U+AFC8,U+AFD4,U+AFE8,U+B00C,U+B010,U+B014,U+B044,U+B048,U+B04A,U+B05D,U+B07C,U+B08C,U+B098,U+B09C,U+B0A0-B0A1,U+B0A8,U+B0AC,U+B0AE,U+B0B4,U+B0B8,U+B0BC,U+B0C4,U+B0D0,U+B0E5,U+B108-B109,U+B110,U+B113,U+B118,U+B123-B124,U+B137,U+B141,U+B144,U+B155,U+B178,U+B192-B193,U+B204,U+B208,U+B20C,U+B214,U+B220,U+B274,U+B290,U+B294,U+B298,U+B2A5-B2A6,U+B2C8-B2C9,U+B2CC,U+B2D8,U+B2E4-B2E5,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B354-B355,U+B358,U+B35F,U+B364,U+B367,U+B36E,U+B370,U+B3C4,U+B3CC,U+B3D9,U+B3FC,U+B410,U+B418,U+B41C,U+B420,U+B428-B429,U+B450,U+B454,U+B458,U+B46C,U+B480,U+B4A4,U+B4C8,U+B4DC,U+B4E0,U+B4E3-B4E4,U+B4EC,U+B4EF,U+B4F1,U+B514,U+B529-B52A,U+B530-B531,U+B54C,U+B5A0,U+B5A4,U+B5A8,U+B5B4,U+B5BB-B5BC,U+B610-B611,U+B6F8,U+B728-B729,U+B72C,U+B730,U+B73B,U+B744,U+B760,U+B77C-B77D,U+B780,U+B78C,U+B790-B791,U+B797-B799,U+B79C,U+B7A8,U+B7AB-B7AC,U+B7EC-B7ED,U+B7F0,U+B7F4,U+B7FC-B7FD,U+B7FF,U+B807-B809,U+B80C,U+B824-B825,U+B82C,U+B835,U+B838-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B86C,U+B871,U+B8CC,U+B8E8-B8E9,U+B8F8,U+B904,U+B918,U+B958,U+B974-B975,U+B978,U+B97C,U+B984-B985,U+B9AC-B9AD,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DB,U+B9DD-B9DE,U+B9E1,U+B9E4-B9E5,U+B9E8,U+B9F9,U+BA38-BA39,U+BA3C,U+BA48,U+BA4B,U+BA54,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAAB,U+BAB0,U+BAB8,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3B-BB3C,U+BB50,U+BB54,U+BB58,U+BBC0,U+BBF8,U+BBFC,U+BC00,U+BC0F,U+BC14-BC16,U+BC18,U+BC1B-BC1D,U+BC24,U+BC29,U+BC30-BC31,U+BC84,U+BC88,U+BC8C,U+BC94-BC95,U+BCA0,U+BCA8,U+BCBD,U+BCC0,U+BCC4,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD04,U+BD07,U+BD09,U+BD10,U+BD24,U+BD80-BD81,U+BD84,U+BD88,U+BD99,U+BDF0,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE5B,U+BE60,U+BE68,U+BE7C,U+BE80,U+BE90,U+BED0,U+BF08,U+BF51,U+BFCC,U+BFD0,U+C058,U+C05C,U+C0AC-C0AD,U+C0B0,U+C0B4,U+C0BD,U+C0C0-C0C1,U+C0C8-C0C9,U+C0D8,U+C0DD,U+C0F5,U+C0F7,U+C11C-C11E,U+C120,U+C124,U+C12F,U+C131,U+C138-C139,U+C13C,U+C140,U+C154,U+C158,U+C168,U+C18C-C18D,U+C190,U+C194,U+C1E0,U+C1FC,U+C218-C219,U+C21C,U+C220,U+C228,U+C22B,U+C258,U+C26C,U+C270,U+C27D,U+C2A4,U+C2A8,U+C2AC,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E3-C2E4,U+C2EB-C2EC,U+C2F6,U+C2FC,U+C30D,U+C313,U+C324,U+C368,U+C36C,U+C378-C379,U+C37C,U+C4F0,U+C4F4,U+C4F8,U+C500,U+C528-C529,U+C52C,U+C544,U+C548-C54A,U+C54C,U+C554-C555,U+C558-C559,U+C55E,U+C560,U+C571,U+C57C-C57D,U+C587,U+C591,U+C5B4-C5B5,U+C5B8-C5B9,U+C5BB-C5BC,U+C5C4-C5C8,U+C5D0-C5D1,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C5FC,U+C600-C601,U+C606-C608,U+C61B,U+C624,U+C628,U+C62C,U+C62E,U+C635,U+C640,U+C644,U+C654,U+C65C,U+C678,U+C67C,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6B8,U+C6C0,U+C6C3,U+C6CC,U+C6D0,U+C6D4,U+C6E8,U+C6F9,U+C704,U+C708,U+C720-C721,U+C728,U+C73C,U+C740,U+C744,U+C74C,U+C751,U+C758,U+C774-C775,U+C778,U+C77C-C77D,U+C784-C785,U+C787-C788,U+C78A,U+C790-C791,U+C794,U+C796,U+C798,U+C7A0-C7A1,U+C7A5,U+C7AC,U+C7C1,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C881,U+C885,U+C88B,U+C8E0,U+C8FC-C8FD,U+C900,U+C904,U+C90C,U+C911,U+C918,U+C988,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9DA,U+C9DC-C9DD,U+C9E7,U+C9F8,U+CABD,U+CB49,U+CBE4,U+CC0D,U+CC28-CC29,U+CC2E,U+CC38,U+CC3D-CC3E,U+CC44-CC45,U+CC57,U+CC98-CC99,U+CC9C,U+CCA8,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA4,U+CDA9,U+CDB0,U+CDC4,U+CDE8,U+CE20-CE21,U+CE35,U+CE58-CE59,U+CE5C,U+CE60,U+CE68-CE69,U+CE6D,U+CE74,U+CE78,U+CE90,U+CE98,U+CEA1,U+CEE4,U+CEE8,U+CEEC,U+CEF4,U+CEF7,U+CF00,U+CF1C,U+CF20,U+CF30,U+CF54,U+CF58,U+D06C,U+D070,U+D074,U+D07C,U+D0A4,U+D0A8,U+D0AC,U+D0B7,U+D0B9,U+D0C0,U+D0C4,U+D0C8,U+D0D0,U+D0D5,U+D0DC-D0DD,U+D0ED,U+D130,U+D134,U+D138,U+D14C-D14D,U+D150,U+D154,U+D15C,U+D1A0-D1A1,U+D1A4,U+D1B1,U+D1B5,U+D1F4,U+D22C,U+D234,U+D295,U+D29C,U+D2B8,U+D2BC,U+D2C0,U+D2F0-D2F1,U+D301,U+D305,U+D30C,U+D310,U+D328,U+D338,U+D37C,U+D380,U+D38C,U+D398,U+D3B4,U+D3B8,U+D3BC,U+D3C9,U+D3EC-D3ED,U+D3F0,U+D3F4,U+D3FC,U+D45C,U+D480,U+D488,U+D48D,U+D4E8,U+D504,U+D508,U+D50C,U+D53C,U+D544,U+D551,U+D558-D559,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5C8,U+D5D8,U+D5E4,U+D5EC,U+D5F7,U+D600,U+D604,U+D611,U+D614-D615,U+D61C,U+D638,U+D63C,U+D648,U+D654-D655,U+D658,U+D669,U+D68C,U+D69F,U+D6A8,U+D6C4,U+D6D1,U+D6E8,U+D734,U+D750,U+D754,U+D765,U+D76C,U+D770,U+D788,U+D78C,U+D790,U+D798,U+FEFF;}
/* pb-font end */
@font-face{font-family:'Pretendard-Bold'; src:url('/fonts/Pretendard-Bold.ttf') format('truetype'); font-weight:700;}

:root{
  --bg:#FFFFFF; --cream:#F7EFE6; --ink:#1C1416; --burgundy:#9E1B2C;
  --line:#E7E0D3; --mute:#75695d;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Noto Sans KR',sans-serif; line-height:1.75; word-break:keep-all;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--burgundy);}
b,strong{font-weight:700;}
h1,h2,h3,.brand,.logo{font-family:'Pretendard-Black','Noto Sans KR',sans-serif;}
.wrap{max-width:640px; margin:0 auto; padding:0 22px;}

/* nav */
.nav{border-bottom:1px solid var(--line);}
.nav .wrap{max-width:640px; display:flex; align-items:center; justify-content:space-between; padding:6px 22px;}
.nav .brand{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; letter-spacing:.24em; font-size:13px; color:var(--burgundy); text-decoration:none; padding:12px 0;}
/* 누르는 영역은 위아래 12px씩 넓히고(높이 약 46px), 보이는 간격은 gap+좌우 padding으로 예전과 같게 맞춤 */
.nav .links{display:flex; gap:10px; margin-right:-6px;}
.nav .links a{font-size:13.5px; font-weight:700; color:var(--ink); text-decoration:none; padding:12px 6px;}
.nav .links a.active, .nav .links a:hover{color:var(--burgundy);}

/* page header (for sub pages) */
.pagehead{padding:44px 0 8px; text-align:center;}
.pagehead .label{font-size:11px; letter-spacing:.24em; color:var(--burgundy); font-weight:700; margin:0 0 10px;}
.pagehead h1{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-weight:700; font-size:23px; line-height:1.5; margin:0 0 14px;}
.pagehead .sub{font-size:14px; color:var(--mute); max-width:440px; margin:0 auto;}

/* hero */
.hero{padding:64px 0 40px;}
.hero .photo{width:132px; height:132px; border-radius:50%; object-fit:cover; display:block; margin:0 auto 22px; border:1px solid var(--line);}
.hero .brand{text-align:center; font-family:'Pretendard-Black','Noto Sans KR',sans-serif; letter-spacing:.24em; font-size:12.5px; color:var(--burgundy); margin-bottom:14px;}
.hero h1{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-weight:700; font-size:25px; line-height:1.55; text-align:center; margin:0 0 16px;}
.hero .sub{text-align:center; font-size:14.5px; color:var(--mute); max-width:440px; margin:0 auto 28px;}
.hero .cta-row{display:flex; justify-content:center; gap:10px; flex-wrap:wrap;}
.btn{display:inline-block; font-weight:700; font-size:14.5px; padding:13px 24px; border-radius:9px; text-decoration:none;}
.btn.primary{background:var(--burgundy); color:#fff;}
.btn.ghost{border:1.5px solid var(--ink); color:var(--ink);}

/* proof strip */
.proof{display:flex; justify-content:center; gap:0; margin:0 0 8px; flex-wrap:wrap;}
.proof .stat{text-align:center; padding:0 22px; border-right:1px solid var(--line);}
.proof .stat:last-child{border-right:0;}
.proof .stat b{display:block; font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:22px; color:var(--burgundy);}
.proof .stat span{font-size:11.5px; color:var(--mute);}

/* pain hook */
.hook{padding:8px 0 36px;}
.hook p{font-size:15.5px; margin:0 0 14px; color:#3a332c;}
.hook .punch{font-weight:700; color:var(--ink); border-left:3px solid var(--burgundy); padding-left:14px; margin-top:22px;}

/* video placeholder */
.video-block{margin:0 0 40px;}
.video-frame{aspect-ratio:16/9; background:var(--ink); border-radius:14px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px;}
.video-frame .play{width:52px; height:52px; border-radius:50%; border:1.5px solid #efe6da; display:flex; align-items:center; justify-content:center; color:#efe6da; font-size:18px;}
.video-frame span{color:#efe6da; font-size:13px;}
.video-frame.has-video{aspect-ratio:9/16; max-width:340px; margin:0 auto; overflow:hidden; display:block;}
.video-frame.has-video video{width:100%; height:100%; display:block; object-fit:cover; background:var(--ink);}

/* about */
.about{padding:8px 0 36px;}
.about p{font-size:15px; margin:0 0 14px;}
.about .facts{margin-top:20px; padding:0; list-style:none;}
.about .facts li{font-size:14px; font-weight:700; margin-bottom:8px; padding-left:16px; position:relative;}
.about .facts li::before{content:"■"; position:absolute; left:0; font-size:9px; top:4px; color:var(--burgundy);}

/* branches */
.branch-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-bottom:40px;}
.branch-card{display:block; background:var(--cream); border:1px solid var(--line); border-radius:14px; overflow:hidden; text-decoration:none; color:var(--ink); text-align:center; transition:border-color .15s;}
.branch-card:hover{border-color:var(--burgundy);}
.branch-card .photo{width:100%; height:96px; object-fit:cover; display:block; background:var(--line);}
.branch-card .body{padding:16px;}
.branch-card .name{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-weight:700; font-size:16px; margin-bottom:8px;}
.branch-card .desc{font-size:12px; color:var(--mute); line-height:1.6; margin-bottom:14px; min-height:38px;}
.branch-card .addr{font-style:normal; font-size:12px; color:var(--ink); line-height:1.55; margin:-6px 0 14px; word-break:keep-all;}
.branch-card .go{font-size:12.5px; font-weight:700; color:var(--burgundy);}
@media (max-width:520px){
  .branch-grid{grid-template-columns:1fr;}
}

/* resources */
.section-label{font-size:11px; letter-spacing:.24em; color:var(--burgundy); font-weight:700; margin:0 0 8px;}
.section-title{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:20px; margin:0 0 22px;}
.card{display:block; background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:22px; text-decoration:none; color:var(--ink); margin-bottom:14px; transition:border-color .15s;}
.card:hover{border-color:var(--burgundy);}
.card .tag{display:inline-block; font-size:11px; font-weight:700; color:var(--burgundy); background:#fff; border:1px solid var(--burgundy); border-radius:999px; padding:3px 11px; margin-bottom:12px;}
.card h3{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:17px; margin:0 0 8px; line-height:1.5;}
.card p{font-size:13.5px; color:var(--mute); margin:0;}
.card.soon{opacity:.5; pointer-events:none;}

/* closing cta */
.closing-cta{background:var(--ink); padding:44px 0; text-align:center; margin-top:8px;}
.closing-cta h2{color:#f6efe5; font-size:20px; margin:0 0 18px; line-height:1.5;}
.closing-cta .btn.primary{background:#fff; color:var(--ink);}

footer{padding:50px 0 40px; text-align:center;}
footer .logo{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:14px; letter-spacing:.1em; color:var(--mute); margin-bottom:10px;}
footer .small{font-size:12px; color:var(--mute);}
footer .storelink{font-size:12.5px; margin-bottom:16px;}
footer .social{margin-bottom:14px;}
footer .social a{font-size:13px; font-weight:700; color:var(--burgundy); text-decoration:none;}

@media (max-width:480px){
  .hero h1{font-size:21px;}
}

@media (max-width:420px){ .nav .links{gap:2px;} .nav .links a{font-size:13px;} }

/* ----- 홈 추가 섹션 ----- */
.center{text-align:center;}
.proof-block{padding:6px 0 40px;}
.proof .stat{padding:0 18px;}
.proof .stat span{display:block; line-height:1.5; margin-top:2px;}
.proof-note{text-align:center; font-size:11.5px; color:var(--mute); margin:14px 0 0;}
@media (max-width:480px){
  .proof{flex-wrap:nowrap;}
  .proof .stat{padding:0 10px; flex:1;}
  .proof .stat b{font-size:19px;}
  .proof .stat span{font-size:10.5px;}
}

.hook .eyebrow{font-size:12px; letter-spacing:.12em; font-weight:700; color:var(--burgundy); margin-bottom:16px;}

.video-block .section-title{margin-bottom:18px;}

.steps-block{padding:8px 0 40px;}
.steps{list-style:none; padding:0; margin:0; display:grid; gap:12px;}
.steps li{display:flex; gap:16px; align-items:flex-start; border:1px solid var(--line); border-radius:14px; padding:18px 20px;}
.steps .num{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:15px; color:var(--burgundy); letter-spacing:.06em; padding-top:1px;}
.steps b{font-size:15.5px;}
.steps p{margin:4px 0 0; font-size:13.5px; color:var(--mute); line-height:1.7;}

.resources{padding-bottom:30px;}
.card.book{position:relative;}
.card.book .no{position:absolute; top:22px; right:22px; font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:12px; letter-spacing:.08em; color:var(--mute);}
.card .tag.free{background:var(--burgundy); color:#fff;}
.more-link{display:block; text-align:right; font-size:13.5px; font-weight:700; text-decoration:none; margin-top:4px;}

.fit-block{padding:10px 0 40px;}
.fit-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.fit{border-radius:14px; padding:20px; border:1px solid var(--line);}
.fit.yes{background:var(--cream);}
.fit h3{font-size:15px; margin:0 0 10px;}
.fit ul{margin:0; padding:0; list-style:none;}
.fit li{font-size:13.5px; line-height:1.65; padding-left:20px; position:relative; margin-bottom:8px;}
.fit.yes li::before{content:"✓"; position:absolute; left:0; color:var(--burgundy); font-weight:700;}
.fit.no li::before{content:"–"; position:absolute; left:2px; color:var(--mute); font-weight:700;}
@media (max-width:520px){ .fit-grid{grid-template-columns:1fr;} }

.faq-block{padding:10px 0 44px;}
.faq{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; cursor:pointer; padding:16px 28px 16px 0; font-weight:700; font-size:14.5px; position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; position:absolute; right:4px; top:13px; font-size:20px; font-weight:400; color:var(--burgundy);}
.faq[open] summary::after{content:"–";}
.faq p{margin:0 0 16px; font-size:14px; color:#3a332c; line-height:1.75;}

.sticky-cta{display:none;}
@media (max-width:640px){
  .sticky-cta{display:block; position:fixed; left:0; right:0; bottom:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96); border-top:1px solid var(--line); z-index:20;}
  .sticky-cta .btn{display:block; text-align:center;}
  body:has(.sticky-cta){padding-bottom:72px;}
}

/* ----- 홈: 원장 중심 개편 (2026-09-26) ----- */
.hero-eyebrow{text-align:center; font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--burgundy); margin:0 0 12px;}
.proof .stat b{font-size:20px;}
.section-desc{font-size:14px; color:var(--mute); margin:-12px 0 20px;}

.services{padding:6px 0 36px;}
.service{border:1px solid var(--line); border-radius:14px; padding:20px;}
.service h3{font-size:16.5px; margin:0 0 8px;}
.service p{font-size:13.5px; color:#3a332c; margin:0; line-height:1.75;}
.service.main{background:var(--cream); padding:24px 22px; margin-bottom:12px;}
.service.main h3{font-size:19px;}
.service .tag{display:inline-block; font-size:11px; font-weight:700; color:#fff; background:var(--burgundy); border-radius:999px; padding:3px 11px; margin-bottom:12px;}
.service .points{list-style:none; padding:0; margin:14px 0 18px;}
.service .points li{font-size:13.5px; padding-left:20px; position:relative; margin-bottom:6px;}
.service .points li::before{content:"✓"; position:absolute; left:0; color:var(--burgundy); font-weight:700;}
.service-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px;}
@media (max-width:520px){ .service-grid{grid-template-columns:1fr;} }

.class-block{padding:6px 0 36px;}
.class-card .tag.new{background:var(--burgundy); color:#fff;}
.text-link{display:inline-block; margin-top:12px; font-size:13.5px; font-weight:700; color:var(--burgundy); text-decoration:none;}

/* ----- 전자책 시리즈 페이지 ----- */
.vol{border:1px solid var(--line); border-radius:16px; padding:24px 22px; margin-bottom:18px; scroll-margin-top:20px;}
.vol .top{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;}
.vol .no{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:12px; letter-spacing:.08em; color:var(--mute);}
.vol .tag{display:inline-block; font-size:11px; font-weight:700; color:var(--burgundy); border:1px solid var(--burgundy); border-radius:999px; padding:3px 11px;}
.vol .tag.free{background:var(--burgundy); color:#fff;}
.vol h2{font-size:19px; line-height:1.5; margin:0 0 6px;}
.vol .lead{font-size:14px; color:var(--mute); margin:0 0 14px;}
.vol .gets{margin:0 0 16px; padding:0; list-style:none;}
.vol .gets li{font-size:13.5px; padding-left:18px; position:relative; margin-bottom:6px; line-height:1.65;}
.vol .gets li::before{content:"✓"; position:absolute; left:0; color:var(--burgundy); font-weight:700;}
.vol details{background:var(--cream); border-radius:12px; padding:0 16px; margin-bottom:16px;}
.vol summary{cursor:pointer; padding:13px 0; font-size:13.5px; font-weight:700;}
.vol details ol{margin:0; padding:0 0 14px 20px; font-size:13px; line-height:1.9; color:#3a332c;}
.vol .actions{display:flex; gap:8px; flex-wrap:wrap;}
.vol .actions .btn{padding:11px 18px; font-size:13.5px;}
.vol .actions .btn.ghost{border-width:1px;}
.vol .note{font-size:12px; color:var(--mute); margin:10px 0 0;}

/* 컨설팅 받을 수 있는 매장 */
.where-title{font-size:13px; font-weight:700; margin:18px 0 8px;}
.where{display:grid; gap:8px;}
.where-row{display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); border-radius:11px; padding:12px 14px; text-decoration:none; color:var(--ink); transition:border-color .15s;}
.where-row:hover{border-color:var(--burgundy);}
.where-name{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:14.5px;}
.where-who{font-size:12.5px; color:var(--mute);}
.where-go{font-size:12.5px; font-weight:700; color:var(--mute); white-space:nowrap;}
.where-row.on{border-color:var(--burgundy);}
.where-row.on .where-who{color:var(--ink); font-weight:700;}
.where-row.on .where-go{color:#fff; background:var(--burgundy); border-radius:7px; padding:5px 10px;}

/* 자료실 */
.lib{padding:30px 0 10px;}
.lib-list{display:grid; gap:8px;}
.lib-row{display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:12px; border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:#fff; text-decoration:none; color:var(--ink);}
.lib-row.link:hover{border-color:var(--burgundy);}
.lib-type{font-size:11px; font-weight:700; text-align:center; color:var(--burgundy); background:var(--cream); border-radius:6px; padding:4px 0;}
.lib-info b{display:block; font-size:14px; line-height:1.5;}
.lib-info span{display:block; font-size:12.5px; color:var(--mute); line-height:1.55;}
.lib-btn{font-size:13px; font-weight:700; color:#fff; background:var(--burgundy); border-radius:8px; padding:8px 14px; text-decoration:none; white-space:nowrap;}
.lib-lock{font-size:11.5px; font-weight:700; color:var(--mute); border:1px solid var(--line); border-radius:999px; padding:3px 10px; white-space:nowrap;}
.lib-go{font-size:12.5px; font-weight:700; color:var(--burgundy); white-space:nowrap;}
.lib-row.locked{background:#fcfaf7;}
.lib-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px;}
.lib-actions .btn{padding:11px 18px; font-size:13.5px;}
.lib-note{font-size:12.5px; color:var(--mute); margin:12px 0 0;}
@media (max-width:420px){ .lib-row{grid-template-columns:44px 1fr auto; gap:10px; padding:12px;} }

/* 공통 다듬기 (2026-09-26) */
html{scroll-behavior:smooth;}
[id]{scroll-margin-top:16px;}
a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid var(--burgundy); outline-offset:3px; border-radius:6px;}
.btn{transition:transform .12s, opacity .12s;}
.btn:active{transform:scale(.98);}
@media (max-width:420px){ .nav .wrap{padding:4px 14px;} .nav .links{gap:0; margin-right:-5px;} .nav .links a{font-size:12.5px; padding:12px 5px;} .nav .brand{letter-spacing:.16em;} }

.books-link{text-align:center; margin:22px 0 30px;}
.books-link a{font-size:13.5px; font-weight:700; text-decoration:none;}
.lib-prologue-gap{height:8px;}

/* ----- 신청 폼 (/class, /kit) 2026-09-26 ----- */
.apply{max-width:560px; padding-bottom:56px;}
.apply .pagehead{padding-bottom:22px;}
.apply-book{background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin:0 0 26px;}
.apply-book .no{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:12px; letter-spacing:.08em; color:var(--mute); margin:0 0 6px;}
.apply-book h2{font-size:18px; line-height:1.5; margin:0 0 10px;}
.apply-book ul{margin:0; padding:0; list-style:none;}
.apply-book li{font-size:13.5px; padding-left:18px; position:relative; margin-bottom:4px; line-height:1.65;}
.apply-book li::before{content:"✓"; position:absolute; left:0; color:var(--burgundy); font-weight:700;}
.apply-alt{font-size:13.5px; margin:14px 0 0;}
.apply-alt a{font-weight:700; text-decoration:none;}

.lead-form{display:grid; gap:22px;}
.lead-form fieldset{border:0; margin:0; padding:0; min-width:0;}
.field{display:grid; gap:8px;}
.field > label, .field legend{font-size:14.5px; font-weight:700; padding:0; margin:0 0 8px;}
.field > label{margin:0;}
.field .req, .field .opt{font-style:normal; font-size:11px; font-weight:700; border-radius:999px; padding:1px 7px; margin-left:6px; vertical-align:2px;}
.field .req{color:#fff; background:var(--burgundy);}
.field .opt{color:var(--mute); border:1px solid var(--line);}
.field .hint{font-size:12.5px; color:var(--mute); margin:-2px 0 0;}
.lead-form input[type=text], .lead-form input[type=tel], .lead-form input[type=email], .lead-form select, .lead-form textarea{
  font:inherit; font-size:16px; width:100%; padding:13px 15px; border:1.5px solid #A89B8C; border-radius:10px; background:#fff; color:var(--ink); min-width:0;}
.lead-form textarea{min-height:96px; resize:vertical; line-height:1.6;}
.lead-form select{appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:40px;}
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus{outline:none; border-color:var(--burgundy);}
.lead-form .bad{border-color:var(--burgundy) !important; background:#fdf7f6 !important;}
.two{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.two .full{grid-column:1 / -1;}
@media (max-width:480px){ .two{grid-template-columns:1fr;} }

.chips{display:flex; flex-wrap:wrap; gap:8px;}
.chip{position:relative; cursor:pointer;}
.chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none;}
.chip span{display:inline-block; font-size:14px; font-weight:700; padding:10px 16px; border:1.5px solid #A89B8C; border-radius:999px; background:#fff; transition:background .12s, border-color .12s, color .12s;}
.chip input:checked + span{background:var(--burgundy); border-color:var(--burgundy); color:#fff;}
.chip input:focus-visible + span{outline:2px solid var(--burgundy); outline-offset:2px;}

.pick{display:grid; gap:10px;}
.pick-card{position:relative; display:block; cursor:pointer;}
.pick-card input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none;}
.pick-card .body{display:block; border:1.5px solid var(--line); border-radius:14px; padding:18px 18px 18px 52px; background:#fff; transition:border-color .12s, background .12s; position:relative;}
.pick-card .body::before{content:""; position:absolute; left:18px; top:21px; width:20px; height:20px; border:1.5px solid #A89B8C; border-radius:6px; background:#fff;}
.pick-card input:checked + .body{border-color:var(--burgundy); background:var(--cream);}
.pick-card input:checked + .body::before{background:var(--burgundy); border-color:var(--burgundy);}
.pick-card input:checked + .body::after{content:""; position:absolute; left:25px; top:24px; width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);}
.pick-card input:focus-visible + .body{outline:2px solid var(--burgundy); outline-offset:2px;}
.pick-card .tag{display:inline-block; font-size:11px; font-weight:700; color:var(--burgundy); background:#fff; border:1px solid var(--burgundy); border-radius:999px; padding:2px 10px; margin-bottom:8px;}
.pick-card b{display:block; font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-weight:700; font-size:16px; line-height:1.5; margin-bottom:4px;}
.pick-card .desc{display:block; font-size:13px; color:var(--mute); line-height:1.7;}

.consent{background:var(--cream); border-radius:12px; padding:16px; display:grid; gap:12px;}
.check{display:flex; gap:10px; align-items:flex-start; cursor:pointer; font-size:14px; line-height:1.55;}
.check input{width:20px; height:20px; margin:1px 0 0; flex:none; accent-color:var(--burgundy);}
.check b{font-weight:700;}
.consent details{font-size:12.5px; color:#3a332c; margin:-4px 0 0 30px;}
.consent summary{cursor:pointer; color:var(--mute); font-weight:700;}
.consent dl{margin:8px 0 0; display:grid; grid-template-columns:auto 1fr; gap:4px 10px; line-height:1.6;}
.consent dt{color:var(--mute); white-space:nowrap;}
.consent dd{margin:0;}
.consent .small{font-size:12px; color:var(--mute); margin:-6px 0 0 30px; line-height:1.6;}
.hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden;}

.lead-form .btn.submit{width:100%; padding:16px; font-size:16px; border:0; cursor:pointer; font-family:inherit;}
.lead-form .btn.submit:disabled{opacity:.6; cursor:default;}
.phone-hint{font-size:12.5px; color:var(--mute); margin:-14px 0 0;}
.form-error{min-height:20px; margin:-10px 0 0; font-size:13.5px; font-weight:700; color:var(--burgundy);}
.field .form-error, .consent .form-error{min-height:0; margin:2px 0 0;}
.field.bad .pick-card .body, .field.bad .chip span{border-color:var(--burgundy);}
.consent.bad{outline:1.5px solid var(--burgundy); outline-offset:0;}
.consent .privacy-link{font-size:12.5px; margin:-4px 0 0 30px;}
.consent .privacy-link a{font-weight:700; text-decoration:none;}
.phone-kit{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; margin:0 auto 12px; max-width:340px; text-align:left;}
.phone-kit p{font-size:14.5px; margin:0 0 12px; max-width:none;}
.phone-kit .btn{display:block; width:100%; text-align:center; border:0; cursor:pointer; font-family:inherit;}
.phone-kit .send-msg{font-size:13.5px; color:var(--ink); margin:10px 0 0;}
.phone-kit .send-msg:empty{margin:0;}
.phone-kit .send-url{width:100%; margin-top:8px; font:inherit; font-size:14px; padding:10px 12px; border:1.5px solid #A89B8C; border-radius:10px; background:#fff; color:var(--ink);}
.phone-kit .inapp{font-size:13.5px; color:var(--mute); margin:12px 0 0;}
.phone-kit .inapp a{font-weight:700;}
.lead-done .consent-note{font-size:12.5px; color:var(--mute); margin:18px auto 0; max-width:400px;}

.lead-done{text-align:center; padding:26px 20px 30px; border:1px solid var(--line); border-radius:16px; background:var(--cream);}
.lead-done .mark{width:56px; height:56px; border-radius:50%; background:var(--burgundy); color:#fff; font-size:26px; line-height:56px; margin:0 auto 14px;}
.lead-done h2{font-size:21px; margin:0 0 10px; line-height:1.5;}
.lead-done h2:focus{outline:none;}
.lead-done p{font-size:14px; color:#3a332c; margin:0 auto 18px; max-width:400px;}
.lead-done .actions{display:grid; gap:8px; max-width:340px; margin:0 auto;}
.lead-done .btn{display:block; text-align:center;}
.lead-done .btn.ghost{border-width:1px; background:#fff;}
.lead-done .next{margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line); font-size:13.5px;}
.lead-done .next a{font-weight:700; text-decoration:none;}
[hidden]{display:none !important;}

/* ----- 개인정보 처리방침 (/privacy) ----- */
.policy{max-width:640px; padding-bottom:40px;}
.policy h2{font-size:17px; margin:34px 0 12px;}
.policy p, .policy li{font-size:14px; line-height:1.8; color:#3a332c;}
.policy ul{padding-left:18px; margin:0 0 12px;}
.policy-item{border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:10px;}
.policy-item h3{font-size:15px; margin:0 0 8px;}
.policy-item dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:13.5px; line-height:1.7;}
.policy-item dt{color:var(--mute); white-space:nowrap;}
.policy-item dd{margin:0;}
@media (max-width:420px){ .policy-item dl{grid-template-columns:1fr; gap:2px;} .policy-item dd{margin-bottom:6px;} }
.policy-date{margin-top:30px; font-size:13px !important; color:var(--mute) !important;}
footer .legal{margin-top:6px;}
footer .legal a{font-size:12px; color:var(--mute);}

/* ----- 가치사다리 (2026-09-27): 사다리 전체를 보여주고, 한 칸이 끝나는 자리마다 다음 칸을 건다 ----- */
/* 단계 띠: 무료 → 클래스 → 출강 (지금 페이지는 .on) */
.ladder-strip{display:flex; align-items:stretch; justify-content:center; gap:6px; margin:0 0 26px; flex-wrap:nowrap;}
.ladder-strip a{flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:1px; padding:10px 6px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none; font-size:13.5px; font-weight:700; line-height:1.35;}
.ladder-strip a small{font-size:11px; font-weight:700; color:var(--mute); letter-spacing:.02em;}
.ladder-strip a:hover{border-color:var(--burgundy);}
.ladder-strip a.on{background:var(--burgundy); border-color:var(--burgundy); color:#fff;}
.ladder-strip a.on small{color:rgba(255,255,255,.82);}
.ladder-strip .arr{flex:none; align-self:center; color:var(--mute); font-size:13px;}

/* 지금 어디쯤이세요? - 칸마다 한 줄, 왼쪽 단계 표시를 점선으로 잇는다 */
.ladder{padding:6px 0 34px;}
.ladder-list{list-style:none; margin:0; padding:0; display:grid; gap:8px; position:relative;}
.ladder-list::before{content:""; position:absolute; left:45px; top:22px; bottom:22px; border-left:2px dotted #CFC3B4; z-index:0;}
.ladder-list a{position:relative; z-index:1; display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:12px; padding:13px 14px 13px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none;}
.ladder-list a:hover{border-color:var(--burgundy);}
.ladder-list .ld-step{font-family:'Pretendard-Black','Noto Sans KR',sans-serif; font-size:13px; text-align:center; color:var(--burgundy); background:var(--cream); border-radius:8px; padding:6px 0; line-height:1.3;}
.ladder-list .top .ld-step{background:var(--burgundy); color:#fff;}
.ladder-list b{display:block; font-size:14.5px; line-height:1.5;}
.ladder-list small{display:block; font-size:12.5px; color:var(--mute); line-height:1.5;}
.ladder-list .ld-go{font-size:12.5px; font-weight:700; color:var(--burgundy); white-space:nowrap;}
@media (max-width:420px){
  .ladder-list a{grid-template-columns:50px 1fr; padding:12px;}
  .ladder-list::before{left:37px;}
  .ladder-list .ld-go{display:none;}
}

/* 다음 단계 상자 - 완료 화면·책 끝·마이페이지에서 "여기까지 됐다면 다음은"을 보여준다 */
.next-step{border:1.5px solid var(--burgundy); border-radius:14px; padding:18px 18px 16px; background:#fff; text-align:left; margin:22px auto 0; max-width:400px;}
.next-step .ns-label{font-size:12px; letter-spacing:.04em; font-weight:700; color:var(--burgundy); margin:0 0 6px;}
.next-step b{display:block; font-size:15.5px; line-height:1.5; margin:0 0 4px;}
.next-step p, .lead-done .next-step p{font-size:13.5px; color:#3a332c; line-height:1.7; margin:0 0 12px; max-width:none;}
.next-step .btn{display:block; text-align:center; padding:12px 16px; font-size:14px;}
.next-step .btn.ghost{border-width:1px; background:#fff;}
.next-step .btn + .btn{margin-top:8px;}

/* 코드 받는 법 (/books) */
.get-code{border:1px solid var(--line); border-radius:16px; padding:22px; background:var(--cream); margin:8px 0 40px;}
.get-code h2{font-size:17px; margin:0 0 10px; line-height:1.5;}
.get-code ol{margin:0 0 16px; padding-left:20px; font-size:14px; line-height:1.8; color:#3a332c;}
.get-code .actions{display:flex; gap:8px; flex-wrap:wrap;}
.get-code .actions .btn{padding:11px 18px; font-size:13.5px;}
.get-code .actions .btn.ghost{border-width:1px; background:#fff;}
.member .next-step{max-width:none; margin:18px 0 6px;}
.member .next-step .btn.ghost{border:1px solid var(--ink);}   /* member.css의 .member .btn{border:0}을 되돌림 */
