@font-face { font-family: 'Pretendard Variable'; src: url('/fonts/PretendardVariable-a.woff2?v=8a7276d8d2') format('woff2-variations'); font-weight: 45 920; font-display: swap; unicode-range: U+0020-007E,U+00A0,U+00A9,U+00B7,U+00D7,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+20A9,U+2190,U+2192,U+300C-300D,U+AC00,U+AC04,U+AC10,U+AC15,U+AC19,U+AC1C,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA0,U+ACA8,U+ACB0,U+ACC4,U+ACE0,U+ACE8,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD50,U+AD6C-AD6D,U+AD8C,U+ADE0,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE30,U+AE34,U+AE4C,U+AED8,U+AF2D,U+AF34,U+AFB8,U+AFBC,U+B00C,U+B010,U+B05D,U+B098,U+B09C,U+B0A8,U+B0B1,U+B0B4,U+B118,U+B124,U+B144,U+B150,U+B178,U+B17C,U+B180,U+B192,U+B208,U+B20C,U+B258,U+B274,U+B290,U+B294,U+B298,U+B2A6,U+B2C8,U+B2D8,U+B2E4,U+B2E8,U+B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B354,U+B370,U+B3C4-B3C5,U+B3D9,U+B3FC,U+B418,U+B41C,U+B429,U+B450,U+B4A4,U+B4DC-B4DD,U+B4E0,U+B4E3-B4E4,U+B4EC,U+B4F1,U+B514,U+B530,U+B540,U+B54C,U+B5A1,U+B5A4,U+B5BB,U+B610,U+B73B,U+B77C,U+B780,U+B78C,U+B798,U+B79C,U+B7B5,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B7FF,U+B807-B808,U+B824-B825,U+B835,U+B85C-B85D,U+B8CC,U+B958,U+B974,U+B978,U+B97C,U+B984,U+B9AC,U+B9B0,U+B9B4,U+B9BF,U+B9C8-B9C9,U+B9CC,U+B9D0,U+B9DE,U+B9E1,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAAC,U+BABB,U+BB34,U+BB38,U+BB3B-BB3C,U+BB58,U+BBF8,U+BBFC,U+BBFF-BC00,U+BC14,U+BC18,U+BC1B,U+BC24,U+BC29,U+BC31,U+BC88,U+BC94-BC95,U+BCA8,U+BCBD,U+BCC4,U+BCCD,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD80,U+BD84,U+BE14,U+BE44,U+BE48,U+BE68,U+BFD0,U+C0AC-C0AD,U+C0B0,U+C0C1,U+C0C8-C0C9,U+C0DD,U+C11C-C11D,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C154,U+C18C-C18D,U+C190,U+C1C4,U+C218-C219,U+C220,U+C26C,U+C2A4,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC-C2ED,U+C313,U+C368,U+C37C,U+C4F0,U+C4F4,U+C4F8,U+C528,U+C544,U+C548,U+C54A,U+C54C,U+C558-C559,U+C55E,U+C57C-C57D,U+C591,U+C5B4,U+C5BC,U+C5C5-C5C8,U+C5D0,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C601,U+C606,U+C608,U+C624,U+C628,U+C62C,U+C62E,U+C635,U+C640,U+C644,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0,U+C6CC,U+C6D0,U+C6D4,U+C704,U+C720-C721,U+C73C,U+C740,U+C744,U+C74C,U+C758,U+C774-C775,U+C778,U+C77C-C77D,U+C784-C785,U+C788,U+C790-C791,U+C798,U+C7A5,U+C800-C801,U+C804,U+C810-C811,U+C815,U+C81C,U+C838,U+C870-C871,U+C878,U+C8E0,U+C8FC,U+C900,U+C904,U+C911,U+C918,U+C988,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D1,U+C9DA,U+C9DC,U+C9E7,U+CBE4,U+CC3E,U+CC44-CC45,U+CC55,U+CC98,U+CC9C,U+CCA8,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD5C,U+CD94,U+CD9C,U+CDA4,U+CDA9,U+CDB0,U+CE5C,U+CE60,U+CE74,U+CE78,U+CEE4,U+D034,U+D0D5,U+D0DC-D0DD,U+D130,U+D1A0,U+D1B5,U+D2B8,U+D2C0,U+D30C,U+D310,U+D398,U+D3B8,U+D3C9,U+D3EC,U+D3F0,U+D45C,U+D480,U+D504,U+D50C,U+D53C-D53D,U+D544,U+D558-D559,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588,U+D5A5,U+D5D8,U+D600,U+D604,U+D615,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C,U+D6C4,U+D718,U+D734,U+D750,U+D758,U+D788,U+D78C,U+D798-D799; }
@font-face { font-family: 'Pretendard Variable'; src: url('/fonts/PretendardVariable-b.woff2?v=4acbebf09f') format('woff2-variations'); font-weight: 45 920; font-display: swap; unicode-range: U+AC01,U+AC07-AC0A,U+AC11-AC14,U+AC16-AC17,U+AC1A-AC1B,U+AC1D,U+AC20,U+AC24,U+AC2C-AC2D,U+AC2F-AC31,U+AC38-AC39,U+AC3C,U+AC40,U+AC4B,U+AC4D,U+AC54,U+AC58,U+AC5C,U+AC71,U+AC77,U+AC7A,U+AC81,U+AC84-AC86,U+AC89-AC8B,U+AC90,U+AC94,U+AC9C-AC9D,U+AC9F,U+ACA1,U+ACA9-ACAA,U+ACAC,U+ACAF,U+ACB8-ACB9,U+ACBB-ACBD,U+ACC1,U+ACC8,U+ACCC,U+ACD5,U+ACD7,U+ACE1,U+ACE4,U+ACE7,U+ACEA,U+ACEC,U+ACEF-ACF1,U+ACF6,U+ACFD,U+AD04,U+AD06,U+AD0C-AD0D,U+AD0F,U+AD11,U+AD18,U+AD1C,U+AD20,U+AD29,U+AD2C-AD2D,U+AD34-AD35,U+AD38,U+AD3C,U+AD44-AD45,U+AD47,U+AD49,U+AD54,U+AD58,U+AD61,U+AD63,U+AD70,U+AD73-AD76,U+AD7B-AD7D,U+AD7F,U+AD81-AD82,U+AD88-AD89,U+AD90,U+AD9C-AD9D,U+ADA4,U+ADB7,U+ADC0-ADC1,U+ADC4,U+ADC8,U+ADD0-ADD1,U+ADD3,U+ADDC,U+ADE4,U+ADF9,U+ADFF,U+AE01,U+AE0B,U+AE0D,U+AE14,U+AE31,U+AE37-AE38,U+AE3A,U+AE40-AE41,U+AE43,U+AE45-AE46,U+AE4A,U+AE4D-AE4E,U+AE50,U+AE54,U+AE56,U+AE5C-AE5D,U+AE5F-AE61,U+AE65,U+AE68-AE69,U+AE6C,U+AE70,U+AE78-AE79,U+AE7B-AE7D,U+AE84-AE85,U+AE8C,U+AEBC-AEBE,U+AEC0,U+AEC4,U+AECC-AECD,U+AECF-AED1,U+AED9,U+AEDC,U+AEE8,U+AEEB,U+AEED,U+AEF4,U+AEF8,U+AEFC,U+AF07-AF08,U+AF0D,U+AF10,U+AF2C,U+AF30,U+AF32,U+AF3C-AF3D,U+AF3F,U+AF41-AF43,U+AF48-AF49,U+AF50,U+AF5C-AF5D,U+AF64-AF65,U+AF79,U+AF80,U+AF84,U+AF88,U+AF90-AF91,U+AF95,U+AF9C,U+AFB9,U+AFC0,U+AFC7-AFC9,U+AFCB,U+AFCD-AFCE,U+AFD4,U+AFDC,U+AFE8-AFE9,U+AFF0-AFF1,U+AFF4,U+AFF8,U+B000-B001,U+B004,U+B014,U+B01C-B01D,U+B028,U+B044-B045,U+B048,U+B04A,U+B04C,U+B04E,U+B053-B055,U+B057,U+B059,U+B07C-B07D,U+B080,U+B084,U+B08C-B08D,U+B08F,U+B091,U+B099-B09A,U+B09F-B0A2,U+B0A9,U+B0AB-B0AF,U+B0B3,U+B0B5,U+B0B8,U+B0BC,U+B0C4-B0C5,U+B0C7-B0C9,U+B0D0-B0D1,U+B0D4,U+B0D8,U+B0E0,U+B0E5,U+B108-B109,U+B10B-B10C,U+B110,U+B112-B113,U+B119,U+B11B-B11D,U+B123,U+B125,U+B128,U+B12C,U+B134-B135,U+B137-B139,U+B140-B141,U+B148,U+B151,U+B154-B155,U+B158,U+B15C,U+B160,U+B179,U+B182,U+B188-B189,U+B18B,U+B18D,U+B193-B194,U+B198,U+B19C,U+B1A8,U+B1CC,U+B1D0,U+B1D4,U+B1DC-B1DD,U+B1DF,U+B1E8-B1E9,U+B1EC,U+B1F0,U+B1F9,U+B1FB,U+B1FD,U+B204-B205,U+B20B,U+B214-B215,U+B217,U+B219,U+B220,U+B234,U+B23C,U+B25C,U+B260,U+B268-B269,U+B275,U+B27C,U+B284-B285,U+B289,U+B291,U+B299-B29A,U+B2A0-B2A1,U+B2A3,U+B2A5,U+B2AA,U+B2AC,U+B2B0,U+B2B4,U+B2C9,U+B2CC,U+B2D0,U+B2D2,U+B2D9,U+B2DB,U+B2DD,U+B2E2,U+B2E5-B2E6,U+B2EB,U+B2ED-B2EF,U+B2F3,U+B2F7-B2F8,U+B2FA-B2FB,U+B2FF,U+B301,U+B304,U+B308,U+B310-B311,U+B313-B315,U+B31C,U+B355-B356,U+B358,U+B35B-B35C,U+B35E-B35F,U+B364-B365,U+B367,U+B369,U+B36B,U+B36E,U+B371,U+B374,U+B378,U+B380-B381,U+B383-B385,U+B38C,U+B390,U+B394,U+B3A0-B3A1,U+B3A8,U+B3AC,U+B3C8,U+B3CB-B3CC,U+B3CE,U+B3D0,U+B3D4-B3D5,U+B3D7,U+B3DB,U+B3DD,U+B3E0,U+B3E4,U+B3E8,U+B410,U+B420,U+B428,U+B42B,U+B434,U+B451,U+B454,U+B458,U+B460-B461,U+B463,U+B465,U+B46C,U+B480,U+B488,U+B49D,U+B4A8,U+B4AC,U+B4B5,U+B4B7,U+B4B9,U+B4C0,U+B4C4,U+B4C8,U+B4D0,U+B4D5,U+B4E6,U+B4ED,U+B4EF,U+B4F8,U+B515,U+B518,U+B51B-B51C,U+B524-B525,U+B527-B52A,U+B531,U+B534,U+B538,U+B541,U+B543-B545,U+B54B,U+B54D,U+B550,U+B554,U+B55C-B55D,U+B55F-B561,U+B5A0,U+B5A8,U+B5AA-B5AB,U+B5B0-B5B1,U+B5B3-B5B5,U+B5BC-B5BD,U+B5C0,U+B5C4,U+B5CC-B5CD,U+B5CF-B5D1,U+B5D8,U+B5EC,U+B611,U+B614,U+B618,U+B625,U+B62C,U+B634,U+B648,U+B664,U+B668,U+B69C-B69D,U+B6A0,U+B6A4,U+B6AB-B6AC,U+B6B1,U+B6D4,U+B6F0,U+B6F4,U+B6F8,U+B700-B701,U+B705,U+B728-B729,U+B72C,U+B72F-B730,U+B738-B739,U+B744,U+B748,U+B74C,U+B754-B755,U+B760,U+B764,U+B768,U+B770-B771,U+B773,U+B775,U+B77D,U+B784,U+B78D,U+B78F-B792,U+B796-B797,U+B799,U+B7A0,U+B7A8-B7A9,U+B7AB-B7AD,U+B7B4,U+B7B8,U+B7C7,U+B7ED,U+B7F4,U+B7FD,U+B800-B801,U+B809,U+B80C,U+B810,U+B818-B819,U+B81B,U+B81D,U+B828,U+B82C,U+B834,U+B837-B839,U+B840,U+B844,U+B851,U+B853,U+B860,U+B864,U+B86C-B86D,U+B86F,U+B871,U+B878,U+B87C,U+B88D,U+B8A8,U+B8B0,U+B8B4,U+B8B8,U+B8C0-B8C1,U+B8C3,U+B8C5,U+B8D0,U+B8D4,U+B8DD,U+B8DF,U+B8E1,U+B8E8-B8E9,U+B8EC,U+B8F0,U+B8F8-B8F9,U+B8FB,U+B8FD,U+B904,U+B918,U+B920,U+B93C-B93D,U+B940,U+B944,U+B94C,U+B94F,U+B951,U+B959,U+B95C,U+B960,U+B968-B969,U+B96B,U+B96D,U+B975,U+B985,U+B987,U+B989-B98A,U+B98D-B98E,U+B9AD,U+B9BC-B9BD,U+B9C1,U+B9CE-B9CF,U+B9D1-B9D2,U+B9D8-B9D9,U+B9DB,U+B9DD,U+B9E3-B9E5,U+B9E8,U+B9EC,U+B9F4-B9F5,U+B9F7-B9FA,U+BA00-BA01,U+BA08,U+BA15,U+BA38-BA39,U+BA40,U+BA42,U+BA48-BA49,U+BA4B,U+BA4D-BA4E,U+BA53,U+BA55,U+BA58,U+BA5C,U+BA64-BA65,U+BA67-BA69,U+BA71,U+BA78,U+BA83-BA84,U+BA8C,U+BAAB,U+BAB0,U+BAB2,U+BAB8-BAB9,U+BABD,U+BAC4,U+BAC8,U+BAD8-BAD9,U+BAFC,U+BB00,U+BB04,U+BB0D,U+BB0F,U+BB11,U+BB18,U+BB1C,U+BB20,U+BB29,U+BB2B,U+BB35-BB36,U+BB3D-BB3E,U+BB44-BB45,U+BB47,U+BB49,U+BB4D,U+BB4F-BB50,U+BB54,U+BB61,U+BB63,U+BB6C,U+BB88,U+BB8C,U+BB90,U+BBA4,U+BBA8,U+BBAC,U+BBB4,U+BBB7,U+BBC0,U+BBC4,U+BBC8,U+BBD0,U+BBD3,U+BBF9,U+BC02,U+BC08-BC09,U+BC0B-BC0D,U+BC0F,U+BC11,U+BC15-BC17,U+BC1C-BC1F,U+BC25,U+BC27,U+BC2D,U+BC30,U+BC34,U+BC38,U+BC40-BC41,U+BC43-BC45,U+BC49,U+BC4C-BC4D,U+BC50,U+BC5D,U+BC84-BC85,U+BC8B-BC8C,U+BC8E,U+BC97,U+BC99-BC9A,U+BCA0-BCA1,U+BCA4,U+BCA7,U+BCB0-BCB1,U+BCB3-BCB5,U+BCBC,U+BCC0,U+BCCF-BCD1,U+BCD5,U+BCD8,U+BCDC,U+BCF6,U+BD04-BD05,U+BD07,U+BD09,U+BD10,U+BD14,U+BD24,U+BD2C,U+BD40,U+BD48-BD49,U+BD4C,U+BD50,U+BD58-BD59,U+BD64,U+BD68,U+BD81,U+BD87-BD8A,U+BD90-BD91,U+BD93,U+BD95,U+BD99-BD9A,U+BD9C,U+BDA4,U+BDB0,U+BDB8,U+BDD4-BDD5,U+BDD8,U+BDDC,U+BDE9,U+BDF0,U+BDF4,U+BDF8,U+BE00,U+BE03,U+BE05,U+BE0C-BE0D,U+BE10,U+BE1C-BE1D,U+BE1F,U+BE45,U+BE4C,U+BE4E,U+BE54-BE55,U+BE57,U+BE59-BE5B,U+BE60-BE61,U+BE64,U+BE6A,U+BE70-BE71,U+BE73-BE75,U+BE7B-BE7D,U+BE80,U+BE84,U+BE8C-BE8D,U+BE8F-BE91,U+BE98-BE99,U+BEA8,U+BED0-BED1,U+BED4,U+BED7-BED8,U+BEE0,U+BEE3-BEE5,U+BEEC,U+BF01,U+BF08-BF09,U+BF18-BF19,U+BF1B-BF1D,U+BF40-BF41,U+BF44,U+BF48,U+BF50-BF51,U+BF55,U+BF94,U+BFB0,U+BFC5,U+BFCC-BFCD,U+BFD4,U+BFDC,U+BFDF,U+BFE1,U+C03C,U+C051,U+C058,U+C05C,U+C060,U+C068-C069,U+C090-C091,U+C094,U+C098,U+C0A0-C0A1,U+C0A3,U+C0A5,U+C0AF,U+C0B3-C0B6,U+C0BC-C0BD,U+C0BF-C0C0,U+C0C5,U+C0CC,U+C0D0,U+C0D8-C0D9,U+C0DB-C0DC,U+C0E4-C0E5,U+C0E8,U+C0EC,U+C0F4-C0F5,U+C0F7,U+C0F9,U+C100,U+C104,U+C108,U+C110,U+C115,U+C11E-C11F,U+C123,U+C126-C127,U+C12C-C12D,U+C130,U+C136,U+C139,U+C13C,U+C140,U+C148-C149,U+C14B-C14D,U+C155,U+C158,U+C15C,U+C164-C165,U+C167-C169,U+C170,U+C174,U+C178,U+C185,U+C18E,U+C194,U+C196,U+C19C-C19D,U+C19F,U+C1A1,U+C1A5,U+C1A8-C1A9,U+C1AC,U+C1B0,U+C1BD,U+C1C8,U+C1CC,U+C1D4,U+C1D7-C1D8,U+C1E0,U+C1E4,U+C1E8,U+C1F0-C1F1,U+C1F3,U+C1FC-C1FD,U+C200,U+C204,U+C20C-C20D,U+C20F,U+C211,U+C21C,U+C21F,U+C228-C229,U+C22B,U+C22D,U+C22F,U+C231-C232,U+C234,U+C248,U+C250-C251,U+C254,U+C258,U+C260,U+C265,U+C26D,U+C270,U+C274,U+C27C-C27D,U+C27F,U+C281,U+C288-C289,U+C290,U+C298,U+C29B,U+C29D,U+C2A5,U+C2A8,U+C2AC-C2AD,U+C2B4,U+C2B7,U+C2E3,U+C2EB,U+C2EF,U+C2F1,U+C2F6,U+C2F8-C2F9,U+C2FB-C2FC,U+C300,U+C308-C309,U+C30C-C30D,U+C314-C315,U+C318,U+C31C,U+C324-C325,U+C328-C329,U+C345,U+C369,U+C36C,U+C370,U+C372,U+C378-C379,U+C37D,U+C384,U+C388,U+C38C,U+C3C0,U+C3D8-C3D9,U+C3DC,U+C3DF-C3E0,U+C3E2,U+C3E8-C3E9,U+C3ED,U+C3F4-C3F5,U+C3F8,U+C408,U+C410,U+C424,U+C42C,U+C430,U+C434,U+C43C-C43D,U+C448,U+C464-C465,U+C468,U+C46C,U+C474-C475,U+C479,U+C480,U+C494,U+C49C,U+C4B8,U+C4BC,U+C4E9,U+C4F1,U+C4FA,U+C4FF-C501,U+C50C,U+C510,U+C514,U+C51C,U+C529,U+C52C,U+C530,U+C538-C539,U+C53B,U+C53D,U+C545,U+C549,U+C54D-C54E,U+C553-C555,U+C557,U+C55D,U+C560-C561,U+C564,U+C568,U+C570-C571,U+C573-C575,U+C580,U+C584,U+C587,U+C58C-C58D,U+C58F,U+C595,U+C597-C598,U+C59C,U+C5A0,U+C5A9,U+C5B5,U+C5B8-C5B9,U+C5BB,U+C5BD-C5BE,U+C5C4,U+C5C9-C5CA,U+C5CC,U+C5CE,U+C5D1,U+C5D8,U+C5E0-C5E1,U+C5E3,U+C5E5,U+C5EE,U+C5F6-C5F7,U+C5FC-C600,U+C605,U+C607,U+C60C,U+C610,U+C618-C619,U+C61B-C61C,U+C625,U+C62D,U+C630,U+C633-C634,U+C637,U+C639,U+C63B,U+C641,U+C648,U+C650-C651,U+C653-C655,U+C65C-C65D,U+C660,U+C66C,U+C66F,U+C671,U+C678-C679,U+C67C,U+C680,U+C688-C689,U+C68B,U+C68D,U+C695,U+C698,U+C69C,U+C6A4-C6A5,U+C6A7,U+C6B1,U+C6B8-C6BA,U+C6C1,U+C6C3,U+C6C5,U+C6CD,U+C6DC-C6DD,U+C6E0-C6E1,U+C6E8-C6E9,U+C6EC,U+C6F0,U+C6F8-C6F9,U+C6FD,U+C705,U+C708,U+C70C,U+C714-C715,U+C717,U+C719,U+C724,U+C728,U+C730-C731,U+C733,U+C735,U+C737,U+C73D,U+C74A,U+C74D,U+C74F,U+C751-C757,U+C75C,U+C760,U+C768,U+C76B,U+C77E,U+C783,U+C787,U+C789-C78A,U+C78E,U+C794,U+C796-C797,U+C79A,U+C7A0-C7A1,U+C7A3-C7A4,U+C7A6,U+C7AC-C7AD,U+C7B0,U+C7B4,U+C7BC-C7BD,U+C7BF-C7C1,U+C7C8-C7C9,U+C7CC,U+C7CE,U+C7D0,U+C7D8,U+C7DD,U+C7E4,U+C7E8,U+C7EC,U+C808,U+C80A,U+C813,U+C816,U+C81D,U+C820,U+C824,U+C82C-C82D,U+C82F,U+C831,U+C83C,U+C840,U+C848-C849,U+C84C-C84D,U+C854,U+C874,U+C87A,U+C880-C881,U+C883,U+C885-C887,U+C88B-C88D,U+C894,U+C89D,U+C89F,U+C8A1,U+C8A8,U+C8BC-C8BD,U+C8C4,U+C8C8,U+C8CC,U+C8D4-C8D5,U+C8D7,U+C8D9,U+C8E1,U+C8E4,U+C8F5,U+C8FD,U+C905-C906,U+C90C-C90D,U+C90F,U+C92C,U+C934,U+C950-C951,U+C954,U+C958,U+C960-C961,U+C963,U+C96C,U+C970,U+C974,U+C97C,U+C989,U+C98C,U+C990,U+C998-C999,U+C99B,U+C99D,U+C9C7,U+C9CA,U+C9D0,U+C9D3,U+C9D5-C9D6,U+C9D9,U+C9DD,U+C9E0,U+C9E2,U+C9E4,U+C9EC-C9ED,U+C9EF-C9F1,U+C9F8-C9F9,U+C9FC,U+CA00,U+CA08-CA09,U+CA0B-CA0D,U+CA14,U+CA18,U+CA29,U+CA4C-CA4D,U+CA50,U+CA54,U+CA5C-CA5D,U+CA5F-CA61,U+CA68,U+CA7D,U+CA84,U+CA98,U+CABC-CABD,U+CAC0,U+CAC4,U+CACC-CACD,U+CACF,U+CAD1,U+CAD3,U+CAD8-CAD9,U+CAE0,U+CAEC,U+CAF4,U+CB08,U+CB10,U+CB14,U+CB18,U+CB20-CB21,U+CB41,U+CB48-CB49,U+CB4C,U+CB50,U+CB58-CB59,U+CB5D,U+CB64,U+CB78-CB79,U+CB9C,U+CBB8,U+CBD4,U+CBE7,U+CBE9,U+CC0C-CC0D,U+CC10,U+CC14,U+CC1C-CC1D,U+CC21-CC22,U+CC27-CC29,U+CC2C,U+CC2E,U+CC30,U+CC38-CC39,U+CC3B-CC3D,U+CC48,U+CC4C,U+CC54,U+CC57-CC59,U+CC60,U+CC64,U+CC66,U+CC68,U+CC70,U+CC75,U+CC99,U+CCA0,U+CCA9,U+CCAC,U+CCB5,U+CCB8,U+CCBC,U+CCC4-CCC5,U+CCC7,U+CCC9,U+CCD4,U+CCE4,U+CCEC,U+CCF0,U+CD01,U+CD09,U+CD0C,U+CD10,U+CD18-CD19,U+CD1B,U+CD1D,U+CD24,U+CD28,U+CD2C,U+CD39,U+CD60,U+CD64,U+CD6C-CD6D,U+CD6F,U+CD71,U+CD78,U+CD88,U+CD95,U+CD98,U+CDA5,U+CDA7,U+CDC4,U+CDCC,U+CDD0,U+CDE8,U+CDEC,U+CDF0,U+CDF8-CDF9,U+CDFB,U+CDFD,U+CE04,U+CE08,U+CE0C,U+CE14,U+CE19,U+CE20-CE21,U+CE24,U+CE28,U+CE30-CE31,U+CE33,U+CE35,U+CE58-CE59,U+CE5F,U+CE61,U+CE68-CE69,U+CE6B,U+CE6D,U+CE75,U+CE7C,U+CE84-CE85,U+CE87,U+CE89,U+CE90-CE91,U+CE94,U+CE98,U+CEA0-CEA1,U+CEA3-CEA5,U+CEAC-CEAD,U+CEC1,U+CEE5,U+CEE8,U+CEEB-CEEC,U+CEF4-CEF5,U+CEF7-CEF9,U+CF00-CF01,U+CF04,U+CF08,U+CF10-CF11,U+CF13,U+CF15,U+CF1C,U+CF20,U+CF24,U+CF2C-CF2D,U+CF2F-CF31,U+CF38,U+CF54-CF55,U+CF58,U+CF5C,U+CF64-CF65,U+CF67,U+CF69,U+CF70-CF71,U+CF74,U+CF78,U+CF80,U+CF85,U+CF8C,U+CFA1,U+CFA8,U+CFB0,U+CFC4,U+CFE0-CFE1,U+CFE4,U+CFE8,U+CFF0-CFF1,U+CFF3,U+CFF5,U+CFFC,U+D000,U+D004,U+D011,U+D018,U+D02D,U+D035,U+D038,U+D03C,U+D044-D045,U+D047,U+D049,U+D050,U+D054,U+D058,U+D060,U+D06C-D06D,U+D070,U+D074,U+D07C-D07D,U+D081,U+D0A4-D0A5,U+D0A8,U+D0AC,U+D0B4-D0B5,U+D0B7,U+D0B9,U+D0C0-D0C1,U+D0C4,U+D0C8-D0C9,U+D0D0-D0D1,U+D0D3-D0D4,U+D0E0,U+D0E4,U+D0EC-D0ED,U+D0EF-D0F1,U+D0F8,U+D10D,U+D131,U+D134,U+D138,U+D13A,U+D140-D141,U+D143-D145,U+D14C-D14D,U+D150,U+D154,U+D15C-D15D,U+D15F,U+D161,U+D168,U+D16C,U+D17C,U+D184,U+D188,U+D1A1,U+D1A4,U+D1A8,U+D1B0-D1B1,U+D1B3,U+D1BA,U+D1BC,U+D1C0,U+D1D8,U+D1F4,U+D1F8,U+D207,U+D209,U+D210,U+D22C-D22D,U+D230,U+D234,U+D23C-D23D,U+D23F,U+D241,U+D248,U+D25C,U+D264,U+D280-D281,U+D284,U+D288,U+D290-D291,U+D295,U+D29C,U+D2A0,U+D2A4,U+D2AC,U+D2B1,U+D2B9,U+D2BC,U+D2BF,U+D2C2,U+D2C8-D2C9,U+D2CB,U+D2D4,U+D2D8,U+D2DC,U+D2E4-D2E5,U+D2F0-D2F1,U+D2F4,U+D2F8,U+D300-D301,U+D303,U+D305,U+D30D-D30E,U+D314,U+D316,U+D31C-D31D,U+D31F-D321,U+D325,U+D328-D329,U+D32C,U+D330,U+D338-D339,U+D33B-D33D,U+D344-D345,U+D37C-D37D,U+D380,U+D384,U+D38C-D38D,U+D38F-D391,U+D399,U+D39C,U+D3A0,U+D3A8-D3A9,U+D3AB,U+D3AD,U+D3B4,U+D3BC,U+D3C4-D3C5,U+D3C8,U+D3D0,U+D3D8,U+D3E1,U+D3E3,U+D3ED,U+D3F4,U+D3FC-D3FD,U+D3FF,U+D401,U+D408,U+D41D,U+D440,U+D444,U+D460,U+D464,U+D46D,U+D46F,U+D478-D479,U+D47C,U+D47F,U+D482,U+D488-D489,U+D48B,U+D48D,U+D494,U+D4A9,U+D4CC,U+D4D0,U+D4D4,U+D4DC,U+D4DF,U+D4E8,U+D4EC,U+D4F0,U+D4F8,U+D4FB,U+D4FD,U+D508,U+D514-D515,U+D517,U+D540,U+D54C-D54D,U+D54F,U+D551,U+D565,U+D56B,U+D578,U+D57C,U+D584-D585,U+D587,U+D589,U+D590,U+D5C8-D5C9,U+D5CC,U+D5D0,U+D5D2,U+D5D9,U+D5DB,U+D5DD,U+D5E4-D5E5,U+D5E8,U+D5EC,U+D5F4-D5F5,U+D5F7,U+D5F9,U+D601,U+D608,U+D610-D611,U+D613-D614,U+D61C,U+D620,U+D624,U+D62D,U+D638-D639,U+D63C,U+D640,U+D645,U+D648-D649,U+D64B,U+D64D,U+D651,U+D667,U+D670-D671,U+D674,U+D683,U+D685,U+D68D,U+D690,U+D694,U+D69D,U+D69F,U+D6A1,U+D6A8,U+D6AC,U+D6B0,U+D6B9,U+D6BB,U+D6C5,U+D6C8,U+D6CC,U+D6D1,U+D6D4,U+D6D7,U+D6D9,U+D6E0,U+D6E4,U+D6E8,U+D6F0,U+D6F5,U+D6FC-D6FD,U+D700,U+D704,U+D711,U+D719,U+D71C,U+D720,U+D728-D729,U+D72B,U+D72D,U+D735,U+D738,U+D73C,U+D744,U+D747,U+D749,U+D751,U+D754,U+D756-D757,U+D759,U+D760-D761,U+D763,U+D765,U+D769,U+D76C,U+D770,U+D774,U+D77C-D77D,U+D781,U+D789,U+D790,U+D79B,U+D79D; }

/* 시안 2 — 레퍼런스 notebook.google: 흰 바탕·넓은 여백, 옅게 번진 둥근 히어로 판, 가운데 큰 제목(한 구절만 색), 버튼 하나,
   선이 모이는 작동 방식 그림, 큰 둥근 카드 + 아래 한 줄 설명. 글자 굵기 400~500. */
:root {
  --ink: #1b1d21; --text: #3f444c; --muted: #6b717b; --line: #e4e7eb; --line-soft: #eef0f3;
  --fill: #f4f6f8; --card: #fff;
  --lime: #c4f15a; --lime-soft: #eef9d1; --lime-text: #4f7309; --lime-line: #b9dc63;
  --red: #c8323a; --orange: #a1600a; --orange-soft: #fdf3e3;
  --f-grammar: #2f5e9e; --f-grammar-bg: #eaf1fb;
  --wrap: 1120px; --gutter: 24px; --head-h: 64px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: #fff; color: var(--ink);
  font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  font-size: 16px; line-height: 1.65; word-break: keep-all; overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; }
img { display: block; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3 { text-wrap: balance; letter-spacing: -.035em; font-weight: 500; }
p, li { text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.en { letter-spacing: -.01em; }

/* 머리글 */
.site-header { position: sticky; top: 0; z-index: 20; height: var(--head-h); background: rgba(255,255,255,.9); backdrop-filter: saturate(1.4) blur(10px); }
.header-in { height: 100%; display: flex; align-items: center; gap: 28px; }
.logo-svg { display: block; height: 30px; width: auto; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 26px; font-size: 14.5px; color: var(--text); }
.header-actions a:hover { color: var(--ink); }
.btn { display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 26px; border-radius: 999px; font-size: 15.5px; font-weight: 500; white-space: nowrap; border: 1px solid transparent; }
.btn-primary { background: var(--ink); color: #fff; }
.btn-ghost { border-color: var(--line); color: var(--ink); background: #fff; }
.btn-sm { height: 38px; padding: 0 16px; font-size: 14px; }
.header-actions .btn-primary, .header-actions .btn-primary:hover { color: #fff; }

/* 히어로 판 */
.hero { padding: 8px 16px 0; }
.hero-panel { position: relative; overflow: hidden; border-radius: 32px; padding: 84px 24px 0; text-align: center;
  background:
    radial-gradient(60% 55% at 12% 0%, rgba(196,241,90,.34), transparent 70%),
    radial-gradient(55% 60% at 92% 8%, rgba(157,196,255,.30), transparent 70%),
    radial-gradient(70% 50% at 50% 100%, rgba(255,222,170,.22), transparent 70%),
    #f7f9fb; }
.eyebrow { font-size: 15px; font-weight: 500; color: var(--text); }
.hero h1 { margin: 18px auto 0; max-width: 900px; font-size: clamp(40px, 6vw, 76px); line-height: 1.12; letter-spacing: -.05em; font-weight: 500; }
.hero h1 em { font-style: normal; background: linear-gradient(90deg, #5e8f08 10%, #9ccb1c 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero .lead { margin: 24px auto 0; max-width: 620px; font-size: 18px; color: var(--text); }
.hero-cta { margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.hero .note { margin-top: 14px; font-size: 13.5px; color: var(--muted); }

.trio { position: relative; margin: 96px auto 0; max-width: 1040px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px) minmax(0, 1fr); gap: 28px; align-items: end; text-align: left; }
.trio .side { opacity: .55; transform: scale(.94); transform-origin: bottom center; margin-bottom: -40px; }
.trio .main { position: relative; padding-bottom: 56px; }
.say { position: absolute; left: 22px; top: -70px; display: flex; align-items: flex-end; gap: 10px; z-index: 2; }
.say img { width: 84px; flex: none; }
.bubble { margin-bottom: 22px; padding: 10px 16px; border-radius: 16px 16px 16px 4px; background: var(--ink); color: #fff; font-size: 14.5px; line-height: 1.45; white-space: nowrap; }

/* 화면을 본뜬 카드 */
.card { background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.ui { padding: 22px; box-shadow: 0 1px 2px rgba(22,24,29,.04), 0 18px 40px -24px rgba(22,24,29,.22); border-color: var(--line-soft); }
.chip { display: inline-flex; align-items: center; height: 25px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 500; background: var(--fill); color: var(--text); white-space: nowrap; }
.chip.g { background: var(--f-grammar-bg); color: var(--f-grammar); }
.chip.e { background: var(--orange-soft); color: var(--orange); }
.chip.l { background: var(--lime-soft); color: var(--lime-text); }
.chip.o { background: #fff; border: 1px solid var(--line); }
.ui-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--line-soft); }
.ui-top b { font-size: 15px; font-weight: 600; }
.ui-top span { font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.good { display: flex; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line-soft); font-size: 14px; color: var(--text); line-height: 1.55; }
.good .chip { flex: none; }
.fix { padding-top: 14px; }
.fix + .fix { margin-top: 14px; border-top: 1px solid var(--line-soft); }
.fix .tags, .ui .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fix .tags { margin-bottom: 8px; }
.fix .was { font-size: 15px; color: #8a909b; line-height: 1.5; }
.fix .was u { color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.fix .now { margin-top: 2px; font-size: 15px; line-height: 1.5; }
.fix .now b { font-weight: 600; background: linear-gradient(transparent 62%, var(--lime-soft) 62%); }
.fix .why { margin-top: 7px; font-size: 13.5px; color: var(--text); line-height: 1.55; }
.ui h4 { margin-top: 12px; font-size: 17px; font-weight: 600; letter-spacing: -.03em; line-height: 1.4; }
.help { margin-top: 14px; padding: 14px; border-radius: 12px; background: #fafbfc; border: 1px solid var(--line-soft); }
.help-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.help-tabs span { display: inline-flex; align-items: center; height: 28px; padding: 0 11px; border-radius: 999px; font-size: 12.5px; font-weight: 500; background: #fff; border: 1px solid var(--line); color: var(--text); white-space: nowrap; }
.help-tabs span.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.help ol { margin-top: 12px; display: grid; gap: 6px; font-size: 14px; color: var(--text); }
.help ol li { display: flex; gap: 8px; }
.help ol b { flex: none; font-weight: 600; color: var(--muted); }
.paper-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1.5px solid var(--ink); }
.paper-top b { font-size: 15.5px; font-weight: 600; letter-spacing: -.02em; }
.paper-top span { font-size: 12px; color: var(--muted); white-space: nowrap; }
.concept { margin-top: 14px; padding: 11px 13px; border-radius: 8px; background: var(--lime-soft); font-size: 13.5px; color: var(--text); line-height: 1.55; }
.concept b { color: var(--lime-text); font-weight: 600; }
.q { margin-top: 14px; font-size: 14px; line-height: 1.6; }
.q .n { color: var(--muted); font-weight: 600; margin-right: 6px; }
.q .mine { display: block; margin-top: 2px; color: #8a909b; font-size: 12.5px; }
.q .blank { display: inline-block; width: 56px; border-bottom: 1.5px solid var(--ink); transform: translateY(2px); }
.q .line { display: block; margin-top: 16px; border-bottom: 1px solid #c9cdd4; }

/* 구역 공통 */
.sec { padding: 128px 0; }
.sec-head { text-align: center; max-width: 720px; margin: 0 auto 64px; }
.sec-head h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.3; font-weight: 500; }
.sec-head p { margin-top: 16px; color: var(--muted); font-size: 17px; }

/* 작동 방식 — 글이 모여 세 가지로 */
.flow { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 56px; align-items: center; }
.flow h2 { font-size: 32px; font-weight: 500; line-height: 1.3; }
.flow p { margin-top: 16px; color: var(--text); font-size: 16.5px; }
.flow svg { display: block; width: 100%; height: auto; overflow: visible; }
.flow svg text { font-family: inherit; font-size: 15px; fill: var(--ink); }
.flow svg .out text { font-weight: 600; }
.flow svg .out .sub { font-size: 12px; fill: var(--muted); font-weight: 400; }
.flow-m { display: none; }

/* 세 단계 */
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; column-gap: 20px; }
.stage { height: 100%; padding: 22px 22px 0; border-radius: 28px; background: var(--fill); overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 400px; }
.stage .ui { border-radius: 18px 18px 0 0; border-bottom: 0; padding-bottom: 26px; box-shadow: 0 -1px 2px rgba(22,24,29,.03), 0 18px 40px -24px rgba(22,24,29,.22); }
.step { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
.step-cap { padding: 22px 6px 0; }
.step-no { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; color: var(--muted); }
.step-no i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--ink); color: #fff; font-style: normal; font-size: 12px; font-weight: 600; }
.step-cap h3 { margin-top: 10px; font-size: 22px; line-height: 1.35; font-weight: 500; }
.step-cap p { margin-top: 8px; font-size: 15px; color: var(--muted); line-height: 1.6; }

/* 기록 */
.rings-sec { padding: 40px 0 0; text-align: center; }
.rings { position: relative; margin: 8px auto 0; max-width: 560px; height: 250px; overflow: hidden; }
.rings i { position: absolute; left: 50%; border: 1px solid var(--line); border-radius: 50%; transform: translateX(-50%); }
.rings i:nth-child(1) { width: 300px; height: 300px; bottom: -150px; background: linear-gradient(180deg, #fbfdf4, #fff 60%); border-color: #dfeab8; }
.rings i:nth-child(2) { width: 460px; height: 460px; bottom: -230px; }
.rings i:nth-child(3) { width: 620px; height: 620px; bottom: -310px; }
.rings span { position: absolute; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13.5px; white-space: nowrap; box-shadow: 0 6px 16px -10px rgba(22,24,29,.25); }
.rings span b { font-weight: 600; }
.rings span::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 1px rgba(79,115,9,.3); }
.rings .c1 { left: 50%; top: 26px; transform: translateX(-50%); }
.rings .c2 { left: 3%; top: 128px; }
.rings .c3 { right: 3%; top: 128px; }
.rings .c2::before { background: #9db6ff; box-shadow: none; }
.rings .c3::before { background: #ffb547; box-shadow: none; }

/* 누가 */
.who-sec { background: var(--fill); border-radius: 32px; margin: 48px 16px 0; padding: 104px 0; }
.who-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.who-card { padding: 28px 26px; border-radius: 24px; border: 0; display: flex; flex-direction: column; min-height: 260px; }
.who-card .lab { font-size: 13.5px; font-weight: 500; color: var(--lime-text); }
.who-card h3 { margin-top: 10px; font-size: 21px; line-height: 1.38; font-weight: 500; }
.who-card p { margin-top: 12px; font-size: 14.5px; color: var(--muted); line-height: 1.6; }
.who-card .more { margin-top: auto; padding-top: 18px; font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

.keep { margin: 96px auto 0; max-width: 720px; padding: 20px 24px; border: 1px dashed #c9cdd4; border-radius: 14px; font-size: 14.5px; color: var(--muted); text-align: center; }

/* 마지막 */
.final { margin-top: 96px; padding: 112px 0 120px; text-align: center; background: radial-gradient(60% 80% at 50% 100%, rgba(196,241,90,.30), transparent 70%), radial-gradient(40% 60% at 85% 100%, rgba(157,196,255,.22), transparent 70%), #fff; }
.final img { width: 124px; height: 124px; margin: 0 auto 26px; }
.final h2 { font-size: clamp(30px, 3.8vw, 44px); line-height: 1.28; font-weight: 500; }
.final p { margin-top: 14px; color: var(--muted); font-size: 17px; }
.site-footer { padding: 28px 0 40px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line-soft); }

@media (max-width: 1023px) {
  .trio { grid-template-columns: minmax(0, 470px); justify-content: center; }
  .trio .side { display: none; }
  .flow { grid-template-columns: minmax(0, 1fr); gap: 40px; text-align: center; }
  .flow p { max-width: 520px; margin-left: auto; margin-right: auto; }
  .steps { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 44px; max-width: 520px; margin: 0 auto; }
  .step { grid-template-rows: auto auto; grid-row: auto; }
  .stage { min-height: 0; }
  .who-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  :root { --gutter: 20px; --head-h: 56px; }
  .logo-svg { height: 26px; }
  .header-actions .hide-m { display: none; }
  .hero { padding: 4px 10px 0; }
  .hero-panel { border-radius: 24px; padding: 52px 14px 0; }
  .eyebrow { font-size: 14px; }
  .hero h1 { font-size: 38px; margin-top: 14px; }
  .hero .lead { font-size: 16px; margin-top: 18px; }
  .hero .note { font-size: 12.5px; }
  .trio { margin-top: 88px; }
  .trio .main { padding-bottom: 28px; }
  .say { left: 12px; top: -60px; }
  .say img { width: 70px; }
  .bubble { font-size: 13.5px; padding: 9px 13px; margin-bottom: 18px; }
  .ui { padding: 18px; }
  .sec { padding: 80px 0; }
  .sec-head { margin-bottom: 40px; }
  .sec-head p { font-size: 15.5px; }
  .flow h2 { font-size: 26px; }
  .flow svg { display: none; }
  .flow-m { display: grid; gap: 14px; justify-items: center; }
  .flow-m ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
  .flow-m li { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); font-size: 14px; background: #fff; white-space: nowrap; }
  .flow-m .outs li { background: var(--lime-soft); border-color: #dfeab8; font-weight: 600; }
  .flow-m .mid { display: grid; justify-items: center; gap: 6px; }
  .flow-m .mid img { width: 64px; }
  .flow-m .mid::before, .flow-m .mid::after { content: ''; width: 1px; height: 22px; background: var(--lime-line); }
  .stage { padding: 14px 14px 0; border-radius: 22px; }
  .rings-sec { padding-top: 8px; }
  .rings { height: 220px; }
  .rings span { font-size: 12.5px; height: 32px; padding: 0 11px; }
  .rings .c2 { left: 0; top: 118px; }
  .rings .c3 { right: 0; top: 118px; }
  .who-sec { margin: 32px 10px 0; border-radius: 24px; padding: 64px 0; }
  .who-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .who-card { min-height: 0; padding: 24px 22px; }
  .keep { margin-top: 64px; }
  .final { margin-top: 64px; padding: 72px 0 80px; }
  .hero-cta .btn { width: 100%; max-width: 320px; }
}

/* ── 시안 2 나머지: 대상 전환, 요금, FAQ, 문의, 바닥글, 학원용 ── */
.seg { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--fill); font-size: 13.5px; }
.seg a { display: inline-flex; align-items: center; height: 30px; padding: 0 13px; border-radius: 999px; color: var(--muted); white-space: nowrap; }
.seg a.on { background: #fff; color: var(--ink); font-weight: 500; box-shadow: 0 1px 2px rgba(22,24,29,.1); }

.bill { display: flex; justify-content: center; margin: -32px 0 40px; }
.bill .seg button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border: 0; border-radius: 999px; background: none; color: var(--muted); font: inherit; font-size: 14.5px; cursor: pointer; white-space: nowrap; }
.bill .seg button.on { background: #fff; color: var(--ink); font-weight: 500; box-shadow: 0 1px 2px rgba(22,24,29,.1); }
.bill .seg button small { font-size: 12px; font-weight: 600; color: var(--lime-text); }
.price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.price-card { position: relative; padding: 32px 30px 30px; border-radius: 24px; display: flex; flex-direction: column; }
.price-card.rec { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.price-card .tag { position: absolute; top: 30px; right: 28px; }
.price-card .name { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.price-card .for { margin-top: 6px; font-size: 14.5px; color: var(--muted); min-height: 3.2em; }
.price-card .amt { margin-top: 18px; font-size: 38px; font-weight: 500; letter-spacing: -.04em; line-height: 1.15; }
.price-card .amt small { font-size: 15px; font-weight: 400; color: var(--muted); letter-spacing: 0; margin-left: 2px; }
.price-card .alt { margin-top: 6px; font-size: 13px; color: var(--muted); min-height: 1.6em; }
.price-card dl { margin: 22px 0 0; padding-top: 20px; border-top: 1px solid var(--line-soft); display: grid; gap: 10px; font-size: 14.5px; }
.price-card dl div { display: flex; justify-content: space-between; gap: 12px; }
.price-card dt { color: var(--muted); }
.price-card dd { margin: 0; font-weight: 500; white-space: nowrap; }
.price-card .btn { margin-top: 26px; width: 100%; height: 46px; }
[data-bill="month"] .y, [data-bill="year"] .m { display: none; }
.price-common { margin: 28px auto 0; max-width: 760px; text-align: center; font-size: 14.5px; color: var(--muted); }
.price-common a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.faq { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 4px; font-size: 17px; font-weight: 500; letter-spacing: -.02em; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ''; flex: none; width: 9px; height: 9px; margin-right: 6px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
.faq details[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.faq details p { padding: 0 4px 24px; max-width: 720px; font-size: 15.5px; color: var(--text); }
.faq details a { text-decoration: underline; text-underline-offset: 3px; }

.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 64px; align-items: start; }
.contact h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.3; font-weight: 500; }
.contact .sub { margin-top: 16px; color: var(--muted); font-size: 16.5px; max-width: 420px; }
.kakao { margin-top: 28px; display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; border-radius: 999px; background: #fee500; color: #191600; font-size: 15px; font-weight: 500; }
.kakao i { width: 18px; height: 16px; border-radius: 50% 50% 50% 50% / 55% 55% 45% 45%; background: #191600; }
.mails { margin-top: 22px; font-size: 14.5px; color: var(--muted); line-height: 1.9; }
.mails a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.form { padding: 30px; border-radius: 24px; background: var(--fill); display: grid; gap: 16px; }
.form label { display: grid; gap: 7px; font-size: 14px; font-weight: 500; }
.form input, .form textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font: inherit; font-size: 15px; color: var(--ink); }
.form textarea { resize: vertical; min-height: 120px; }
.form ::placeholder { color: #a3a8b1; }
.form .btn { justify-self: start; }
.form small { font-size: 13px; color: var(--muted); }

.site-footer { padding: 44px 0 56px; }
.foot-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.foot-top .logo-svg { height: 26px; color: var(--ink); }
.foot-links { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; color: var(--text); }
.foot-links b { font-weight: 600; color: var(--ink); }
.biz { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line-soft); display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 12.5px; line-height: 1.7; }
.biz .copy { flex-basis: 100%; margin-top: 10px; }

/* 학원용 */
.tbl { margin-top: 4px; font-size: 13.5px; }
.tbl > div { display: grid; grid-template-columns: 1.1fr .9fr .6fr .6fr 1.3fr; gap: 10px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--line-soft); }
.tbl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.tbl .th { font-size: 12px; color: var(--muted); padding-top: 14px; }
.tbl b { font-weight: 600; }
.tbl span, .tbl b { overflow-wrap: normal; white-space: nowrap; }
.tbl .num { font-variant-numeric: tabular-nums; }
.class-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.class-grid .who-card { min-height: 220px; }

@media (max-width: 1023px) {
  .price-grid { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin: 0 auto; }
  .price-card .for { min-height: 0; }
  .contact { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .class-grid { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin: 0 auto; }
  .class-grid .who-card { min-height: 0; }
}
@media (max-width: 639px) {
  .seg a { height: 28px; padding: 0 10px; font-size: 12.5px; }
  .header-in { gap: 12px; }
  .header-actions { gap: 10px; }
  .header-actions .btn-sm { height: 34px; padding: 0 12px; font-size: 13px; }
  .bill { margin: -16px 0 28px; }
  .price-card { padding: 26px 22px 24px; }
  .price-card .tag { top: 24px; right: 20px; }
  .price-card .amt { font-size: 34px; }
  .faq summary { padding: 18px 2px; font-size: 16px; }
  .faq details p { font-size: 15px; padding-bottom: 20px; }
  .form { padding: 22px 18px; border-radius: 20px; }
  .form .btn { justify-self: stretch; }
  .site-footer { padding: 36px 0 44px; }
  .tbl > div { grid-template-columns: .9fr .6fr .6fr 1.5fr; }
  .tbl > div > :nth-child(2) { display: none; }
}
/* ── 시안 2 추가: 글 종류 넘겨 보기, 학습 자료, 성장 ── */
.tile { display: block; border-radius: 24px; object-fit: cover; }
.tile[src*='/ch-'], .tile[src*='/ac-'] { object-position: center 80%; }
.checks { margin-top: 20px; display: grid; gap: 9px; font-size: 15px; color: var(--text); }
.checks li { position: relative; padding-left: 26px; }
.checks li::before { content: ''; position: absolute; left: 0; top: .34em; width: 16px; height: 16px; border-radius: 50%; background: var(--lime-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.6 8.2l2.3 2.3 4.5-4.8' fill='none' stroke='%234f7309' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; }

/* 글 종류 넘겨 보기 */
.kind-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: -24px 0 28px; }
.kind-tabs button { height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--text); font: inherit; font-size: 14.5px; cursor: pointer; white-space: nowrap; }
.kind-tabs button.on { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 500; }
.kind-panel { display: none; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 56px; align-items: center; min-height: 470px; padding: 44px 56px; border-radius: 32px; background: var(--fill); }
.kind-panel.on { display: grid; }
.kind-copy .tile { width: 104px; height: 104px; }
.kind-copy .lab { display: block; margin-top: 22px; font-size: 13.5px; font-weight: 500; color: var(--lime-text); }
.kind-copy h3 { margin-top: 8px; font-size: 28px; line-height: 1.32; font-weight: 500; }
.kind-copy > p { margin-top: 12px; font-size: 16px; color: var(--text); max-width: 400px; }
.kind-panel .ui { max-width: 460px; width: 100%; margin: 0 auto; }
.kind-nav { margin-top: 22px; display: flex; align-items: center; justify-content: center; gap: 16px; }
.kind-nav button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; cursor: pointer; display: grid; place-items: center; }
.kind-nav button::before { content: ''; width: 8px; height: 8px; border-left: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: translateX(2px) rotate(45deg); }
.kind-nav button.next::before { transform: translateX(-2px) rotate(-135deg); }
.kind-dots { display: flex; gap: 6px; }
.kind-dots i { width: 6px; height: 6px; border-radius: 50%; background: #d3d7dd; transition: width .2s; }
.kind-dots i.on { width: 18px; border-radius: 999px; background: var(--ink); }
.rowline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); font-size: 14px; line-height: 1.5; }
.rowline:last-of-type { border-bottom: 0; }
.rowline b { font-weight: 600; white-space: nowrap; }
.rowline .t { flex: 1; color: var(--text); }
.rowline .chip { flex: none; }
.tip { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: var(--lime-soft); font-size: 13.5px; color: var(--text); line-height: 1.55; }
.tip b { color: var(--lime-text); font-weight: 600; }
.prompt { margin-top: 14px; padding: 14px; border-radius: 12px; background: #fafbfc; border: 1px solid var(--line-soft); font-size: 14px; color: var(--text); line-height: 1.6; }
.score { margin-top: 14px; display: flex; align-items: baseline; gap: 8px; }
.score b { font-size: 34px; font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.score span { font-size: 14px; color: var(--muted); }
.modes { margin-top: 14px; display: flex; gap: 6px; }
.modes span { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 8px; background: var(--fill); font-size: 13px; color: var(--text); white-space: nowrap; }
.modes span.on { background: #fff; border: 1px solid var(--line); font-weight: 500; color: var(--ink); }
.ox { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; font-size: 12.5px; font-weight: 600; background: var(--lime-soft); color: var(--lime-text); }
.ox.x { background: #fdeeee; color: var(--red); }

/* 학습 자료 */
.sheets { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 20px; }
.sheets-lead { padding: 26px; border-radius: 28px; background: var(--fill); display: flex; flex-direction: column; }
.sheets-lead .tile { width: 100%; aspect-ratio: 1 / 1; height: auto; }
.sheets-lead .big { margin-top: 22px; font-size: 44px; font-weight: 500; letter-spacing: -.04em; line-height: 1.1; }
.sheets-lead .big small { font-size: 17px; font-weight: 400; color: var(--muted); letter-spacing: -.01em; margin-left: 4px; }
.sheets-lead p { margin-top: 10px; font-size: 14.5px; color: var(--muted); }
.sheet-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sheet { padding: 18px 16px 16px; border-radius: 20px; display: flex; flex-direction: column; }
.mini { display: grid; gap: 6px; align-content: start; height: 78px; padding: 12px; border-radius: 8px; background: #fafbfc; border: 1px solid var(--line-soft); }
.mini u { display: block; height: 5px; border-radius: 3px; background: #dfe3e8; text-decoration: none; }
.mini u:first-child { width: 46%; height: 6px; background: var(--ink); }
.mini u:nth-child(3) { width: 78%; }
.mini u:nth-child(4) { width: 60%; }
.mini u.hl { background: var(--lime); }
.mini u.rd { background: #f0b4b7; }
.sheet b { margin-top: 14px; font-size: 15px; font-weight: 600; letter-spacing: -.02em; line-height: 1.35; }
.sheet span { margin-top: 5px; font-size: 13px; color: var(--muted); line-height: 1.5; }
.sheet em { margin-top: auto; padding-top: 12px; font-style: normal; font-size: 12px; font-weight: 500; color: var(--lime-text); }

/* 성장 */
.grow { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: center; }
.grow h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.3; font-weight: 500; }
.grow-copy .tile { width: 104px; height: 104px; margin-bottom: 24px; }
.grow-copy > p { margin-top: 16px; font-size: 16.5px; color: var(--text); max-width: 420px; }
.grow .stage2 { padding: 28px; border-radius: 32px; background: var(--fill); }
.chart { display: block; width: 100%; height: auto; margin-top: 8px; }
.chart text { font-family: inherit; font-size: 11px; fill: var(--muted); }
.chart .v { font-size: 13px; font-weight: 600; fill: var(--ink); }
.tri { margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--line-soft); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tri h5 { margin: 0 0 8px; font-size: 12.5px; font-weight: 500; color: var(--muted); }
.tri ul { display: grid; gap: 6px; justify-items: start; }

@media (max-width: 1023px) {
  .kind-panel { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 36px 32px; min-height: 0; }
  .kind-copy > p { max-width: none; }
  .sheets { grid-template-columns: minmax(0, 1fr); }
  .sheets-lead { flex-direction: row; align-items: center; gap: 22px; }
  .sheets-lead .tile { width: 120px; flex: none; }
  .sheets-lead .big { margin-top: 0; }
  .grow { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 639px) {
  .kind-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: -8px calc(var(--gutter) * -1) 20px; padding: 0 var(--gutter) 4px; scrollbar-width: none; }
  .kind-tabs::-webkit-scrollbar { display: none; }
  .kind-tabs button { flex: none; height: 38px; padding: 0 15px; font-size: 14px; }
  .kind-panel { padding: 24px 16px 16px; border-radius: 24px; gap: 22px; margin: 0 -8px; }
  .kind-copy { padding: 0 6px; }
  .kind-copy .tile, .grow-copy .tile { width: 76px; height: 76px; border-radius: 18px; }
  .kind-copy .lab { margin-top: 16px; }
  .kind-copy h3 { font-size: 23px; }
  .kind-copy > p { font-size: 15px; }
  .checks { margin-top: 14px; font-size: 14.5px; }
  .sheets-lead { padding: 18px; border-radius: 22px; gap: 16px; }
  .sheets-lead .tile { width: 88px; border-radius: 18px; }
  .sheets-lead .big { font-size: 32px; }
  .sheets-lead .big small { font-size: 14px; }
  .sheets-lead p { font-size: 13.5px; margin-top: 6px; }
  .sheet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sheet { padding: 14px 13px 13px; border-radius: 16px; }
  .mini { height: 60px; padding: 9px; gap: 5px; }
  .sheet b { font-size: 14px; margin-top: 11px; }
  .sheet span { font-size: 12.5px; }
  .grow .stage2 { padding: 14px; border-radius: 24px; }
  .tri { gap: 8px; }
  .tri .chip { font-size: 11.5px; padding: 0 8px; }
}

/* 모바일: 세 단계와 학습 자료는 옆으로 넘겨 본다(스크롤 줄이기) */
@media (max-width: 639px) {
  .steps, .sheet-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; max-width: none; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter) 6px; scrollbar-width: none; }
  .steps::-webkit-scrollbar, .sheet-grid::-webkit-scrollbar { display: none; }
  .step { flex: 0 0 86%; display: flex; flex-direction: column; scroll-snap-align: center; }
  .step .stage { flex: 1; }
  .sheet { flex: 0 0 44%; scroll-snap-align: start; }
  .sheet-grid { scroll-padding-left: var(--gutter); }
}
/* ── 시안 2: 요금(운영 마크업 그대로)·가격표 창·학원용 보강 ── */
.seg button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border: 0; border-radius: 999px; background: none; color: var(--muted); font: inherit; font-size: 14.5px; cursor: pointer; white-space: nowrap; }
.seg button.on { background: #fff; color: var(--ink); font-weight: 500; box-shadow: 0 1px 2px rgba(22,24,29,.1); }
.seg button small { font-size: 12px; font-weight: 600; color: var(--lime-text); }
.bill-row { display: flex; justify-content: center; margin: -32px 0 40px; }
.m-only { display: none; }
.price-card { position: relative; padding: 32px 30px 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; display: flex; flex-direction: column; }
.price-card.hot { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.price-pop { position: absolute; top: 30px; right: 28px; display: inline-flex; align-items: center; height: 25px; padding: 0 10px; border-radius: 999px; background: var(--lime-soft); color: var(--lime-text); font-size: 12.5px; font-weight: 500; }
.price-name { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.price-desc { margin-top: 6px; font-size: 14.5px; color: var(--muted); }
.price-amount { display: flex; align-items: baseline; gap: 4px; margin-top: 20px; }
.price-amount b { font-size: 38px; font-weight: 500; letter-spacing: -.04em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.price-amount small { font-size: 15px; color: var(--muted); }
.price-link { margin-left: auto; align-self: center; padding: 4px 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; white-space: nowrap; }
.price-year { display: none; margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--muted); }
body[data-bill="year"] .price-year { display: block; }
.price-year em { font-style: normal; font-weight: 600; color: var(--lime-text); }
.price-sub { margin-top: 8px; font-size: 13px; color: var(--muted); }
.price-basis { display: inline-flex; align-items: center; height: 21px; margin-right: 6px; padding: 0 8px; border: 1px solid var(--line); border-radius: 999px; font-size: 11.5px; font-weight: 600; color: var(--ink); vertical-align: 1px; }
.price-spec { margin-top: 22px; border-top: 1px solid var(--line-soft); }
.price-spec > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
.price-spec span { font-size: 14px; color: var(--muted); }
.price-spec b { font-size: 15.5px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-spec .off b { font-weight: 500; color: #b0b5bc; }
.price-list { display: grid; gap: 10px; margin: 20px 0 26px; font-size: 14px; line-height: 1.5; color: var(--text); }
.price-list li { display: flex; gap: 8px; }
.price-list .ico, .price-list svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--lime-text); }
.price-card .btn { margin-top: auto; width: 100%; height: 46px; }
.btn-secondary { border-color: var(--line); color: var(--ink); background: #fff; }
.price-common b { font-weight: 600; color: var(--ink); margin-right: 6px; }
.price-foot { margin: 28px auto 0; max-width: 760px; text-align: center; font-size: 14.5px; color: var(--muted); }
.price-foot .price-link { margin-left: 6px; font-size: 14.5px; }

.pt-dialog { width: min(620px, calc(100vw - 24px)); max-height: min(780px, calc(100dvh - 32px)); padding: 0; border: 0; border-radius: 24px; background: #fff; color: var(--text); box-shadow: 0 30px 80px -30px rgba(22,24,29,.5); }
.pt-dialog[open] { display: flex; }
.pt-dialog::backdrop { background: rgba(22, 24, 29, .45); }
html:has(.pt-dialog[open]) { overflow: hidden; }
.pt-in { display: flex; flex-direction: column; width: 100%; min-height: 0; }
.pt-head { position: relative; padding: 28px 30px 16px; border-bottom: 1px solid var(--line-soft); }
.pt-head h3 { font-size: 21px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.pt-close { position: absolute; top: 20px; right: 20px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: none; color: var(--ink); cursor: pointer; }
.pt-close:hover { background: var(--fill); }
.pt-close svg { width: 20px; height: 20px; }
.pt-tabs { margin-top: 16px; }
.pt-tabs button { height: 34px; }
.pt-notes { margin: 14px 0 0; padding-left: 18px; list-style: decimal; font-size: 13.5px; line-height: 1.65; color: var(--text); }
.pt-body { min-height: 0; overflow-y: auto; padding: 0 30px 26px; }
.pt-table { width: 100%; border-collapse: collapse; font-size: 14.5px; font-variant-numeric: tabular-nums; text-align: center; }
.pt-table th, .pt-table td { padding: 11px 10px; border-bottom: 1px solid var(--line-soft); }
.pt-table thead th { position: sticky; top: 0; z-index: 1; padding-top: 14px; padding-bottom: 12px; background: #fff; box-shadow: inset 0 -1.5px 0 var(--ink); font-size: 13px; font-weight: 600; color: var(--ink); }
.pt-table tbody + tbody tr:first-child > * { border-top: 2px solid var(--line); }
.pt-table tbody th { width: 22%; background: #fafbfc; font-weight: 600; color: var(--ink); white-space: nowrap; }
.pt-table td:nth-of-type(1) { font-weight: 600; color: var(--ink); }
.pt-table td[rowspan] { border-left: 1px solid var(--line-soft); color: var(--text); }
.pt-table td[rowspan] small { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); }
.pt-table .pt-quote td { font-weight: 500; color: var(--muted); }
.pt-table .pt-quote a { margin-left: 6px; font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.contact-status { min-height: 1.4em; font-size: 13.5px; color: var(--lime-text); }
.contact-status.err { color: var(--red); }
.kakao[aria-disabled="true"] { opacity: .5; pointer-events: none; }

/* 학원용 보강 */
.worry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.worry { padding: 26px; border-radius: 24px; }
.worry .tile { width: 100%; height: auto; aspect-ratio: 3 / 2; border-radius: 16px; }
.worry .q { margin-top: 20px; font-size: 19px; font-weight: 500; letter-spacing: -.03em; line-height: 1.42; }
.worry .a { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-soft); font-size: 14.5px; color: var(--text); line-height: 1.65; }
.worry .a b { font-weight: 600; color: var(--ink); }
.plus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.plus-grid .who-card { min-height: 200px; }
.start-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: s; }
.start-grid li { padding: 28px 26px; border-radius: 24px; background: var(--fill); display: grid; gap: 8px; align-content: start; }
.start-grid i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: #fff; font-style: normal; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.start-grid b { font-size: 19px; font-weight: 500; letter-spacing: -.03em; }
.start-grid span { font-size: 14.5px; color: var(--muted); line-height: 1.6; }

@media (max-width: 1023px) {
  .worry-grid, .plus-grid, .start-grid { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin: 0 auto; }
  .plus-grid .who-card { min-height: 0; }
}
@media (max-width: 639px) {
  .bill-row { margin: -16px 0 28px; }
  .m-only { display: block; }
  .price-card { padding: 26px 22px 24px; }
  .price-pop { top: 24px; right: 20px; }
  .price-amount b { font-size: 34px; }
  .price-card .price-list { display: none; }
  .price-card .btn { margin-top: 22px; }
  .price-common { text-align: left; }
  a.price-cta { display: flex; margin-top: 16px; }
  .pt-head { padding: 22px 18px 14px; }
  .pt-head h3 { font-size: 18px; }
  .pt-close { top: 14px; right: 10px; }
  .pt-tabs { display: flex; }
  .pt-tabs button { flex: 1; padding: 0 8px; font-size: 13px; justify-content: center; }
  .pt-notes { font-size: 12.5px; }
  .pt-body { padding: 0 14px 18px; }
  .pt-table { font-size: 13px; }
  .pt-table th, .pt-table td { padding: 10px 4px; }
  .pt-table thead th { font-size: 12px; }
  .pt-table td[rowspan] small { font-size: 11px; }
  .worry { padding: 18px; border-radius: 20px; display: grid; grid-template-columns: 76px minmax(0, 1fr); column-gap: 14px; align-items: start; }
  .worry .tile { grid-row: span 2; aspect-ratio: 1 / 1; border-radius: 14px; }
  .worry .q { margin-top: 0; font-size: 16.5px; }
  .worry .a { margin-top: 10px; padding-top: 10px; font-size: 14px; grid-column: 2; }
  .plus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: none; }
  .plus-grid .who-card { padding: 18px 16px; border-radius: 18px; }
  .plus-grid .who-card h3 { font-size: 16.5px; }
  .plus-grid .who-card p { font-size: 13px; margin-top: 8px; }
  .plus-grid .who-card .lab { font-size: 12px; }
  .start-grid li { padding: 20px; border-radius: 20px; }
  .start-grid b { font-size: 17px; }
}
/* ── 시안 2: 배경 없는 리트몬 그림 ── */
.tile, .tile[src*='/ch-'], .tile[src*='/ac-'] { border-radius: 0; object-fit: contain; object-position: left bottom; }
.kind-copy .tile, .grow-copy .tile { width: 150px; height: 124px; }
.grow-copy .tile { margin-bottom: 20px; }
.kind-copy .lab { margin-top: 18px; }
.sheets-lead .tile { width: 100%; height: 210px; aspect-ratio: auto; object-position: center bottom; }
.final img.tile { width: 190px; height: 150px; object-position: center bottom; margin-bottom: 22px; }
.worry .tile { width: 100%; height: 170px; aspect-ratio: auto; border-radius: 0; object-position: center bottom; }
.price-list li { position: relative; padding-left: 24px; display: block; }
.price-list li svg { display: none; }
.price-list li::before { content: ''; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; border-radius: 50%; background: var(--lime-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.6 8.2l2.3 2.3 4.5-4.8' fill='none' stroke='%234f7309' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; }
@media (max-width: 1023px) {
  .sheets-lead .tile { width: 150px; height: 120px; flex: none; }
}
@media (max-width: 639px) {
  .kind-copy .tile, .grow-copy .tile { width: 110px; height: 90px; border-radius: 0; }
  .sheets-lead .tile { width: 104px; height: 88px; border-radius: 0; }
  .final img.tile { width: 150px; height: 120px; }
  .worry .tile { width: 76px; height: 76px; border-radius: 0; object-position: center; }
}
/* ── 시안 2: 바닥글 서비스 링크 ── */
.foot-svc { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; color: var(--muted); }
.foot-svc a:hover { color: var(--ink); }
.kicker { display: block; margin-bottom: 10px; font-size: 13.5px; font-weight: 500; color: var(--lime-text); }

/* ── 하위 페이지(요금·FAQ·약관·처리방침)와 공통 ── */
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 8px 12px; border-radius: 8px; background: #fff; }
.skip:focus { left: 8px; }
.sub-main > .sec:first-child { padding-top: 88px; }
.legal { padding: 64px 0 104px; }
.legal-body { max-width: 760px; margin: 0 auto; font-size: 15px; line-height: 1.75; color: var(--text); word-break: keep-all; overflow-wrap: break-word; }
.legal-body h1 { font-size: 34px; line-height: 1.3; font-weight: 500; color: var(--ink); }
.legal-switch { margin-bottom: 12px; font-size: 14px; }
.legal-switch a { color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.legal-body h2 { margin: 44px 0 10px; font-size: 20px; line-height: 1.45; font-weight: 600; color: var(--ink); scroll-margin-top: calc(var(--head-h) + 16px); }
.legal-body h3 { margin: 26px 0 8px; font-size: 16.5px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.legal-body p { margin: 10px 0; }
.legal-body ol, .legal-body ul { margin: 10px 0; padding-left: 22px; }
.legal-body ol { list-style: decimal; }
.legal-body ul { list-style: disc; }
.legal-body li::marker { color: var(--muted); }
.legal-body li { margin: 6px 0; }
.legal-body li > ul { margin: 6px 0 0; }
.legal-toc { margin: 28px 0 8px; padding: 20px 24px; border-radius: 20px; background: var(--fill); }
.legal-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; font-size: 14px; }
.legal-toc li { margin: 3px 0; break-inside: avoid; }
.legal-toc a:hover { color: var(--ink); text-decoration: underline; }
.legal-table { margin: 14px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.legal-table table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; }
.legal-table th, .legal-table td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { background: var(--fill); font-weight: 600; color: var(--ink); }
@media (max-width: 639px) {
  .sub-main > .sec:first-child { padding-top: 56px; }
  .legal { padding: 40px 0 72px; }
  .legal-body h1 { font-size: 26px; }
  .legal-toc { padding: 16px 18px; border-radius: 16px; }
  .legal-toc ol { columns: 1; }
}
/* ── 떠 있는 카카오톡 버튼·모바일 메뉴 ── */
.kakao svg { width: 20px; height: 20px; }
.kakao-float { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px 0 14px; border-radius: 999px; background: #fee500; color: #191600; font-size: 14px; font-weight: 600; box-shadow: 0 12px 28px -12px rgba(22,24,29,.45), 0 2px 6px rgba(22,24,29,.08); transition: transform .15s; }
.kakao-float svg { width: 22px; height: 22px; }
.kakao-float:hover { transform: translateY(-2px); }
.m-menu { display: none; position: relative; }
.m-menu summary { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; cursor: pointer; list-style: none; color: var(--ink); }
.m-menu summary::-webkit-details-marker { display: none; }
.m-menu summary svg { width: 22px; height: 22px; }
.m-menu nav { position: absolute; right: 0; top: 46px; z-index: 30; min-width: 200px; padding: 8px; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 44px -20px rgba(22,24,29,.35); display: grid; }
.m-menu nav a { padding: 11px 14px; border-radius: 10px; font-size: 15px; color: var(--ink); }
.m-menu nav a:hover { background: var(--fill); }
.m-menu hr { margin: 6px 8px; border: 0; border-top: 1px solid var(--line-soft); }
@media (max-width: 639px) {
  .m-menu { display: block; }
  .header-actions { gap: 6px; }
  .kakao-float { right: 14px; bottom: 14px; height: 46px; padding: 0 12px; }
  .kakao-float span { display: none; }
}
/* ══ 모바일 전용 구성(2026-11-06) — PC를 줄인 모양이 아니라 작은 화면에서 한눈에 보이게: 꼬리표 + 짧고 굵은 제목, 작은 칸 격자, 요점만 ══ */
.pt, .m-lead, .m-keys, .m-facts, .faq-more { display: none; }
.nw { white-space: nowrap; }
@media (max-width: 639px) {
  /* 공통: 간격과 제목 */
  .sec { padding: 52px 0; }
  .sec[style*="padding-top: 0"] { padding-top: 0 !important; }
  .sec-head { margin-bottom: 22px; }
  .sec-head h2, .flow h2, .grow h2, .contact h2 { font-size: 24px; line-height: 1.32; font-weight: 600; letter-spacing: -.045em; }
  .sec-head p { margin-top: 10px; font-size: 14px; line-height: 1.6; }
  .pt, .grow .kicker { display: inline-flex; align-items: center; height: 26px; margin: 0 0 12px; padding: 0 12px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 0; }
  .ui { padding: 14px; border-radius: 14px; }
  .chip { height: 22px; padding: 0 8px; font-size: 11.5px; }

  /* 히어로 */
  .hero { padding: 0 8px; }
  .hero-panel { border-radius: 22px; padding: 36px 14px 0; }
  .eyebrow { font-size: 12.5px; }
  .hero h1 { margin-top: 10px; font-size: 33px; line-height: 1.18; font-weight: 600; }
  .hero .lead { display: none; }
  .hero .lead.m-lead { display: block; margin-top: 12px; font-size: 14.5px; line-height: 1.55; color: var(--text); }
  .hero-cta { margin-top: 20px; }
  .hero-cta .btn { height: 48px; max-width: none; font-size: 15px; }
  .hero .note { margin-top: 10px; }
  .m-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
  .m-keys li { padding: 12px 4px 11px; border-radius: 14px; background: rgba(255,255,255,.78); border: 1px solid rgba(22,24,29,.06); display: grid; justify-items: center; gap: 2px; }
  .m-keys i { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 4px; border-radius: 50%; background: var(--lime-soft); color: var(--lime-text); }
  .m-keys svg { width: 18px; height: 18px; }
  .m-keys b { font-size: 12.5px; font-weight: 600; letter-spacing: -.03em; line-height: 1.3; }
  .m-keys span { font-size: 11px; color: var(--muted); }
  .trio { margin-top: 70px; }
  .trio .main { padding-bottom: 18px; }
  .trio .main .fix + .fix { display: none; }
  .trio .tbl > div:nth-child(n+5) { display: none; }
  .say { left: 8px; top: -52px; gap: 8px; }
  .say img { width: 60px; }
  .bubble { margin-bottom: 14px; padding: 8px 12px; font-size: 12.5px; }
  .ui-top { padding-bottom: 10px; }
  .ui-top b { font-size: 13.5px; }
  .ui-top span { font-size: 11.5px; }
  .good { padding: 10px 0; font-size: 12.5px; }
  .fix { padding-top: 10px; }
  .fix .was, .fix .now { font-size: 13.5px; }
  .fix .why { font-size: 12.5px; margin-top: 5px; }

  /* 글이 모이는 그림 */
  .flow { gap: 20px; }
  .flow p { display: none; }
  .flow-m { gap: 6px; }
  .flow-m ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; width: 100%; }
  .flow-m li { justify-content: center; height: 36px; padding: 0 4px; border-radius: 10px; font-size: 12.5px; letter-spacing: -.03em; }
  .flow-m ul:first-child li:nth-child(n+4) { grid-column: span 1; }
  .flow-m .mid { gap: 2px; }
  .flow-m .mid img { width: 52px; }
  .flow-m .mid::before, .flow-m .mid::after { height: 12px; }
  .flow-m .outs li { height: 44px; border-radius: 12px; font-size: 13px; }

  /* 글 종류 */
  .kind-tabs { margin: 0 calc(var(--gutter) * -1) 12px; gap: 6px; }
  .kind-tabs button { height: 34px; padding: 0 13px; font-size: 13px; }
  .kind-panel { margin: 0; padding: 16px 12px 12px; border-radius: 20px; gap: 14px; }
  .kind-copy { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 0 4px; }
  .kind-copy .tile { grid-row: 1 / 3; width: 64px; height: 56px; }
  .kind-copy .lab { margin: 0; font-size: 12px; align-self: end; }
  .kind-copy h3 { margin: 2px 0 0; font-size: 18px; line-height: 1.3; font-weight: 600; align-self: start; }
  .kind-copy h3 br { display: none; }
  .kind-copy > p { grid-column: 1 / -1; margin-top: 10px; font-size: 13.5px; line-height: 1.55; color: var(--muted); }
  .kind-copy .checks { display: none; }
  .kind-panel .ui h4 { margin-top: 8px; font-size: 14.5px; }
  .help { margin-top: 10px; padding: 10px; }
  .help-tabs span { height: 24px; padding: 0 9px; font-size: 11.5px; }
  .help ol { margin-top: 8px; gap: 4px; font-size: 12.5px; }
  .rowline { padding: 9px 0; font-size: 12.5px; }
  .prompt { margin-top: 10px; padding: 10px; font-size: 12.5px; }
  .score { margin-top: 10px; }
  .score b { font-size: 26px; }
  .score span { font-size: 12.5px; }
  .tip { margin-top: 10px; padding: 9px 11px; font-size: 12.5px; }
  .modes { margin-top: 10px; }
  .modes span { height: 26px; font-size: 12px; }
  .kind-nav { margin-top: 12px; }
  .kind-nav button { width: 34px; height: 34px; }

  /* 세 단계 */
  .steps { gap: 10px; }
  .step { flex: 0 0 78%; }
  .stage { padding: 12px 12px 0; border-radius: 18px; }
  .stage .ui { padding-bottom: 16px; border-radius: 14px 14px 0 0; }
  .step-cap { padding: 12px 4px 0; }
  .step-no { font-size: 12px; }
  .step-no i { width: 20px; height: 20px; font-size: 11px; }
  .step-cap h3 { margin-top: 6px; font-size: 17px; font-weight: 600; }
  .step-cap p { margin-top: 4px; font-size: 13px; }
  .paper-top b { font-size: 13.5px; }
  .concept { margin-top: 10px; padding: 9px 10px; font-size: 12.5px; }
  .q { margin-top: 10px; font-size: 12.5px; }
  .q .mine { font-size: 11.5px; }

  /* 학습 자료: 두 칸 작은 줄 */
  .sheets { gap: 10px; }
  .sheets-lead { padding: 12px 14px; border-radius: 18px; gap: 12px; }
  .sheets-lead .tile { width: 78px; height: 64px; }
  .sheets-lead .big { font-size: 26px; }
  .sheets-lead .big small { font-size: 13px; }
  .sheets-lead p { margin-top: 2px; font-size: 12px; line-height: 1.5; }
  .sheet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; overflow: visible; }
  .sheet { flex: none; display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 10px; border-radius: 14px; }
  .mini { height: 40px; padding: 6px 5px; gap: 3px; border-radius: 6px; }
  .mini u { height: 3px; }
  .mini u:first-child { height: 4px; }
  .sheet b { margin: 0; font-size: 13px; line-height: 1.3; letter-spacing: -.03em; }
  .sheet span, .sheet em { display: none; }

  /* 성장·관리 */
  .grow { gap: 18px; }
  .grow-copy .tile { display: none; }
  .grow-copy > p { margin-top: 10px; font-size: 14px; line-height: 1.6; }
  .grow-copy .checks { display: none; }
  .m-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
  .m-facts li { padding: 12px 6px; border-radius: 14px; background: var(--fill); text-align: center; }
  .m-facts b { display: block; font-size: 17px; font-weight: 600; letter-spacing: -.04em; }
  .m-facts span { display: block; margin-top: 2px; font-size: 11.5px; color: var(--muted); letter-spacing: -.03em; }
  .grow .stage2 { padding: 10px; border-radius: 18px; }
  .tri { margin-top: 8px; padding-top: 10px; }
  .tri h5 { font-size: 11px; margin-bottom: 6px; }
  .tri ul { gap: 4px; }
  .tri .chip { font-size: 10.5px; padding: 0 6px; height: 20px; }

  /* 대상·달라지는 점·고민·도입 */
  .who-sec { margin: 0 8px; padding: 40px 0; border-radius: 22px; }
  .who-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .who-card { padding: 14px; border-radius: 16px; min-height: 0; }
  .who-card .lab { font-size: 11.5px; }
  .who-card h3 { margin-top: 6px; font-size: 15px; line-height: 1.36; font-weight: 600; }
  .who-card h3 br { display: none; }
  .who-grid .who-card p { display: none; }
  .who-card .more { padding-top: 10px; font-size: 12px; }
  .plus-grid { gap: 8px; }
  .plus-grid .who-card { padding: 14px; border-radius: 16px; }
  .plus-grid .who-card h3 { font-size: 14.5px; }
  .plus-grid .who-card p { margin-top: 6px; font-size: 12px; line-height: 1.5; }
  .worry-grid { gap: 8px; }
  .worry { padding: 14px; border-radius: 16px; grid-template-columns: 60px minmax(0, 1fr); column-gap: 12px; }
  .worry .tile { width: 60px; height: 60px; }
  .worry .q { font-size: 15px; line-height: 1.4; font-weight: 600; }
  .worry .a { margin-top: 8px; padding-top: 8px; font-size: 12.5px; line-height: 1.55; }
  .start-grid { gap: 8px; }
  .start-grid li { padding: 14px 16px; border-radius: 16px; grid-template-columns: 26px minmax(0, 1fr); column-gap: 12px; gap: 2px 12px; align-items: start; }
  .start-grid i { grid-row: 1 / 3; width: 26px; height: 26px; margin: 2px 0 0; }
  .start-grid b { font-size: 15px; font-weight: 600; }
  .start-grid span { font-size: 12.5px; }

  /* 요금: 이름과 금액을 한 줄에 */
  .bill-row { margin: -6px 0 16px; }
  .seg button { height: 34px; padding: 0 14px; font-size: 13.5px; }
  .price-grid { gap: 8px; max-width: none; }
  .price-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 16px; border-radius: 18px; }
  .price-card .price-pop { position: static; grid-row: 1; grid-column: 1 / -1; justify-self: start; height: 22px; margin-bottom: 8px; font-size: 11.5px; }
  .price-name { grid-row: 2; grid-column: 1; font-size: 17px; }
  .price-desc { grid-row: 3; grid-column: 1; margin-top: 2px; font-size: 12.5px; line-height: 1.45; }
  .price-amount { grid-row: 2 / 4; grid-column: 2; margin: 0; align-self: center; flex-wrap: wrap; justify-content: flex-end; max-width: 150px; }
  .price-amount b { font-size: 24px; }
  .price-amount small { font-size: 12px; }
  .price-link { flex-basis: 100%; text-align: right; font-size: 12.5px; padding: 2px 0 0; }
  .price-year, .price-sub { grid-row: 4; grid-column: 1 / -1; margin-top: 8px; font-size: 12px; }
  .price-spec { grid-row: 5; grid-column: 1 / -1; margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; border: 0; }
  .price-spec > div { display: grid; gap: 1px; padding: 9px 10px; border: 0; border-radius: 10px; background: var(--fill); }
  .price-spec span { font-size: 11.5px; }
  .price-spec b { font-size: 14px; }
  .price-card .price-list { display: none; }
  .price-card .btn { grid-row: 7; grid-column: 1 / -1; margin-top: 12px; height: 42px; font-size: 14.5px; }
  .price-common { margin-top: 14px; font-size: 12.5px; line-height: 1.6; }
  a.price-cta { height: 46px; margin-top: 12px; }
  .price-foot { margin-top: 16px; }

  /* 자주 묻는 질문 */
  .faq summary { padding: 15px 2px; font-size: 14.5px; line-height: 1.45; }
  .faq details p { padding-bottom: 16px; font-size: 13.5px; line-height: 1.65; }
  .faq:not(.all) details:nth-of-type(n+7) { display: none; }
  .faq-more { display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; margin-top: 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 14px; font-weight: 500; color: var(--ink); cursor: pointer; }
  .sub-main > #faq:first-child .faq details { display: block; }
  .sub-main > #faq:first-child .faq-more { display: none; }

  /* 문의·마지막·바닥글 */
  .contact { gap: 18px; }
  .contact .sub { margin-top: 8px; font-size: 14px; }
  .kakao { margin-top: 16px; height: 44px; font-size: 14px; }
  .mails { margin-top: 12px; font-size: 12.5px; line-height: 1.8; }
  .form { padding: 16px; border-radius: 18px; gap: 12px; }
  .form label { font-size: 13px; gap: 5px; }
  .form input, .form textarea { padding: 11px 12px; font-size: 14.5px; border-radius: 10px; }
  .form textarea { min-height: 92px; }
  .form .btn { height: 46px; }
  .final { padding: 48px 0 56px; }
  .final img.tile { width: 110px; height: 88px; margin-bottom: 14px; }
  .final h2 { font-size: 25px; font-weight: 600; }
  .final p { margin-top: 8px; font-size: 14px; }
  .final .hero-cta { margin-top: 18px; gap: 8px; }
  .site-footer { padding: 28px 0 84px; }
  .foot-links { font-size: 13px; gap: 6px 16px; }
  .foot-svc { margin-top: 16px; font-size: 12px; gap: 4px 12px; }
  .biz { margin-top: 18px; padding-top: 16px; font-size: 11.5px; }
  .legal-body { font-size: 14px; }
}
/* ── 머리글: 개인용·학원용이 같은 크기로 보이게 ── */
.header-in > a { flex: none; }
.logo-svg { flex: none; aspect-ratio: 4206.5 / 1566; }
.cta-s { display: none; }
@media (max-width: 639px) {
  .logo-svg { height: 26px; width: 70px; }
  .cta-l { display: none; }
  .cta-s { display: inline; }
  .header-actions .btn-sm { width: 84px; height: 34px; padding: 0; font-size: 13px; }
  .seg a { height: 28px; padding: 0 10px; font-size: 12.5px; }
}
/* ── 숫자 띠와 297개 개념 지도 ── */
.proof { padding: 28px 0 0; }
.proof ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.proof li { padding: 18px 8px; text-align: center; border-left: 1px solid var(--line-soft); }
.proof li:first-child { border-left: 0; }
.proof b { display: block; font-size: 30px; font-weight: 500; letter-spacing: -.04em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.proof span { display: block; margin-top: 4px; font-size: 14px; color: var(--muted); }
.cmp { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px !important; font-size: 15px !important; }
.cmp span { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 999px; white-space: nowrap; }
.cmp .old { background: var(--fill); color: #9aa0a9; text-decoration: line-through; }
.cmp .new { background: var(--lime-soft); color: var(--lime-text); font-weight: 600; }
.cmp .arrow { width: 18px; height: auto; padding: 0; border-radius: 0; }
.cmp .arrow::before { content: ''; width: 8px; height: 8px; border-top: 1.5px solid var(--muted); border-right: 1.5px solid var(--muted); transform: rotate(45deg); }
.cmap { margin-bottom: 14px; }
.dots { display: grid; grid-template-columns: repeat(27, minmax(0, 1fr)); gap: 4px; margin-top: 14px; }
.dots i { aspect-ratio: 1 / 1; border-radius: 50%; background: #e6e9ed; }
.dots i.s { background: #a6d82e; }
.dots i.w { background: #f0a23b; }
.dots i.g { background: var(--ink); }
.legend { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line-soft); display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; color: var(--muted); }
.legend li { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.legend li::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: #e6e9ed; }
.legend li.s::before { background: #a6d82e; }
.legend li.w::before { background: #f0a23b; }
.legend li.g::before { background: var(--ink); }
.legend b { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
@media (max-width: 639px) {
  .proof { padding: 14px 0 0; }
  .proof ul { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 8px; }
  .proof li { padding: 10px 2px; }
  .proof b { font-size: 19px; font-weight: 600; }
  .proof span { margin-top: 2px; font-size: 10.5px; letter-spacing: -.04em; line-height: 1.35; }
  .cmp { gap: 6px; margin-top: 12px !important; font-size: 13px !important; }
  .cmp span { height: 32px; padding: 0 12px; }
  .cmp .arrow { width: 12px; padding: 0; }
  .cmap { margin-bottom: 8px; }
  .dots { gap: 3px; margin-top: 10px; }
  .legend { margin-top: 10px; padding-top: 10px; gap: 4px 12px; font-size: 11.5px; }
  .m-facts { display: none; }
}
/* ── 개념 지도: 갈래 탭과 펼친 묶음 ── */
.ctabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 14px; }
.ctabs button { display: grid; justify-items: center; gap: 1px; padding: 11px 4px; border-radius: 12px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 14px; font-weight: 500; color: var(--text); cursor: pointer; }
.ctabs button small { font-size: 12px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }
.ctabs button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.ctabs button.on small { color: rgba(255,255,255,.7); }
.cpanel { display: none; margin-top: 16px; }
.cpanel.on { display: block; }
.cpath { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 14px !important; color: var(--muted) !important; margin: 0 !important; }
.cpath span { display: inline-flex; align-items: center; gap: 6px; }
.cpath span::after { content: ''; width: 6px; height: 6px; border-top: 1.5px solid #b3b8c0; border-right: 1.5px solid #b3b8c0; transform: rotate(45deg); margin-right: 2px; }
.cpath span:nth-of-type(2) { color: var(--ink); font-weight: 600; }
.cpath b { font-weight: 600; color: var(--lime-text); }
.cchips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.cchips li { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px; border-radius: 999px; background: #f1f3f5; font-size: 13px; color: var(--muted); white-space: nowrap; }
.cchips li::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #cfd4da; }
.cchips li.s { background: var(--lime-soft); color: var(--lime-text); }
.cchips li.s::before { background: #a6d82e; }
.cchips li.w { background: var(--orange-soft); color: var(--orange); }
.cchips li.w::before { background: #f0a23b; }
.cchips li.g { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.cchips li.g::before { background: var(--ink); }
.cmore-h { margin: 16px 0 0 !important; padding-top: 14px; border-top: 1px solid var(--line-soft); font-size: 12.5px !important; color: var(--muted) !important; }
.cmore { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 13px; color: var(--text); }
.cmore li { white-space: nowrap; }
.cmore b { font-weight: 500; color: var(--muted); font-variant-numeric: tabular-nums; }
.cmore .etc { color: var(--muted); }
.cmp { gap: 8px; }
@media (max-width: 639px) {
  .ctabs { gap: 5px; margin-top: 10px; }
  .ctabs button { padding: 9px 2px; font-size: 13px; border-radius: 10px; }
  .ctabs button small { font-size: 11px; }
  .cpanel { margin-top: 12px; }
  .cpath { font-size: 12.5px !important; }
  .cchips { gap: 5px; margin-top: 10px; }
  .cchips li { height: 26px; padding: 0 9px; font-size: 12px; gap: 5px; }
  .cchips li::before { width: 6px; height: 6px; }
  .cmore-h { margin-top: 12px !important; padding-top: 10px; font-size: 11.5px !important; }
  .cmore { font-size: 12px; gap: 3px 10px; }
  .cmp { gap: 4px; }
  .cmp span { height: 28px; padding: 0 9px; font-size: 12px; }
  .cmp .arrow { width: 10px; padding: 0; }
}
