@charset "UTF-8";
/* fonts.css */
/* BEGIN generated by scripts/build-fonts.py */
/* MaruBuri SemiBold (c) NAVER Corp. (c) NAVER Cultural Foundation. HV Sans: renamed subset of Pretendard Variable 1.3.9 (c) Kil Hyung-jin, SIL OFL 1.1, licence in assets/fonts/hv-sans/OFL.txt */
@font-face{font-family:'MaruBuriSemiBold';font-style:normal;font-weight:600;src:url("../fonts/maruburi/maruburi-semibold-rest.3f2993645c.woff2") format('woff2');font-display:swap;unicode-range:U+A1-A9, U+AB-B6, U+B8-B9, U+BB-113, U+116-11C, U+11E-123, U+126-127, U+12A-12B, U+12E-131, U+136-148, U+14A-14D, U+150-15B, U+15E-167, U+16A-16B, U+16E-17E, U+192, U+1FC-1FF, U+218-21B, U+237, U+2C6-2C7, U+2D0, U+2D8-2DD, U+300-304, U+306-308, U+30A-30C, U+312, U+326-328, U+335-338, U+3BC, U+3C0, U+1E80-1E85, U+1E9E, U+1EF2-1EF3, U+2000-200A, U+2010-2011, U+201A, U+201E, U+2020-2022, U+2025, U+2030, U+2032-2033, U+2039-203A, U+2044, U+2070, U+2074-2079, U+2080-2089, U+20A9, U+20AC, U+2103, U+2109, U+2113, U+2116, U+2121-2122, U+2126, U+2163-2169, U+2170-2179, U+2194-2196, U+2198-2199, U+2200, U+2202-2203, U+2206-2208, U+220B, U+220F, U+2211-2212, U+221A, U+221D-221E, U+2220, U+2225, U+2227-222C, U+222E, U+2234-2236, U+223C-223D, U+2248, U+2252, U+2260-2261, U+2264-2265, U+226A-226B, U+2282-2283, U+2286-2287, U+2299, U+22A5, U+2312, U+2329-232A, U+2460-24F4, U+24FF-2503, U+250C-254B, U+2592, U+25A0-25AB, U+25B2-25B3, U+25B6-25B7, U+25BC-25BD, U+25C0-25C1, U+25C6-25CB, U+25CE-25D1, U+25E6, U+25EF, U+2605-2606, U+260E-2611, U+261C-261F, U+2640, U+2642, U+2660-2661, U+2663-2665, U+2667-266A, U+266C-266D, U+2713, U+2776-277F, U+29BF, U+2E3A-2E3B, U+3000, U+3010-3011, U+3013-301C, U+3131-3163, U+3200-321E, U+3251-327F, U+32B1-32BF, U+3380-3384, U+3388-33CA, U+33CF-33D0, U+33D3, U+33D6, U+33D8, U+33DB-33DD, U+AC02-AC03, U+AC05-AC07, U+AC09-AC0F, U+AC13-AC14, U+AC16-AC18, U+AC1B, U+AC1E-AC30, U+AC32-AC6F, U+AC72-AC73, U+AC75-AC7F, U+AC81-AC82, U+AC84-AC8B, U+AC8D-ACA7, U+ACAA-ACAB, U+ACAD-ACAF, U+ACB1-ACBC, U+ACBE-ACC3, U+ACC5-ACDF, U+ACE1-ACE7, U+ACE9-ACF2, U+ACF4, U+ACF6-ACFB, U+ACFD-ACFF, U+AD01-AD4F, U+AD51-AD6B, U+AD6E-AD73, U+AD75-AD8B, U+AD8D-ADDB, U+ADDD-ADF7, U+ADFA-ADFB, U+ADFD-ADFF, U+AE01-AE07, U+AE0A-AE2F, U+AE31-AE37, U+AE39-AE3F, U+AE41-AE49, U+AE4B, U+AE4D-AED7, U+AED9-AFB7, U+AFB9-AFBB, U+AFBD-AFBF, U+AFC1-AFC8, U+AFCA-B00F, U+B011-B013, U+B015-B043, U+B045-B097, U+B099-B09B, U+B09D-B09F, U+B0A1-B0A7, U+B0AA-B0AC, U+B0AE-B0B3, U+B0B5-B0B7, U+B0B9-B0C4, U+B0C6-B107, U+B109-B10F, U+B111-B112, U+B114-B122, U+B125-B143, U+B145-B14F, U+B151-B177, U+B17A-B17B, U+B17D-B203, U+B205-B207, U+B209-B214, U+B216-B21F, U+B221-B273, U+B275-B293, U+B295-B297, U+B299-B2A4, U+B2A7-B2C7, U+B2C9-B2DC, U+B2DE-B2E3, U+B2E5-B2E7, U+B2E9-B2EB, U+B2ED-B2F3, U+B2F6-B2F8, U+B2FA-B2FF, U+B301-B353, U+B355-B36F, U+B371-B377, U+B379-B3C3, U+B3C6-B3C7, U+B3C9-B3CB, U+B3CD-B3D8, U+B3DA-B417, U+B419-B41B, U+B41D-B41F, U+B421-B428, U+B42A-B4A3, U+B4A5-B4C7, U+B4C9-B4DB, U+B4DE-B4DF, U+B4E1-B4E2, U+B4E5-B4EB, U+B4EE-B4F0, U+B4F2-B513, U+B515-B528, U+B52A-B52F, U+B531-B54B, U+B54D-B5A3, U+B5A5-B5BA, U+B5BC-B77B, U+B77E-B77F, U+B781-B78B, U+B78D-B797, U+B799-B79B, U+B79D-B7A7, U+B7A9-B7AA, U+B7AC-B7B4, U+B7B6-B7C8, U+B7CA-B7EB, U+B7ED-B7EF, U+B7F1-B7FB, U+B7FD-B806, U+B809-B80B, U+B80D-B823, U+B826-B827, U+B829-B82B, U+B82D-B83F, U+B841-B85B, U+B85E-B85F, U+B861-B86B, U+B86D-B8AF, U+B8B1-B8CB, U+B8CD-B8E7, U+B8E9-B8F8, U+B8FA-B957, U+B959-B95F, U+B961-B973, U+B975-B977, U+B979-B97B, U+B97D-B983, U+B986-B9AB, U+B9AD-B9BC, U+B9BE-B9C0, U+B9C2-B9C7, U+B9CA-B9CB, U+B9CD-B9CF, U+B9D1-B9DC, U+B9DF-B9E0, U+B9E2-B9E3, U+B9E6-BA3B, U+BA3D-BA53, U+BA55-BA57, U+BA59-BA6F, U+BA71-BA73, U+BA75-BA84, U+BA86-BAA7, U+BAAA-BB33, U+BB37, U+BB39-BB3A, U+BB3D-BBA3, U+BBA5-BBF7, U+BBF9-BBFB, U+BBFD-BC0E, U+BC10-BC13, U+BC17, U+BC19-BC1B, U+BC1D-BC28, U+BC2A-BC2F, U+BC32-BC37, U+BC39-BC83, U+BC85-BC87, U+BC89-BC8B, U+BC8D-BC93, U+BC96-BCBF, U+BCC1-BCC3, U+BCC5-BCF3, U+BCF6-BCF7, U+BCF9-BCFB, U+BCFD-BD04, U+BD06-BD08, U+BD0A-BD0F, U+BD11-BD7F, U+BD82-BD83, U+BD85-BD87, U+BD89-BDEF, U+BDF1-BE0B, U+BE0D-BE43, U+BE45-BE47, U+BE49-BE5F, U+BE61-C0AB, U+C0AD-C0AF, U+C0B1-C0B3, U+C0B5-C0BB, U+C0BD-C0C0, U+C0C2-C0C7, U+C0C9-C0DC, U+C0DE-C11B, U+C11F, U+C121-C123, U+C125-C12C, U+C12E, U+C130, U+C132-C137, U+C139-C13B, U+C13D-C13F, U+C141-C148, U+C14A, U+C14C-C153, U+C155-C157, U+C159-C18B, U+C18E-C18F, U+C191-C1A0, U+C1A2-C20C, U+C20E-C217, U+C219-C21B, U+C21D-C21F, U+C221-C22A, U+C22C-C26B, U+C26D-C27C, U+C27E-C2A3, U+C2A5-C2AB, U+C2AD-C2B4, U+C2B6-C2B8, U+C2BA-C2DB, U+C2DE-C2DF, U+C2E1-C2E3, U+C2E5-C2EB, U+C2EE-C2F0, U+C2F2-C4EF, U+C4F1-C4F7, U+C4F9-C527, U+C529-C543, U+C546-C547, U+C549, U+C54B, U+C54D-C557, U+C559-C55F, U+C562-C57B, U+C57E-C590, U+C592-C5B3, U+C5B5-C5B7, U+C5B9-C5BA, U+C5BC-C5C4, U+C5C9-C5CF, U+C5D2-C5EB, U+C5EF, U+C5F1-C5FC, U+C5FE-C600, U+C602-C607, U+C609-C623, U+C625-C627, U+C629-C62D, U+C62F-C63F, U+C641-C643, U+C645-C677, U+C679-C693, U+C695-C6A8, U+C6AA-C6AF, U+C6B2-C6B3, U+C6B5-C6BF, U+C6C2, U+C6C4-C6CB, U+C6CD-C6CF, U+C6D1-C703, U+C705-C71F, U+C722-C723, U+C725-C727, U+C729-C734, U+C736-C73B, U+C73D-C73F, U+C741-C743, U+C745-C74B, U+C74D-C750, U+C752-C757, U+C759-C773, U+C776-C777, U+C779-C77B, U+C77E-C783, U+C786, U+C789-C78F, U+C792-C7A4, U+C7A6-C7AB, U+C7AD-C7C0, U+C7C2-C7FF, U+C802-C803, U+C805-C807, U+C809-C80F, U+C812-C814, U+C816-C81B, U+C81E-C81F, U+C821-C84B, U+C84D-C86F, U+C872-C873, U+C875-C884, U+C886-C88A, U+C88C-C8FB, U+C8FD-C8FF, U+C901-C903, U+C905-C910, U+C912-C987, U+C989-C99C, U+C99E-C9BF, U+C9C2-C9C3, U+C9C5-C9C7, U+C9C9-C9D0, U+C9D2-C9D4, U+C9D6-C9DB, U+C9DD-C9EC, U+C9EE-CC27, U+CC29-CC2F, U+CC31-CC37, U+CC39-CC3C, U+CC3F-CC43, U+CC46-CC97, U+CC99-CC9B, U+CC9D-CC9F, U+CCA1-CCAA, U+CCAC, U+CCAE-CCB3, U+CCB5-CCCF, U+CCD1-CD07, U+CD09-CD2B, U+CD2D-CD5B, U+CD5D-CD93, U+CD96-CD97, U+CD99-CD9B, U+CD9D-CDA3, U+CDA6-CDA8, U+CDAA-CDAF, U+CDB1-CDCB, U+CDCD-CE1F, U+CE21-CE57, U+CE59-CE5B, U+CE5D-CE5F, U+CE61-CE67, U+CE6A-CE6C, U+CE6E-CE73, U+CE75-CEE3, U+CEE5-CEE7, U+CEE9-CEFF, U+CF01-CF53, U+CF55-CF57, U+CF59-D06B, U+D06D-D073, U+D075-D0A3, U+D0A5-D0BF, U+D0C1-D0DC, U+D0DE-D12F, U+D131-D137, U+D139-D14B, U+D14E-D14F, U+D151-D153, U+D155-D15B, U+D15D-D19F, U+D1A1-D1B4, U+D1B6-D1F3, U+D1F5-D22B, U+D22D-D29B, U+D29D-D2B7, U+D2BA-D2BF, U+D2C1-D2EF, U+D2F1-D2FF, U+D301-D304, U+D306-D30B, U+D30D-D30F, U+D311-D327, U+D329-D397, U+D399-D3B3, U+D3B5-D3B7, U+D3B9-D3C8, U+D3CA-D3EB, U+D3ED-D3F3, U+D3F5-D3FB, U+D3FD-D45B, U+D45D-D47F, U+D481-D487, U+D489-D503, U+D505-D50B, U+D50D-D53B, U+D53D-D53F, U+D541-D543, U+D545-D54C, U+D54E-D550, U+D552-D557, U+D55A-D55B, U+D55D-D55F, U+D561-D567, U+D56A-D56C, U+D56E-D573, U+D576-D587, U+D58A-D5A4, U+D5A6-D5C7, U+D5C9-D5D7, U+D5D9-D600, U+D602-D603, U+D605-D610, U+D612-D614, U+D616-D637, U+D639-D63B, U+D63D-D647, U+D649-D64C, U+D64E-D653, U+D656-D657, U+D659-D65B, U+D65D-D668, U+D66A-D68B, U+D68E-D6A7, U+D6A9-D6C3, U+D6C5-D6C7, U+D6C9-D717, U+D719-D733, U+D735-D74F, U+D751-D75F, U+D761-D76B, U+D76D-D787, U+D789-D798, U+D79A-D7A3, U+FB00-FB04, U+FE10-FE19, U+FE30-FE33, U+FE35-FE44, U+FE47-FE48, U+FF01-FF5E, U+FFA1-FFBE, U+FFC2-FFC7, U+FFCA-FFCF, U+FFD2-FFD7, U+FFDA-FFDC, U+FFE0-FFE3, U+FFE5-FFE6, U+1F100, U+1F110-1F129}
@font-face{font-family:'MaruBuriSemiBold';font-style:normal;font-weight:600;src:url("../fonts/maruburi/maruburi-semibold-core.69a30d39ae.woff2") format('woff2');font-display:swap;unicode-range:U+2160-2162, U+AC01, U+AC04, U+AC08, U+AC10-AC12, U+AC19-AC1A, U+AC1C, U+AC31, U+AC70-AC71, U+AC74, U+AC80, U+ACA8-ACA9, U+ACAC, U+ACB0, U+ACE8, U+AD74, U+ADF8-ADF9, U+ADFC, U+AE00, U+AE09, U+AE38, U+AE40, U+AE4A, U+AFB8, U+AFBC, U+AFC0, U+AFC9, U+B010, U+B014, U+B044, U+B098, U+B09C, U+B0A0, U+B0A8-B0A9, U+B0AD, U+B0B4, U+B0B8, U+B0C5, U+B110, U+B113, U+B123-B124, U+B144, U+B150, U+B178-B179, U+B17C, U+B204, U+B208, U+B215, U+B220, U+B274, U+B298, U+B2A5-B2A6, U+B2DD, U+B2E8, U+B2EC, U+B2F4-B2F5, U+B2F9, U+B370, U+B378, U+B3C4-B3C5, U+B3C8, U+B3CC, U+B3D9, U+B41C, U+B420, U+B429, U+B4A4, U+B4C8, U+B4DD, U+B4E3-B4E4, U+B4EC-B4ED, U+B4F1, U+B529, U+B530, U+B5A4, U+B77C-B77D, U+B780, U+B78C, U+B79C, U+B7A8, U+B7B5, U+B7C9, U+B7EC, U+B7F0, U+B7FC, U+B808, U+B80C, U+B828, U+B82C, U+B840, U+B85D, U+B860, U+B86C, U+B8CC, U+B8E8, U+B8F9, U+B960, U+B974, U+B978, U+B984-B985, U+B9BD, U+B9C1, U+B9C9, U+B9D0, U+B9DD, U+B9E4-B9E5, U+BA54, U+BA58, U+BA70, U+BA74, U+BA85, U+BAA8-BAA9, U+BB35-BB36, U+BB3B-BB3C, U+BBA4, U+BBF8, U+BBFC, U+BC0F, U+BC14-BC16, U+BC18, U+BC1C, U+BC30-BC31, U+BC84, U+BC88, U+BC8C, U+BC94-BC95, U+BCC0, U+BCC4, U+BCF4-BCF5, U+BCF8, U+BCFC, U+BD05, U+BD09, U+BD10, U+BD80-BD81, U+BD84, U+BD88, U+BE0C, U+BE48, U+BE60, U+C0B4, U+C0BC, U+C0C8, U+C11C-C11E, U+C120, U+C12D, U+C12F, U+C138, U+C13C, U+C140, U+C149, U+C14B, U+C154, U+C158, U+C18C-C18D, U+C190, U+C20D, U+C21C, U+C220, U+C22B, U+C26C, U+C27D, U+C2AC, U+C2F1, U+C4F0, U+C4F8, U+C528, U+C545, U+C548, U+C54A, U+C558, U+C560-C561, U+C57C-C57D, U+C591, U+C5B8, U+C5BB, U+C5C6-C5C8, U+C5D1, U+C5EC-C5EE, U+C5FD, U+C608, U+C624, U+C62E, U+C644, U+C678, U+C6A9, U+C6B0-C6B1, U+C6B4, U+C6C0-C6C1, U+C6C3, U+C6CC, U+C720, U+C724, U+C728, U+C74C, U+C751, U+C77C-C77D, U+C785, U+C787-C788, U+C7C1, U+C800, U+C808, U+C810-C811, U+C81D, U+C820, U+C84C, U+C870-C871, U+C874, U+C885, U+C88B, U+C904, U+C911, U+C988, U+C9C8, U+C9D1, U+C9D5, U+C9DC, U+C9ED, U+CC28, U+CC30, U+CC38, U+CC3D, U+CC44, U+CC98, U+CC9C, U+CCA0, U+CCAB, U+CCAD, U+CCB4, U+CCD0, U+CD08, U+CD2C, U+CD5C, U+CD94-CD95, U+CD98, U+CDA4-CDA5, U+CDA9, U+CDB0, U+CDCC, U+CE58, U+CE5C, U+CE60, U+CE68-CE69, U+CE6D, U+CE74, U+CEE4, U+CEE8, U+CF00, U+CF54, U+D06C, U+D0A4, U+D0C0, U+D0DD, U+D14C-D14D, U+D154, U+D1A0, U+D1B5, U+D1F4, U+D29C, U+D2B9, U+D2C0, U+D2F0, U+D305, U+D30C, U+D328, U+D398, U+D3B4, U+D3B8, U+D3C9, U+D3EC, U+D3F4, U+D480, U+D488, U+D504, U+D53C, U+D540, U+D544, U+D54D, U+D551, U+D56D, U+D575, U+D588-D589, U+D5A5, U+D5C8, U+D5D8, U+D611, U+D638, U+D63C, U+D648, U+D64D, U+D655, U+D658, U+D65C, U+D669, U+D68D, U+D6A8, U+D6C4, U+D6C8, U+D750, U+D760, U+D76C, U+D788, U+D799}
@font-face{font-family:'MaruBuriSemiBold';font-style:normal;font-weight:600;src:url("../fonts/maruburi/maruburi-semibold-home.a637e78b12.woff2") format('woff2');font-display:swap;unicode-range:U+20-7E, U+A0, U+B7, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+203B, U+2190-2193, U+2197, U+3001-3002, U+3008-300F, U+AC00, U+AC15, U+AC1D, U+AC83, U+AC8C, U+ACBD, U+ACC4, U+ACE0, U+ACF3, U+ACF5, U+ACFC, U+AD00, U+AD50, U+AD6C-AD6D, U+AD8C, U+ADDC, U+AE08, U+AE30, U+AE4C, U+AED8, U+B108, U+B294, U+B2C8, U+B2E4, U+B300, U+B354, U+B418, U+B4DC, U+B4E0, U+B514, U+B54C, U+B5BB, U+B798, U+B7AB, U+B807, U+B824-B825, U+B85C, U+B8B0, U+B958, U+B97C, U+B9AC, U+B9C8, U+B9CC, U+B9DE, U+B9E1, U+BA3C, U+BB34, U+BB38, U+BC29, U+BC38, U+BDF0, U+BE44, U+C0AC, U+C0B0, U+C0C1, U+C0DD, U+C124, U+C131, U+C1A1, U+C218, U+C2A4, U+C2B5, U+C2B9, U+C2DC-C2DD, U+C2E0, U+C2E4, U+C2EC-C2ED, U+C544, U+C54C, U+C5B4, U+C5C5, U+C5D0, U+C5F0, U+C601, U+C628, U+C640, U+C694, U+C6D0, U+C704, U+C721, U+C735, U+C73C, U+C740, U+C744, U+C758, U+C774-C775, U+C778, U+C784, U+C790-C791, U+C7A5, U+C7AC, U+C801, U+C804, U+C815, U+C81C, U+C8FC, U+C900, U+C99D, U+C9C0-C9C1, U+C9C4, U+CC3E, U+CC45, U+CD9C, U+CE20, U+CF58, U+D074, U+D130, U+D138, U+D150, U+D15C, U+D22C, U+D2B8, U+D300, U+D310, U+D3FC, U+D45C, U+D50C, U+D558-D559, U+D55C, U+D560, U+D568-D569, U+D574, U+D601, U+D604, U+D615, U+D654, U+D68C, U+D718, U+D734}
@font-face{font-family:'HV Sans';font-style:normal;font-weight:45 920;src:url("../fonts/hv-sans/hv-sans-core.12622115fc.woff2") format('woff2-variations');font-display:swap;unicode-range:U+2160-2163, U+2194, U+30FB, U+AC08, U+AC10-AC12, U+AC14, U+AC16, U+AC1A, U+AC24, U+AC31, U+AC71, U+AC74, U+AC78, U+ACA0, U+ACA8-ACAA, U+ACAC, U+ACB8-ACB9, U+ACBC, U+ACC1, U+ACE7-ACE8, U+AD04, U+AD70, U+AD74, U+AD81, U+ADE0, U+ADF9, U+ADFC, U+AE09, U+AE0B, U+AE34, U+AE40-AE41, U+AE4A, U+AE5D, U+AEBC, U+AF2D, U+AF34, U+AFB8, U+AFBC, U+AFC0, U+AFC8-AFC9, U+AFD4, U+AFE8, U+B00C, U+B010, U+B014, U+B044, U+B04A, U+B05D, U+B07C, U+B0A0, U+B0A9, U+B0AB-B0AF, U+B0B3, U+B0B8, U+B0BC, U+B0E5, U+B10C, U+B113, U+B123-B124, U+B137, U+B150, U+B17C, U+B18D, U+B192-B193, U+B20C, U+B214-B215, U+B260, U+B298, U+B2A6, U+B2CC, U+B2D0, U+B2D9, U+B2DD, U+B2EB, U+B2EE, U+B2F5, U+B2F9, U+B313, U+B355, U+B358, U+B35C, U+B367, U+B374, U+B378, U+B3C8, U+B3CC, U+B3D5, U+B3FC, U+B410, U+B41C, U+B420, U+B428, U+B458, U+B461, U+B4A4, U+B4B7, U+B4C8, U+B4DD, U+B4E3, U+B4EC, U+B4EF, U+B527, U+B529, U+B5A4, U+B610, U+B6F0, U+B728, U+B73B, U+B77D, U+B780, U+B790, U+B7A9, U+B7B5, U+B7ED, U+B7F0, U+B7F4, U+B7FC-B7FD, U+B808, U+B828, U+B82C, U+B834-B835, U+B838-B839, U+B85D, U+B860, U+B864, U+B86C-B86D, U+B86F, U+B8E8, U+B8EC, U+B8F0, U+B904, U+B960, U+B978, U+B984-B985, U+B9B0, U+B9B4, U+B9BC-B9BD, U+B9C1, U+B9E4-B9E5, U+B9E8, U+BA38, U+BA40, U+BA48, U+BA4B, U+BA58, U+BA70, U+BA87, U+BAB0, U+BABB, U+BB35-BB36, U+BB3B, U+BBA4, U+BBC0, U+BBFC, U+BBFF-BC00, U+BC0D, U+BC0F, U+BC16, U+BC1D, U+BC84, U+BC8C, U+BC95, U+BCA8, U+BCBD, U+BCD1, U+BD05, U+BD09, U+BD10, U+BD24, U+BD81, U+BD88, U+BD99, U+BE14, U+BE45, U+BE48, U+BE4C, U+BE60, U+BE68, U+BE7C, U+BFD0, U+C05C, U+C068, U+C0AD, U+C0B6, U+C0CC, U+C11E, U+C12D, U+C12F, U+C13C, U+C149, U+C154, U+C158, U+C15C, U+C168, U+C190, U+C194, U+C19C, U+C1FC, U+C219, U+C21C, U+C220, U+C22B, U+C26C, U+C27D, U+C288, U+C2AC, U+C2B7, U+C2F1, U+C2F6, U+C30D, U+C313, U+C368, U+C378, U+C37C, U+C4F4, U+C4F8, U+C501, U+C528-C529, U+C52C, U+C554-C555, U+C558-C559, U+C560, U+C564, U+C571, U+C5B5, U+C5B8, U+C5BB-C5BC, U+C5C8, U+C5D1, U+C5EE, U+C5F4, U+C5FD, U+C600, U+C606, U+C62C, U+C62E, U+C635, U+C644, U+C65C, U+C678, U+C6B1, U+C6C0, U+C6C3, U+C6D4, U+C6E0, U+C6E8, U+C6F0, U+C6F9, U+C724, U+C728, U+C74D, U+C751, U+C787, U+C789, U+C794, U+C7A0-C7A1, U+C7A6, U+C7C1, U+C810, U+C81D, U+C820, U+C824, U+C838, U+C84C, U+C871, U+C881, U+C885, U+C88B-C88C, U+C90D, U+C918, U+C989, U+C998, U+C9D0, U+C9D3, U+C9D5, U+C9DA, U+C9DD, U+C9E7, U+C9ED, U+CABC-CABD, U+CBE4, U+CC0D, U+CC29, U+CC2C, U+CC30, U+CC54, U+CC57, U+CC59, U+CCA0, U+CCA8, U+CCAD, U+CCD0, U+CD1D, U+CD94-CD95, U+CD98, U+CDA4-CDA5, U+CDA9, U+CDC4, U+CDE8, U+CE21, U+CE59, U+CE60, U+CE68, U+CE6B, U+CE78, U+CE7C, U+CE90, U+CE98, U+CEE4, U+CEEC, U+CF00, U+CF30, U+CFE0, U+CFE8, U+D034, U+D058, U+D070, U+D07C, U+D0A4, U+D0AC, U+D0B4, U+D0C0, U+D0C8, U+D0D0, U+D0D3, U+D0D5, U+D0DC, U+D14D, U+D154, U+D1A1, U+D1F4, U+D2C0, U+D2F0, U+D314, U+D328, U+D3BC, U+D3ED, U+D3F4, U+D478, U+D480, U+D488, U+D48D, U+D53D, U+D540, U+D551, U+D575, U+D5C8, U+D5CC, U+D600, U+D614, U+D61C, U+D63C, U+D64D, U+D669, U+D69F, U+D6A8, U+D6C8, U+D6E8, U+D750, U+D754, U+D760, U+D765, U+D788, U+D790, U+D799, U+FF0C}
@font-face{font-family:'HV Sans';font-style:normal;font-weight:45 920;src:url("../fonts/hv-sans/hv-sans-home.10c8c48d85.woff2") format('woff2-variations');font-display:swap;unicode-range:U+20-7E, U+A0, U+A9, U+B7, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+203B, U+2190-2193, U+2197, U+25B6, U+266A, U+3001-3002, U+3008-300F, U+AC00-AC01, U+AC04, U+AC15, U+AC19, U+AC1C-AC1D, U+AC70, U+AC80, U+AC83, U+AC8C, U+ACB0, U+ACBD, U+ACC4, U+ACE0, U+ACF3, U+ACF5, U+ACFC, U+AD00, U+AD11, U+AD1C, U+AD50, U+AD6C-AD6D, U+AD8C, U+ADDC, U+ADF8, U+AE00, U+AE08, U+AE30, U+AE38, U+AE4C, U+AED8, U+B04C, U+B098, U+B09C, U+B0A8, U+B0B4, U+B0C5, U+B0C8, U+B0D0, U+B108, U+B110, U+B118, U+B144, U+B178-B179, U+B204, U+B208, U+B220, U+B274, U+B290, U+B294, U+B2A5, U+B2C8, U+B2E4, U+B2E8, U+B2EC, U+B2F4, U+B2FF-B300, U+B354, U+B370, U+B3C4-B3C5, U+B3D9, U+B418, U+B429, U+B450, U+B454, U+B4DC, U+B4E0, U+B4E4, U+B4ED, U+B4F1, U+B514, U+B530, U+B54C, U+B5BB, U+B77C, U+B78C, U+B798, U+B79C, U+B7A8, U+B7AB, U+B7C9, U+B7EC, U+B807, U+B80C, U+B824-B825, U+B840, U+B85C, U+B8B0, U+B8CC, U+B8F9, U+B958, U+B974, U+B97C, U+B9AC, U+B9C8-B9C9, U+B9CC, U+B9CE, U+B9D0, U+B9DD-B9DE, U+B9E1, U+BA3C, U+BA54, U+BA74, U+BA85, U+BAA8-BAA9, U+BB34, U+BB38, U+BB3C, U+BBF8, U+BC14-BC15, U+BC18, U+BC1B-BC1C, U+BC29, U+BC30-BC31, U+BC38, U+BC88, U+BC94, U+BCA0, U+BCC0, U+BCC4, U+BCF4-BCF5, U+BCF8, U+BCFC, U+BD80, U+BD84, U+BDF0, U+BE0C, U+BE44, U+C0AC, U+C0B0, U+C0B4, U+C0BC, U+C0C1, U+C0C8-C0C9, U+C0DD, U+C11C-C11D, U+C120, U+C124, U+C131, U+C138, U+C140, U+C14B, U+C18C-C18D, U+C1A1, U+C20D, U+C218, U+C232, U+C2A4, U+C2B5, U+C2B9, U+C2DC-C2DD, U+C2E0, U+C2E4, U+C2EC-C2ED, U+C4F0, U+C500, U+C544-C545, U+C548, U+C54A, U+C54C, U+C55E, U+C561, U+C57C-C57D, U+C591, U+C5B4, U+C5C5-C5C7, U+C5D0, U+C5EC-C5ED, U+C5F0, U+C601, U+C608, U+C624, U+C628, U+C640, U+C654, U+C694, U+C6A9, U+C6B0, U+C6B4, U+C6B8, U+C6C1, U+C6CC, U+C6D0, U+C704, U+C720-C721, U+C735, 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+C7AC, U+C800-C801, U+C804, U+C808, U+C811, U+C815, U+C81C, U+C870, U+C874, U+C8FC, U+C900, U+C904, U+C911, U+C988, U+C99D, U+C9C0-C9C1, U+C9C4, U+C9C8, U+C9D1, U+C9DC, U+C9F8, U+CC28, U+CC2E, U+CC38, U+CC3D-CC3E, U+CC44-CC45, U+CC98, U+CC9C, U+CCAB, U+CCB4, U+CCE4, U+CD08, U+CD2C, U+CD5C, U+CD9C, U+CDB0, U+CDCC, U+CE20, U+CE58, U+CE5C, U+CE69, U+CE6D, U+CE74, U+CEE8, U+CF1C, U+CF54, U+CF58, U+D06C, U+D074, U+D0DD, U+D130, U+D138, U+D14C, U+D150, U+D15C, U+D1A0, U+D1B5, U+D22C, U+D29C, U+D2B8-D2B9, U+D300, U+D305, U+D30C, U+D310, U+D31D, U+D398, U+D3B4, U+D3B8, U+D3C9, U+D3EC, U+D3FC, U+D45C, U+D504, U+D50C, U+D53C, U+D544, U+D54D, U+D558-D559, U+D55C, U+D560, U+D568-D569, U+D56D, U+D574, U+D588-D589, U+D5A5, U+D5D8, U+D601, U+D604, U+D611, U+D615, U+D638, U+D648, U+D654-D655, U+D658, U+D65C, U+D68C-D68D, U+D6C4, U+D718, U+D734, U+D76C, U+D78C}
/* END generated by scripts/build-fonts.py */

/* styles.css */
:root{--paper:#f7f5ef;--ink:#193d34;--text:#1d1c1a;--muted:#57534b;--line:#dcd8cd;--sage:#e4e9df;--accent:#bbcc98;--serif:'MaruBuriSemiBold','MaruBuri','Noto Serif KR',serif;--beige:#ece4d3;--sans:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7;word-break:keep-all}a{color:inherit;text-decoration:none}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8b5e13;outline-offset:6px}input:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:2px}button:disabled{cursor:default}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(40px,4.5vw,66px);line-height:1.28}h2{font-size:clamp(29px,2.8vw,42px);line-height:1.4}h3{font-size:25px;line-height:1.4}p{color:var(--muted)}.wrap{max-width:1320px;margin-inline:auto;padding-inline:56px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.12em;color:var(--ink);margin-bottom:25px}.preview-bar{height:30px;background:var(--ink);color:#eef1e7;display:flex;justify-content:center;align-items:center;gap:20px;font-size:10px;letter-spacing:.12em}.preview-bar span{opacity:.75;letter-spacing:0}.site-header{height:100px;max-width:1440px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;margin:auto;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:700;letter-spacing:.08em;line-height:1.1;color:var(--ink)}.brand-value{display:block;font-size:14px;letter-spacing:.31em;margin-top:4px}.brand-symbol{font-family:Georgia,serif;font-style:italic;font-size:46px;font-weight:400;letter-spacing:-.14em;line-height:1}.brand-symbol span{display:inline-block;transform:translateY(5px);margin-right:7px}.site-header nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:600}.site-header nav>a{position:relative;padding-block:12px}.site-header nav>a[aria-current]{border-bottom:2px solid var(--ink)}.site-header .nav-contact{border:1px solid var(--ink);padding:11px 19px;display:flex;gap:22px}.site-header a:hover{color:#628347}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:35px;padding-top:73px;padding-bottom:50px;align-items:start}.dot{display:inline-block;width:6px;height:6px;background:var(--ink);border-radius:50%;margin-right:9px;vertical-align:2px}.hero h1{font-size:clamp(40px,4.05vw,60px);line-height:1.34;letter-spacing:-.064em}.hero h1 em{font-style:normal;position:relative}.hero h1 em:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:3px;background:var(--accent)}.hero-description{margin-top:26px;font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}.button{border:1px solid var(--ink);background:var(--ink);color:white;min-height:53px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;font-weight:600;line-height:1.6;transition:background .2s,color .2s}.button:hover{background:#2e5547;color:white}.button span{font-size:21px}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:var(--sage)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:600;padding-block:8px;border-bottom:1px solid currentColor;color:var(--ink)}.text-link:hover{color:#57753d}.text-link span{font-size:20px}.hero-bottom{border-top:1px solid var(--line);margin-top:48px;padding-top:19px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}.hero-bottom span:last-child{font-size:9px;letter-spacing:.08em;padding-top:3px}.hero-visual{margin-top:5px}.image-frame{position:relative;background:var(--sage);height:469px;overflow:hidden}.image-frame>img{width:100%;height:100%;object-fit:cover;object-position:52% center;filter:brightness(.83)}.image-note{position:absolute;inset:auto 23px 22px;color:white;display:flex;justify-content:space-between;align-items:end}.image-note>span:first-child{font-size:39px;line-height:.96;letter-spacing:-.055em;font-weight:600;text-shadow:0 1px 10px #0005}.image-note>span:last-child{font-size:11px;line-height:1.6;text-align:right;background:#193d34cc;padding:10px 12px}.hero-visual figcaption{font-size:9px;margin-top:13px;display:flex;justify-content:space-between;color:var(--muted);gap:10px;letter-spacing:.025em}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-heading>p{font-size:15px;padding-bottom:7px}.section-heading .eyebrow{margin-bottom:17px}.services-section{padding-top:70px;padding-bottom:90px}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:50px 1fr 260px 24px;gap:15px;align-items:center;padding:25px 8px;border-bottom:1px solid var(--line);transition:background .2s}.service-row:hover{background:#e9ede3}.row-no{color:#7a877b;font-size:12px;align-self:start;padding-top:8px}.service-row .meta{display:none}.service-row h3{font-size:25px}.service-row p{font-size:13px;margin-top:5px}.row-tags{font-size:12px;color:var(--muted)}.service-row>span:last-child{font-size:26px;font-weight:300}.media-row{margin-top:24px;background:var(--sage);padding:25px 32px;display:flex;justify-content:space-between;align-items:center}.meta{font-size:12px;color:#5b705d}.media-row h3{font-size:21px;margin-top:7px}.media-row p{font-size:12px;margin-top:7px}.media-row>span{font-size:30px}.projects-section{background:#e8ece4;padding-block:75px 65px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 30px}.case-cover{display:flex;position:relative;min-height:305px;overflow:hidden;flex-direction:column;justify-content:space-between;padding:27px 32px}.case-cover:hover{filter:brightness(.97)}.case-paper{background:#d8ddcc;color:#294633}.case-card:nth-child(2n+1) .case-paper{background:#e1dbc9}.case-overline{font-size:10px;letter-spacing:.12em}.case-graphic{font-family:var(--serif);font-size:83px;line-height:1;letter-spacing:-.075em}.case-graphic>span{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.01em;margin-top:10px}.case-foot{display:flex;justify-content:space-between;font-size:12px;border-top:1px solid #193d3440;padding-top:13px}.case-photo{padding:0;justify-content:end}.case-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-label{position:relative;color:white;background:#193d34ce;padding:15px 25px;display:flex;justify-content:space-between;font-size:13px}.case-meta{display:flex;justify-content:space-between;font-size:11px;color:#5d6c59;margin-top:19px;margin-bottom:9px}.case-card h3{font-size:24px;line-height:1.45}.case-card>p{font-size:13px;margin-top:8px}.case-card .source-label{font-size:11px;margin-top:10px;color:#6c736a}.section-note{font-size:12px;line-height:1.7;color:#697168;margin-top:25px}.method{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:100px;padding-bottom:100px}.method>div>p:not(.eyebrow){margin-top:23px;font-size:15px}.method .text-link{margin-top:22px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:27px;border-top:1px solid var(--line);padding:25px 0}.steps li:last-child{border-bottom:1px solid var(--line)}.steps li>span{font-size:12px;color:#7b8776}.steps h3{font-size:21px}.steps p{font-size:13px;margin-top:8px}.library-feature{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:80px;padding-bottom:110px}.guide-art{display:flex;position:relative;background:var(--ink);color:#ecf0df;flex-direction:column;justify-content:space-between;min-height:340px;padding:31px 34px;overflow:hidden}.guide-art>span{font-size:11px;letter-spacing:.04em;position:relative;z-index:1}.guide-art strong{font-size:57px;line-height:1.1;font-weight:400;position:relative;z-index:1;letter-spacing:-.06em}.guide-art strong em{font-family:var(--serif);font-weight:400}.guide-art img{position:absolute;right:-30px;top:35px;width:170px;transform:rotate(9deg);box-shadow:0 10px 20px #0003}.library-feature>div>p:not(.eyebrow){font-size:15px;margin-top:20px;margin-bottom:28px}.library-feature .text-link{display:flex;width:max-content;margin-top:17px}.contact-strip{background:var(--ink);padding-block:70px 75px;color:white}.contact-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-strip h2,.contact-strip .eyebrow{color:#f4f5e9}.contact-strip p:not(.eyebrow){color:#c2cec0;font-size:14px;margin-top:20px}.contact-strip .button{min-width:235px}footer{background:#f0f1e9;padding:55px max(56px,calc((100vw - 1208px)/2)) 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:45px}.footer-brand{font-size:23px;letter-spacing:.04em;color:var(--ink);font-weight:650}.footer-brand span{display:block;font-size:12px;letter-spacing:0;margin-top:10px;font-weight:400}.footer-contact{display:flex;flex-direction:column;align-items:end;font-size:20px;color:var(--ink)}.footer-contact a:last-child{font-size:14px;margin-top:5px}.footer-bottom{border-top:1px solid var(--line);padding-top:21px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-bottom .text-link{font-size:10px;border:0;margin-right:20px;padding:0}.footer-bottom .text-link span{font-size:14px}.page-intro{padding-top:75px;padding-bottom:65px}.page-intro h1{font-size:clamp(35px,4vw,58px)}.intro-desc{font-size:17px;max-width:780px;margin-top:28px}.service-controls{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.service-controls button{border:1px solid var(--line);padding:9px 20px;background:transparent;font-size:14px;color:var(--ink)}.service-controls button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-list .service-row .meta{display:block;margin-bottom:7px}.help-note{padding-block:55px 70px}.help-note h2{font-size:25px}.help-note p{margin-top:15px}.help-note .text-link{margin-top:18px}.breadcrumb{display:flex;gap:13px;padding-top:33px;font-size:12px;color:var(--muted)}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.breadcrumb+.page-intro{padding-top:33px}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:80px;padding-bottom:60px}.detail-layout h2{font-size:26px;margin-top:40px;margin-bottom:20px}.detail-layout h2:first-of-type{margin-top:0}.detail-layout .eyebrow{margin-bottom:12px}.large-copy{font-size:22px;line-height:1.8;color:var(--ink)}.topic-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.topic-tags span{background:var(--sage);padding:5px 12px;font-size:12px}.module-list{list-style:none;padding:0;border-top:1px solid var(--line)}.module-list li{padding:21px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;font-size:15px}.module-list li>span{color:#77836b;font-size:12px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}summary{font-size:16px;font-weight:600;cursor:pointer;color:var(--ink)}details p{margin-top:18px;font-size:14px}.inquiry-aside{background:var(--sage);padding:30px;height:max-content;position:sticky;top:30px}.inquiry-aside h2{margin-top:17px;font-size:29px}.inquiry-aside p:not(.eyebrow){font-size:14px}.inquiry-aside .button{width:100%;margin-top:25px}.inquiry-aside>a:last-child{display:block;font-size:12px;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.related{padding-block:30px 80px}.related .section-heading h2{font-size:29px}.related .case-cover{min-height:240px}.related-guide{padding:35px;background:var(--sage);display:flex;flex-direction:column;justify-content:center;align-items:start}.related-guide p:not(.eyebrow){margin-top:20px}.related-guide .text-link{margin-top:25px}.project-detail{display:grid;grid-template-columns:1fr 320px;gap:70px;padding-bottom:85px}.project-facts{margin-top:35px}.project-facts>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding-block:18px;border-top:1px solid var(--line);font-size:14px}.project-facts dt{font-size:12px;color:var(--muted)}.project-facts dd{margin:0;color:var(--ink)}.project-detail aside{border-top:1px solid var(--ink);padding-top:25px}.project-detail aside h2{font-size:29px}.project-detail aside .button{margin-top:30px}.project-detail aside .text-link{margin-top:17px;display:flex;width:max-content}.guide-list{padding-bottom:60px}.guide-row{display:grid;grid-template-columns:160px 1fr 200px;gap:35px;align-items:center;border-top:1px solid var(--line);padding:40px 0}.guide-year{font-family:var(--serif);font-size:61px;line-height:1;color:var(--ink)}.guide-year span{display:block;font:9px var(--sans);letter-spacing:.08em;margin-top:16px}.guide-row h2{font-size:25px;margin:10px 0}.guide-row p{font-size:14px}.guide-row p.section-note{font-size:11px;margin-top:13px}.guide-row .button{font-size:12px;padding-inline:17px;gap:15px}.knowledge-links{padding-block:30px 80px}.knowledge-links>h2{font-size:32px}.knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px}.knowledge-grid article{border-top:1px solid var(--ink);padding-top:25px}.knowledge-grid h3{margin-block:12px}.knowledge-grid p{font-size:15px}.knowledge-grid .text-link{margin-top:15px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:65px;align-items:center}.about-story>img{width:100%;aspect-ratio:1/1;object-fit:cover}.about-story p:not(.eyebrow){margin-top:20px;font-size:15px}.about-story p.section-note{font-size:11px}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-block:35px 85px}.about-principles>div{border-top:1px solid var(--line);padding-top:25px}.about-principles span{font-size:11px;color:var(--muted)}.about-principles h2{font-size:25px;margin-block:15px}.about-principles p{font-size:14px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-bottom:85px}.contact-layout aside h2{font-size:31px}.contact-steps{padding-left:21px;color:var(--ink);font-size:15px;margin-top:28px;line-height:2}.contact-layout aside>p{font-size:14px;margin-top:24px}.direct-contact{margin-top:45px;padding-top:25px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;color:var(--ink)}.direct-contact span{font-size:12px;color:var(--muted);margin-bottom:7px}.direct-contact a:first-of-type{font-size:20px}.form-notice{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:18px 0 20px;margin-bottom:30px}.form-notice strong{font-size:15px;color:var(--ink)}.form-notice p{font-size:12px;margin-top:7px}fieldset{border:0;padding:0;margin:0 0 29px;min-width:0}legend{font-size:14px;font-weight:600;padding:0;margin-bottom:14px;color:var(--ink)}legend>span,summary>span{font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-grid label{margin:0}.choice-grid input{position:absolute;opacity:0;width:1px;height:1px}.choice-grid label span{display:flex;align-items:center;min-height:45px;border:1px solid var(--line);padding:10px 14px;font-size:12px;font-weight:400}.choice-grid input:checked+span{background:var(--ink);color:white;border-color:var(--ink)}.choice-grid input:focus-visible+span{outline:3px solid #8b5e13;outline-offset:3px}form>label,.form-grid>label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:23px}.required{font-size:10px;color:#7c652e;margin-left:6px;font-weight:400}input:not([type=radio]),textarea{display:block;width:100%;margin-top:9px;background:#fbfbf7;border:1px solid #b8c2b4;border-radius:0;padding:12px 14px;font-size:14px;font-weight:400;color:var(--text);min-height:47px}textarea{resize:vertical;line-height:1.65}.field-hint{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.optional-fields{padding:18px 0;margin-bottom:20px}.optional-fields summary{font-size:13px}.optional-fields .form-grid{margin-top:20px}.form-privacy{font-size:11px;margin-block:20px}.form-privacy a{text-decoration:underline}#form-status{font-size:13px;margin-top:12px;color:var(--ink)}#draft-result{margin-top:30px;border-top:2px solid var(--ink);padding-top:25px}#draft-result h2{font-size:25px}#draft-result>p{font-size:13px;margin-top:10px}#draft-text{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font:13px/1.8 var(--sans);background:var(--sage);padding:20px;margin-block:20px}.draft-actions{display:flex;gap:12px;flex-wrap:wrap}.draft-actions .button{font-size:12px;gap:15px}.prose{max-width:940px;padding-bottom:90px}.prose h2{font-size:25px;margin:30px 0 15px}.prose p{font-size:15px;line-height:1.9}.prose .text-link{margin-top:20px}.error-actions{display:flex;gap:30px;padding-bottom:100px}.skip{position:fixed;top:-100px;left:15px;background:var(--ink);padding:15px;color:white;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1600px){.hero h1{font-size:60px}}
@media(max-width:1100px){.wrap{padding-inline:35px}.site-header{padding-inline:35px}.site-header nav{gap:23px}.hero{gap:25px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:46px}.hero-description{font-size:15px}.hero-actions{gap:18px;flex-wrap:wrap}.image-frame{height:440px}.hero-bottom{flex-direction:column;gap:3px}.row-tags{display:none}.service-row{grid-template-columns:45px 1fr 24px}.library-feature{gap:45px}.contact-layout{gap:45px}.detail-layout{gap:35px;grid-template-columns:1fr 300px}.project-detail{gap:40px}.guide-row{grid-template-columns:135px 1fr 175px;gap:25px}.hero-visual figcaption{flex-direction:column;gap:0}}
@media(max-width:800px){.wrap{padding-inline:25px}.site-header{height:80px;padding-inline:25px}.brand{font-size:15px}.brand-value{font-size:12px}.brand-symbol{font-size:39px}.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);padding:10px;font-size:13px}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:20px 25px 30px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #0001;flex-direction:column;gap:5px;align-items:stretch}.site-header nav.open{display:flex}.site-header nav>a{padding:13px 5px}.site-header .nav-contact{margin-top:8px;padding:13px 15px;justify-content:space-between}.hero{grid-template-columns:1fr;gap:36px;padding-top:40px;padding-bottom:25px}.hero h1{font-size:clamp(35px,7.8vw,58px);letter-spacing:-.065em}.hero .eyebrow{margin-bottom:20px;font-size:11px}.hero-description{margin-top:21px;font-size:15px}.hero-actions{margin-top:25px;gap:23px}.hero-bottom{flex-direction:row;margin-top:30px;align-items:center}.hero-bottom span:last-child{font-size:8px}.hero-visual{margin-top:0}.image-frame{height:360px}.image-frame>img{object-position:center 60%}.hero-visual figcaption{flex-direction:row}.image-note>span:first-child{font-size:37px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:28px}.section-heading>p{font-size:14px}.section-heading h2{font-size:32px}.services-section{padding-top:45px;padding-bottom:55px}.service-row{grid-template-columns:28px 1fr 20px;padding:23px 0;gap:12px}.service-row h3{font-size:22px}.service-row p{font-size:12px;max-width:260px}.media-row{padding:22px}.media-row h3{font-size:19px;padding-right:15px}.projects-section{padding-block:45px}.case-grid{gap:35px 22px}.case-cover{min-height:240px;padding:22px}.case-photo{padding:0}.case-graphic{font-size:64px}.case-card h3{font-size:21px}.case-meta{font-size:10px}.method{grid-template-columns:1fr;gap:35px;padding-block:55px}.method h2{font-size:32px}.method>div>p:not(.eyebrow){font-size:14px}.method .text-link{margin-top:17px}.steps h3{font-size:20px}.steps p{font-size:13px}.library-feature{grid-template-columns:1fr;gap:32px;padding-bottom:55px}.guide-art{min-height:320px}.guide-art img{right:30px;width:170px;top:35px}.library-feature h2{font-size:32px}.library-feature .eyebrow{margin-bottom:18px}.contact-strip{padding-block:47px}.contact-strip .wrap{align-items:start;flex-direction:column;gap:28px}.contact-strip h2{font-size:34px}.contact-strip .eyebrow{margin-bottom:17px}footer{padding:40px 25px 25px}.footer-top{flex-direction:column;margin-bottom:25px;gap:30px}.footer-contact{align-items:start;font-size:18px}.footer-bottom{flex-direction:column;align-items:start;gap:13px}.page-intro{padding-top:45px;padding-bottom:40px}.page-intro .eyebrow{margin-bottom:20px}.page-intro h1{font-size:36px}.intro-desc{font-size:15px;margin-top:22px}.service-controls{gap:8px}.service-controls button{font-size:12px;padding:8px 16px}.help-note h2{font-size:23px}.help-note p{font-size:14px}.detail-layout{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.inquiry-aside{position:static;padding:26px}.inquiry-aside h2 br{display:none}.inquiry-aside .button{width:auto}.detail-layout h2{font-size:23px}.large-copy{font-size:19px}.related{padding-bottom:55px}.project-detail{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.project-facts>div{grid-template-columns:115px 1fr;font-size:13px;gap:12px}.project-detail aside h2{font-size:27px}.guide-row{grid-template-columns:100px 1fr;gap:25px;padding-block:28px}.guide-row>div:last-child{grid-column:2}.guide-year{font-size:46px}.guide-year span{font-size:8px}.guide-row h2{font-size:22px}.guide-row p{font-size:13px}.knowledge-links{padding-bottom:55px}.knowledge-links>h2{font-size:27px}.knowledge-grid{gap:30px}.about-story{grid-template-columns:1fr;gap:33px}.about-story>img{aspect-ratio:4/3}.about-story h2{font-size:32px}.about-principles{grid-template-columns:1fr;gap:25px;padding-top:0;padding-bottom:55px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:55px}.contact-layout aside h2{font-size:28px}.contact-steps{margin-block:15px}.direct-contact{margin-top:22px}.contact-layout aside>p{margin-top:15px}.form-notice{margin-bottom:25px}.prose h2{font-size:23px}}
@media(max-width:520px){.preview-bar{font-size:8px;gap:12px;height:26px}.wrap{padding-inline:22px}.site-header{padding-inline:22px;height:75px}.site-header nav{top:75px}.hero{padding-top:35px}.hero h1{font-size:35px;line-height:1.45;letter-spacing:-.065em}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;gap:15px;padding-inline:18px;min-height:50px}.hero-actions .text-link{font-size:12px;gap:9px}.hero-bottom{font-size:10px}.hero-bottom span:last-child{display:none}.image-frame{height:310px}.image-note{inset:auto 17px 18px}.image-note>span:first-child{font-size:34px}.hero-visual figcaption{font-size:8px}.section-heading h2,.method h2,.library-feature h2{font-size:29px}.section-heading>p{font-size:13px}.case-grid{grid-template-columns:1fr}.case-cover{min-height:260px}.case-graphic{font-size:76px}.case-card h3{font-size:23px}.service-row h3{font-size:21px}.service-row p{font-size:12px}.media-row{padding:20px}.media-row h3{font-size:18px}.guide-art{min-height:310px;padding:25px}.guide-art strong{font-size:53px}.guide-art img{right:-15px;width:150px;top:40px}.knowledge-grid{grid-template-columns:1fr}.guide-row{grid-template-columns:1fr;gap:17px}.guide-row>div:last-child{grid-column:auto}.guide-year{font-size:43px;display:flex;align-items:center;gap:20px}.guide-year span{margin:0;font-size:9px}.form-grid{grid-template-columns:1fr;gap:0}.choice-grid{gap:7px}.choice-grid label span{font-size:11px;padding:10px}.page-intro h1{font-size:32px}.intro-desc{font-size:14px}.module-list li{font-size:14px}.project-facts>div{grid-template-columns:1fr;gap:5px}.error-actions{flex-wrap:wrap}.footer-bottom>span:last-child{display:flex;align-items:center;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* v2 지식콘텐츠 개편 — research/09 디자인 원칙 시트 */
body{color:var(--text)}
h1,.serif{font-family:var(--serif);font-weight:400;color:var(--text);letter-spacing:-.02em}
h2,h3{color:var(--text)}
.preview-bar{background:var(--text)}
.label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.01em;margin:0 0 18px}
.hero-k{display:grid;grid-template-columns:1.55fr 1fr;gap:72px;padding-top:88px;padding-bottom:88px;align-items:end;border-bottom:1px solid var(--line)}
.hero-k h1{font-size:clamp(38px,3.6vw,52px);line-height:1.35}
.hero-k-desc{font-size:18px;line-height:1.75;margin-top:28px;max-width:560px;color:var(--muted)}
.hero-k .hero-actions{margin-top:36px}
.hero-index ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--text)}
.hero-index li a{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}
.hi-label{font-size:13px;color:var(--muted)}
.hi-title{font-size:17px;font-weight:600;color:var(--text)}
.hero-index li a:hover .hi-title{color:var(--ink)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:40px}
.sec-head h2{font-size:36px;line-height:1.35}
.sec-head p{font-size:16px;color:var(--muted);max-width:480px}
.contents{padding-top:88px;padding-bottom:88px}
.content-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ccard{display:flex;flex-direction:column;padding:16px;border-top:1px solid var(--text)}
.ccard-edu{background:var(--beige)}
.ccard-media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#efebe1;overflow:hidden;margin-bottom:18px}
.ccard-edu .ccard-media{background:#e3d9c4}
.ccard-media img{max-height:86%;max-width:80%;width:auto;height:auto;object-fit:contain}
.book-pair{display:flex;align-items:center;justify-content:center;gap:14px;height:100%;width:100%}
.book-pair img{max-height:80%;max-width:42%}
.type-cover{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:22px;border:1px solid var(--line)}
.type-cover-title{font-family:var(--serif);font-size:34px;line-height:1.25;color:var(--text)}
.type-cover-note{font-size:13px;color:var(--muted)}
.ccard-label{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}
.ccard h3{font-size:20px;line-height:1.45;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}
.ccard h3 a:hover{color:var(--ink)}
.ccard-desc{font-size:15px;line-height:1.65;color:var(--muted);min-height:3.3em}
.ccard-link{margin-top:auto;padding-top:16px;font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;gap:10px;align-self:flex-start}
.ccard-link span{font-size:17px}
.records{padding-top:24px;padding-bottom:88px}
.records-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.records-grid h3{font-size:17px;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--text)}
.rec-list{list-style:none;margin:0 0 20px;padding:0}
.rec-list li{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6}
.rec-list li>span:last-child{min-width:0}
.rec-edu li{grid-template-columns:minmax(0,1fr) 7.5em;align-items:baseline}
.rec-date,.rec-client{color:var(--muted);font-size:14px;white-space:nowrap}
.rec-client{text-align:right}
.work{padding-top:24px;padding-bottom:96px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.work-grid>div{border-top:1px solid var(--text);padding-top:20px}
.work-grid h3{font-size:20px;font-weight:600;margin-bottom:10px}
.work-grid p:not(.label){font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:16px}
.work-grid .label{margin-bottom:10px}
.contact-strip h2{font-size:36px;line-height:1.35;color:#f4f5e9}
@media(max-width:1100px){.content-grid{grid-template-columns:repeat(2,1fr)}.hero-k{grid-template-columns:1fr;gap:48px}.hero-k h1{font-size:46px}}
@media(max-width:800px){.hero-k{padding-top:48px;padding-bottom:56px}.hero-k h1{font-size:30px;line-height:1.4}.hero-k-desc{font-size:16px}.sec-head{grid-template-columns:1fr;gap:12px;margin-bottom:28px}.sec-head h2,.contact-strip h2{font-size:26px}.contents{padding-top:56px;padding-bottom:56px}.records-grid,.work-grid{grid-template-columns:1fr;gap:40px}.work{padding-bottom:64px}}
@media(max-width:560px){.content-grid{grid-template-columns:1fr}.ccard-desc{min-height:0}.rec-list li{grid-template-columns:72px 1fr}.rec-edu li{grid-template-columns:minmax(0,1fr) auto}.rec-client{white-space:normal;text-align:right}}
/* v3 — CI 로고, 콘텐츠 카드 2x2, 문의 띠 */
.brand img{height:24px;width:auto;display:block}
.footer-brand img{height:22px;width:auto;display:block}
.footer-brand span{display:block;font-size:13px;color:var(--muted);font-weight:500;letter-spacing:0;margin-top:12px}
.content-grid{grid-template-columns:repeat(2,1fr);gap:72px 48px}
.ccard{padding:0;border-top:0;background:none}
.ccard-media{display:block;aspect-ratio:16/9;background:#ebe7de;margin:0 0 24px;overflow:hidden}
.ccard-media img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;display:block;transition:opacity .2s}
.ccard-media:hover img{opacity:.9}
.ccard-body{display:flex;flex-direction:column;max-width:540px}
.ccard-label{margin-bottom:10px}
.ccard h3{font-size:24px;line-height:1.4;margin-bottom:10px}
.ccard-desc{font-size:16px;line-height:1.7;min-height:0}
.ccard-link{padding-top:18px}
.contact-strip p.contact-direct{font-size:15px;margin-top:14px;color:#e6ebdf;letter-spacing:.01em}
@media(max-width:800px){.content-grid{grid-template-columns:1fr;gap:56px}.brand img{height:20px}.ccard h3{font-size:22px}}
/* v4 영상 */
.hero-video{margin:0 0 36px}
.hv-frame{position:relative;aspect-ratio:16/9;background:#1d1c1a;overflow:hidden}
.hv-frame img,.hv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.hv-frame iframe{pointer-events:none;top:-60px;height:calc(100% + 120px)}
.hv-frame img{z-index:1;transition:opacity .6s}
.hv-frame.ready img{opacity:0}
.hv-toggle{position:absolute;right:10px;bottom:10px;z-index:2;background:rgba(29,28,26,.78);color:#fff;border:0;font-size:13px;font-weight:600;padding:7px 12px}
.hv-toggle:focus-visible{outline:3px solid #fff;outline-offset:2px}
.hv-sound{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(247,245,239,.94);color:var(--text);border:0;font-size:13px;font-weight:600;padding:7px 12px}
.hv-sound:hover{background:#fff}
.hv-sound:focus-visible{outline:3px solid #fff;outline-offset:2px}
/* 첫 화면 영상 조작 버튼 */
.hv-controls{position:absolute;right:12px;top:12px;z-index:3;display:flex;gap:4px}
.hv-controls button{position:static;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;min-width:36px;padding:0 12px;border:0;background:rgba(20,20,18,.58);color:#fff;font-size:12px;font-weight:600;letter-spacing:-.01em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s}
.hv-controls .hv-toggle{padding:0;width:36px}
.hv-controls button:hover{background:rgba(20,20,18,.82)}
.hv-controls button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hv-controls .ic{width:17px;height:17px;flex:none}
.hv-controls .ic-on,.hv-controls .ic-play{display:none}
.hv-sound[aria-pressed="true"] .ic-off,.hv-toggle[aria-pressed="true"] .ic-pause{display:none}
.hv-sound[aria-pressed="true"] .ic-on,.hv-toggle[aria-pressed="true"] .ic-play{display:block}
.consent-box{border-top:1px solid var(--line);padding-top:18px;margin:8px 0 24px}
.consent-summary{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:12px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:500;color:var(--text);cursor:pointer}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink);flex:none}
.consent a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.hero-video figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-top:10px}
.hero-video figcaption a{color:var(--ink);font-weight:600}
.hero-video figcaption{flex-wrap:wrap;align-items:baseline}
.videos{padding-top:24px;padding-bottom:88px}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.vcard-media{position:relative;aspect-ratio:16/9;background:#1d1c1a;margin-bottom:18px;overflow:hidden}
.vcard-media img,.vcard-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.vcard-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(29,28,26,.12);border:0;cursor:pointer}
.vcard-play span{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:rgba(247,245,239,.94);color:var(--text);font-size:18px;padding-left:4px}
.vcard-play:hover span,.vcard-play:focus-visible span{background:#fff}
.vcard h3{font-size:19px;font-weight:600;line-height:1.45;margin-bottom:8px}
@media(max-width:1100px){.video-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.video-grid{grid-template-columns:1fr;gap:40px}}
/* v5 첫 화면: 제목 + 영상, 아래 네 칸 목록 */
.hero-k{grid-template-columns:1.1fr 1fr;gap:56px 64px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero-k h1{font-size:clamp(34px,2.95vw,46px)}
@media(max-width:1100px){.hero-k h1{font-size:40px}}
@media(max-width:800px){.hero-k h1{font-size:28px}}
@media(max-width:380px){.hero-k h1{font-size:25px}}
.hero-video{margin:0}
.hero-index{grid-column:1/-1}
.hero-index ol{display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.hero-index li a{height:100%}
@media(max-width:1100px){.hero-k{grid-template-columns:1fr}.hero-index ol{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hero-index ol{grid-template-columns:1fr}}
/* 영상 섹션 먹색 반전 */
.videos-dark{background:#1f1e1b;color:#e9e6de}
.videos-dark .videos{padding-top:96px;padding-bottom:104px}
.videos-dark h2,.videos-dark h3{color:#f4f1e8}
.videos-dark p,.videos-dark .ccard-desc{color:#b9b4a8}
.videos-dark .ccard-label{color:#a19c90}
.videos-dark + .records{padding-top:96px}
/* 작은 글씨 키우기·카드 반응 */
.label,.hi-label,.ccard-label{font-size:14px}
.work-grid p:not(.label){font-size:16px}
.rec-client{font-size:15px}
.ccard-media img{transition:transform .6s ease}
.ccard:hover .ccard-media img{transform:scale(1.03);opacity:1}
.ccard h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:800px){.videos-dark .videos{padding-top:64px;padding-bottom:72px}.videos-dark + .records{padding-top:64px}}
@media(prefers-reduced-motion:reduce){.ccard:hover .ccard-media img{transform:none}}

/* 교육 페이지 분야 묶음 */
.svc-group{margin-bottom:72px}
.svc-group-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:20px}
.svc-group-head h2{font-size:30px;line-height:1.35}
.svc-group-head p{font-size:15px;max-width:30em}
.svc-related .service-list{border-top-color:var(--line)}
.svc-related .service-row{padding-block:20px}
.svc-related .service-row h3{font-size:20px}
.svc-group+.svc-related{margin-top:-8px}
@media(max-width:800px){.svc-group{margin-bottom:52px}.svc-group-head{flex-direction:column;align-items:start;gap:8px}.svc-group-head h2{font-size:25px}}
/* 회사 소개 고객사 */
.clients{padding-top:24px;padding-bottom:96px}
.client-group{display:grid;grid-template-columns:140px 1fr;gap:24px;border-top:1px solid var(--text);padding-top:18px;margin-top:36px}
.client-group h3{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.01em}
.client-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr)}
.client-grid li{position:relative;display:flex;align-items:center;justify-content:center;height:84px;border-bottom:1px solid var(--line);padding:0 10px}
.client-grid img{height:auto;max-width:100%;mix-blend-mode:multiply;transition:opacity .25s}
.client-grid .cl-color{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 20px);opacity:0}
.client-grid li:hover .cl-color{opacity:1}
.client-grid li:hover .cl-mono{opacity:0}
.client-grid .cl-mono[src$="im-securities-official-q90.webp"]{filter:brightness(0);opacity:.89}
.client-grid li:hover .cl-mono[src$="im-securities-official-q90.webp"]{opacity:0}
@media(max-width:1100px){.client-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.clients{padding-bottom:64px}.client-group{grid-template-columns:1fr;gap:6px;margin-top:28px}.client-grid{grid-template-columns:repeat(3,1fr)}.client-grid li{height:72px;padding:0 6px}}
@media(max-width:420px){.client-grid li{height:60px;padding:0 4px}}


.consent-summary{display:grid;gap:4px}
.consent-summary span{display:block}
.prose p{max-width:42em}
.intro-desc{max-width:34em}
.about-story p:not(.eyebrow):not(.section-note){max-width:34em}

.hv-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* 검수 보완: 보조 문구 가독성과 모바일 줄바꿈 */
.eyebrow,.meta,.row-tags,.service-row p,.case-card>p,.case-card .source-label,.section-note{font-size:14px}
.case-meta,.case-overline,.case-foot,.form-notice p,.field-hint,.optional-fields summary,form>label,.form-grid>label{font-size:14px}
.choice-grid label span{font-size:14px}
.guide-year span,.guide-row p.section-note{font-size:13px;letter-spacing:0}
.footer-bottom,.footer-bottom .text-link{font-size:12px}
.page-intro h1,.sec-head h2,.ccard h3,.case-card h3{text-wrap:balance}
.intro-desc,.ccard-desc,.work-grid p,.contact-strip p,.about-story p{text-wrap:pretty}
.ccard-body{flex:1}
.hero-k>*,.detail-layout>*,.project-detail>*,.contact-layout>*,.guide-row>*{min-width:0}
.hv-controls button{min-height:44px;min-width:44px}
.hv-controls .hv-toggle{width:44px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-bottom:24px;font-size:14px;color:var(--ink)}
.footer-links a{padding-block:6px}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.video-direct{display:inline-flex;margin-top:12px;min-height:44px;align-items:center;font-size:14px;color:#f4f1e8;text-decoration:underline;text-underline-offset:4px}
.contact-direct a:hover{text-decoration:underline}
.consent input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin-top:3px}
.hv-controls{gap:0;right:6px;top:6px}
.hv-controls button,.hv-controls .hv-toggle,.hv-controls .hv-sound{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;background:radial-gradient(circle,rgba(20,20,18,.52) 0 15px,transparent 16px);-webkit-backdrop-filter:none;backdrop-filter:none}
.hv-controls button:hover{background:radial-gradient(circle,rgba(20,20,18,.78) 0 15px,transparent 16px)}
.hv-controls .ic{width:15px;height:15px}
@media(max-width:520px){
  .page-intro h1{font-size:clamp(27px,7.4vw,32px);line-height:1.45}
  .page-intro h1 br{display:none}
  .hero-k{row-gap:36px;padding-top:36px}
  .hero-k-desc{margin-top:22px}
  .hero-actions .button,.hero-actions .text-link{font-size:14px}
  .intro-desc,.guide-row p,.service-row p{font-size:15px}
  input:not([type=radio]):not([type=checkbox]),textarea{font-size:16px}
  .consent input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin-top:3px}
  .draft-actions .button{width:100%;justify-content:center;font-size:14px}
  .contact-strip br{display:none}
}

/* Editorial still lifes: original covers over generated surfaces, fixed framing. */
.book-stage{position:relative;display:block;width:100%;height:100%;isolation:isolate}
.content-service-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;padding-top:32px}.content-service-hero .page-intro{padding:0;margin:0;width:auto;max-width:none}.content-service-hero h1{font-size:clamp(34px,3.6vw,52px);text-wrap:balance}.content-service-hero figure{margin:0}.content-service-hero figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.content-service-hero figcaption{font-size:14px;color:var(--muted);padding-top:12px}
.content-service-actions{display:flex;align-items:center;gap:30px;padding-block:36px 64px}.content-service-section{padding-block:52px;border-top:1px solid var(--line);scroll-margin-top:28px}.content-service-section .sec-head h2{font-size:clamp(25px,2.5vw,36px)}.content-service-section .sec-head p{max-width:450px}
.format-list{border-top:1px solid var(--line)}.format-list article{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1.25fr);gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.format-list article>span{font-size:15px;color:var(--green);padding-top:4px}.format-list h3{font-size:22px;line-height:1.5;margin:0}.format-list p{font-size:16px;line-height:1.8;margin:0}.media-work .ccard-label{font-size:14px}.media-work .video-direct{color:var(--green);min-height:44px;display:inline-flex;align-items:center}.media-channel{margin:30px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:15px;line-height:1.8}.media-channel .text-link{margin-left:16px;font-size:15px}
.production-scope{display:grid;grid-template-columns:1fr 1fr;gap:72px}.production-scope h2{font-size:34px;line-height:1.45;margin:16px 0 24px}.production-scope>div>p:last-child{max-width:460px;line-height:1.85}.production-scope ol{list-style:none;padding:0;margin:0}.production-scope li{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.production-scope li>span{font-family:Georgia,serif;font-size:24px;color:var(--green)}.production-scope h3{font-size:21px;margin:0 0 8px}.production-scope li p{margin:0;line-height:1.8;font-size:16px}.content-service-faq{padding-bottom:70px}.content-service-faq h2{font-size:26px;margin-bottom:24px}.content-service-faq details p{font-size:16px;max-width:840px}
.publisher-books{padding-bottom:70px}.publisher-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.publisher-book{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);gap:28px;align-items:center;padding-top:28px;border-top:1px solid var(--line)}.publisher-book-cover{display:flex;align-items:center;justify-content:center;background:#ebe7de;padding:20px;aspect-ratio:3/4}.publisher-book-cover img{display:block;width:100%;height:100%;object-fit:contain}.publisher-book h3{font-size:25px;line-height:1.4;margin:14px 0 12px;word-break:keep-all}.publisher-book p{font-size:16px;line-height:1.8}.publisher-book .eyebrow,.publisher-book .publisher-author{font-size:14px}.publisher-book .text-link{font-size:15px;margin-top:14px}.publisher-bridge{border-top:1px solid var(--line);padding-block:50px 72px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px}.publisher-bridge h2{font-size:34px;line-height:1.5;margin-bottom:22px}.publisher-bridge p{max-width:640px;font-size:17px;line-height:1.9}.publisher-bridge nav{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px}.publisher-destination .button{white-space:nowrap}
@media(max-width:1100px){.content-service-hero{gap:36px}.format-list article{grid-template-columns:140px minmax(0,1fr) minmax(0,1.2fr);gap:20px}.publisher-book-grid{gap:30px}.publisher-book{grid-template-columns:1fr;align-content:start}.publisher-book-cover{max-width:240px;width:100%;margin-inline:auto}.production-scope{gap:36px}}
@media(max-width:700px){.content-service-hero{grid-template-columns:1fr;gap:28px;padding-top:20px}.content-service-hero figure img{aspect-ratio:16/9}.content-service-hero h1{font-size:34px}.content-service-actions{flex-wrap:wrap;gap:18px;padding-block:26px 40px}.content-service-actions a{font-size:15px;min-height:44px}.content-service-section{padding-block:36px}.content-service-section .sec-head{gap:16px}.content-service-section .sec-head br{display:none}.format-list article{grid-template-columns:1fr;gap:10px;padding-block:24px}.format-list h3{font-size:21px}.production-scope{grid-template-columns:1fr;gap:20px}.production-scope h2,.publisher-bridge h2{font-size:28px}.media-channel .text-link{margin:12px 0 0;display:flex;width:max-content}.publisher-book-grid{grid-template-columns:1fr;gap:32px}.publisher-book{grid-template-columns:112px minmax(0,1fr);gap:20px}.publisher-book-cover{padding:12px;align-self:start}.publisher-book h3{font-size:21px}.publisher-book p{font-size:15px}.publisher-book .eyebrow,.publisher-book .publisher-author{font-size:14px}.publisher-book .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.publisher-books{padding-bottom:42px}.publisher-bridge{grid-template-columns:1fr;gap:24px;padding-block:36px 48px}.publisher-bridge nav{gap:16px}.publisher-bridge p{font-size:16px}}
.inline-channel{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8e9d93}.inline-channel:hover{text-decoration-color:currentColor}
.ccard-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;margin-top:auto;padding-top:18px}.ccard-actions .ccard-link{padding-top:0;margin-top:0}.ccard-actions .ccard-secondary{margin:0;min-height:36px}
.broadcast-stage{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:5px;background:#f7f5ef}.broadcast-stage>span{position:relative;min-height:0;overflow:hidden}.broadcast-stage .broadcast-studio{grid-row:1/3}.broadcast-stage>span>span{position:absolute;left:10px;bottom:10px;background:#1d1c1acc;padding:4px 9px;color:#fff;font-size:12px;line-height:1.5}.ccard .broadcast-stage img,.ccard:hover .broadcast-stage img{height:100%;width:100%;object-fit:cover;transform:none;transition:none;opacity:1}.broadcast-studio img{object-position:60% center!important}
.ccard-secondary{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--muted);gap:12px;margin-left:24px;text-decoration:underline;text-underline-offset:5px}
.dasi-stage{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:7% 8%;background:#ecede7;gap:15%;color:#23483d}.ccard .dasi-stage-logo,.ccard:hover .dasi-stage-logo{width:58%;height:auto;max-height:38%;object-fit:contain;transform:none;transition:none;opacity:1;mix-blend-mode:multiply}.dasi-stage-activities{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-top:1px solid #b6c0b5;padding-top:6%;gap:12px}.dasi-stage-activities>span{display:flex;flex-direction:column;gap:8px}.dasi-stage-activities b{font-size:clamp(15px,1.4vw,21px);font-weight:600}.dasi-stage-activities>span>span{font-size:clamp(11px,1.05vw,15px);white-space:nowrap}
@media(max-width:560px){.broadcast-stage{gap:3px}.broadcast-stage>span>span{font-size:11px;left:5px;bottom:5px;padding:2px 6px}.ccard-secondary{margin-left:0;display:flex;width:max-content}.dasi-stage-activities{gap:6px}.dasi-stage-activities b{font-size:14px}.dasi-stage-activities>span>span{font-size:11px}}
.edu-entry{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:36px}.edu-entry p{max-width:680px;font-size:18px}.edu-entry .button{flex-shrink:0}

.edu-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:72px;padding-bottom:72px}.edu-main{min-width:0}.edu-block{padding-bottom:48px;margin-bottom:40px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.edu-block:last-child{margin-bottom:0;border:0}.edu-block h2{font-size:30px;line-height:1.4;margin:12px 0 22px;word-break:keep-all;text-wrap:balance}.edu-block p{line-height:1.85}.edu-block .large-copy{font-size:23px;margin-bottom:14px}.edu-topics{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--green);margin-bottom:22px;font-size:15px}.edu-block .module-list li{font-size:17px}.edu-block .module-list li>span{font-size:14px}
.edu-flow{list-style:none;padding:0;margin:28px 0 36px}.edu-flow li{display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.edu-step{font-family:Georgia,serif;font-size:28px;color:var(--green);min-width:24px}.edu-flow h3{font-size:20px;margin:0 0 7px}.edu-flow p{font-size:16px;margin:0}
.edu-guide{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:center;background:#ebe7de;padding:28px}.edu-guide-image{display:block;background:white;border:1px solid #d9d4ca}.edu-guide-image img{display:block;width:100%;height:auto}.edu-guide ul{padding-left:18px;margin:16px 0 24px}.edu-guide li{font-size:15px;line-height:1.7;margin-bottom:12px;word-break:keep-all}.edu-guide .text-link{font-size:15px}.edu-guide .section-note{font-size:14px;margin-bottom:0}
.edu-records{list-style:none;padding:0}.edu-records li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.edu-record-year{font-size:15px;color:var(--muted)}.edu-records h3{font-size:21px;margin:0 0 8px}.edu-records p{margin:0 0 10px}.edu-records .text-link{font-size:15px}.edu-aside{top:28px}.edu-aside h2{font-size:26px;line-height:1.5}.edu-aside ul{padding-left:18px;margin:20px 0;line-height:1.9;font-size:14px}.edu-aside .button{padding-inline:12px}.edu-aside>a:last-child{font-size:14px}.edu-faq details p{font-size:16px}
@media(max-width:1000px){.edu-layout{gap:36px;grid-template-columns:minmax(0,1fr) 260px}.edu-guide{grid-template-columns:140px minmax(0,1fr);padding:20px;gap:20px}}
@media(max-width:800px){.edu-layout{grid-template-columns:1fr;gap:20px}.edu-entry{display:block}.edu-entry .button{margin-top:22px}.edu-entry p{font-size:16px}.edu-block{padding-bottom:32px;margin-bottom:30px}.edu-block h2{font-size:25px}.edu-block .large-copy{font-size:20px}.edu-block .module-list li{font-size:16px}.edu-guide{grid-template-columns:1fr;padding:22px}.edu-guide-image{max-width:230px;margin-inline:auto}.edu-aside{position:static}.edu-records h3{font-size:19px}}
.book-stage .stage-background{position:absolute;inset:0;object-fit:cover}
.stage-book{position:absolute;display:block;z-index:1;box-shadow:3px 5px 2px #322e241c,8px 14px 20px #322e2438}
.stage-book::before{content:"";position:absolute;inset:2px -3px -4px 2px;background:repeating-linear-gradient(0deg,#eeeae2 0 1px,#d9d4c9 1px 2px);z-index:-1}
.stage-cover{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.ccard .book-stage .stage-cover img{width:100%;height:100%;object-fit:fill}
.ccard .book-stage img,.ccard:hover .book-stage img{transform:none;transition:none;opacity:1}
.book-stage--edu .stage-book{width:24%;height:61%;top:20%}
.book-stage--edu .stage-book--1{left:9%;transform:rotate(-5deg)}
.book-stage--edu .stage-book--2{left:38%;top:17%;transform:rotate(1deg)}
.book-stage--edu .stage-book--3{left:67%;top:22%;transform:rotate(5deg)}
.ccard .book-stage .stage-book--spread img{position:absolute;right:0;width:203%;max-width:none}
.ccard .book-stage .stage-book--trim img{position:absolute;left:-4.6%;top:-3.6%;width:109.2%;height:107.2%;max-width:none}
.book-stage--book .stage-book{width:26%;height:73%;top:11%;left:20%;transform:rotate(-6deg)}
.book-stage--book .stage-book--2{left:54%;top:16%;width:27%;transform:rotate(5deg)}
@media(max-width:560px){.stage-book{box-shadow:2px 3px 1px #322e241c,4px 7px 10px #322e2438}.stage-book::before{inset:1px -2px -2px 1px}}
/* Inquiry: concise entry, contextual help, a readable review step. */
.contact-intro{padding-bottom:42px}.contact-intro .intro-desc{max-width:42em}.contact-quick{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:24px}.contact-quick a{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:17px;color:var(--ink);border-bottom:1px solid var(--line)}.contact-quick a:hover{border-color:var(--ink)}
.inquiry-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:100px;align-items:start;padding-bottom:80px}.inquiry-layout>*{min-width:0}.inquiry-editor .form-notice{padding:20px 0;margin:0 0 32px}.inquiry-editor .form-notice p{font-size:14px;line-height:1.8}.inquiry-section{margin:0 0 32px;padding:0 0 28px;border-bottom:1px solid var(--line)}.inquiry-section legend{font-size:18px;line-height:1.6;margin-bottom:20px;width:100%}.inquiry-section legend b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--muted);margin-right:12px}.inquiry-section legend>span{font-size:13px;white-space:nowrap}.inquiry-choices label{position:relative}.inquiry-choices label:last-child{grid-column:1/-1}.inquiry-choices label span{font-size:15px;min-height:50px;transition:background .15s,border-color .15s}.inquiry-choices label:hover span{border-color:var(--ink)}.inquiry-choices input:checked+span{background:#e4e9df;color:var(--ink);border-color:var(--ink);font-weight:600}.inquiry-choices input:checked+span:after{content:'✓';margin-left:auto;padding-left:10px}
.message-label{display:block;font-size:15px;font-weight:600}.inquiry-editor .message-help{font-size:15px;line-height:1.8;margin:10px 0 14px;min-height:3.6em}.inquiry-editor textarea{font-size:16px}.inquiry-editor .field-hint{font-size:14px}.inquiry-editor .required,.field-optional{font-size:12px;font-weight:400;margin-left:5px}.inquiry-editor .optional-fields{border-bottom:0;padding-bottom:0;margin:24px 0 0}.inquiry-editor .optional-fields summary{font-size:15px}.inquiry-editor .form-grid>label{font-size:15px;margin-bottom:18px}.inquiry-editor .form-grid{gap:0 20px}.inquiry-editor .form-grid input{font-size:16px}.inquiry-editor .consent-box{border:0;padding:0}.inquiry-editor .consent-summary{font-size:14px}.inquiry-editor .consent{padding-top:12px;line-height:1.9}.inquiry-editor #form-status{font-size:14px}.inquiry-editor #draft-result{scroll-margin-top:32px}.inquiry-editor #draft-title{font-size:29px}.inquiry-editor #draft-result>p{font-size:15px}.inquiry-editor #draft-text{font-size:15px;background:#eeece4}.inquiry-editor .draft-actions .button{font-size:14px}.draft-edit{border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);padding:8px 0;font-size:14px;min-height:44px}.inquiry-editor .draft-fallback{padding-top:8px;overflow-wrap:anywhere}.inquiry-editor #draft-result>.eyebrow{margin-bottom:12px}
.inquiry-guide{border-top:1px solid var(--line);padding-top:24px;position:sticky;top:32px}.inquiry-guide h2{font-size:32px}.inquiry-guide>p:not(.eyebrow){font-size:16px;margin-top:20px}.inquiry-guide ul{list-style:none;padding:0;margin:26px 0 0}.inquiry-guide li{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.inquiry-guide li strong{font-size:16px;font-weight:600}.inquiry-guide li span{font-size:14px;color:var(--muted)}.inquiry-reference{margin-top:28px}.inquiry-reference p{font-size:14px}.inquiry-reference a{font-size:14px}
@media(max-width:1100px){.inquiry-layout{gap:48px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
@media(max-width:800px){.contact-intro{padding-bottom:28px}.contact-intro .eyebrow{margin-bottom:14px}.contact-intro .intro-desc{font-size:16px;margin-top:18px}.contact-intro .intro-desc br{display:none}.contact-quick{margin-top:18px;gap:4px 22px}.contact-quick a{font-size:15px}.inquiry-layout{grid-template-columns:1fr;gap:36px;padding-bottom:48px}.inquiry-guide{position:static}.inquiry-guide h2{font-size:28px}.inquiry-guide h2 br{display:none}.inquiry-guide .eyebrow{margin-bottom:14px}.inquiry-section legend{font-size:17px}.inquiry-section legend b{margin-right:8px}.inquiry-choices label span{font-size:14px;padding:10px 12px}.inquiry-editor .message-help{min-height:0}.inquiry-editor .inquiry-submit{width:100%;justify-content:space-between;font-size:16px}.inquiry-editor #draft-title{font-size:26px}}
/* Mobbin editorial patterns, adapted to Humanvalue's established identity. */
.hero-index li a{position:relative;padding-right:26px;transition:background-color .18s}.hero-index .hi-arrow{position:absolute;right:0;bottom:17px;color:var(--ink);font-size:19px}.hero-index li a:hover,.hero-index li a:focus-visible{background:#eeece4}.ccard:focus-within h3 a,.ccard-link:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.ccard-link{min-height:44px}.breadcrumb{font-size:14px;flex-wrap:wrap}.project-facts dt{font-size:14px}.rec-date{font-variant-numeric:tabular-nums}
.work-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:72px;padding-block:28px 88px}.work-editorial .sec-head{display:block;margin:0}.work-editorial .sec-head h2{max-width:10em;font-size:34px}.work-editorial .sec-head>p{font-size:16px;margin-top:24px;max-width:22em}.work-editorial .work-grid{display:block}.work-editorial .work-grid>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px 20px;padding:24px 0;border-top:1px solid var(--line)}.work-editorial .work-grid>div:first-child{border-top-color:var(--text)}.work-editorial .work-grid>div:last-child{border-bottom:1px solid var(--line)}.work-editorial .work-grid .label{grid-row:1/3;margin:4px 0 0;font-variant-numeric:tabular-nums}.work-editorial .work-grid h3{font-size:22px;margin:0}.work-editorial .work-grid p:not(.label){grid-column:2;margin:0}
.guide-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:center;padding-bottom:80px}.guide-feature-art{background:#e9e5db;min-height:490px;padding:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.guide-feature-art>span:last-child{font-size:13px;letter-spacing:.03em;color:var(--muted)}.guide-cover{display:block;position:relative;aspect-ratio:640/857;width:100%;overflow:hidden;box-shadow:3px 4px 0 #d8d2c4,9px 14px 22px #3a302118;background:#f4f1e8}.guide-cover img{position:absolute;max-width:none;width:100%;height:100%;object-fit:fill;inset:0}.guide-cover--2026 img,.guide-cover--2024 img{width:106%;height:106%;left:-3%;top:-3%}.guide-cover--2025 img,.guide-cover--2023 img{width:203%;left:auto;right:0}.guide-feature-art .guide-cover{max-width:240px}.guide-feature-copy h2{font-size:36px;max-width:13em;text-wrap:balance}.guide-feature-copy>p:not(.eyebrow){margin-top:22px;font-size:16px;line-height:1.8}.guide-feature-copy .guide-edition{font-size:14px}.guide-feature-copy>.button{margin-top:26px}.guide-topics{margin-top:32px;border-top:1px solid var(--line);padding-top:22px}.guide-topics h3{font-size:16px;margin-bottom:12px}.guide-topics nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.guide-topic{display:flex;gap:8px;align-items:center;min-height:44px;font-size:15px;color:var(--ink)}.guide-topic small{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.guide-topic:hover{text-decoration:underline;text-underline-offset:4px}
.guide-archive{padding-block:30px 72px}.guide-archive .sec-head{margin-bottom:28px}.guide-archive-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:36px;align-items:center;padding:28px 0;border-top:1px solid var(--line)}.guide-archive-row:last-child{border-bottom:1px solid var(--line)}.guide-archive-art{padding:4px 8px 8px 0}.guide-archive-year{font-size:28px;font-family:var(--serif);color:var(--text);line-height:1.3;margin-bottom:12px}.guide-archive-year span{font:14px var(--sans);margin-left:16px;color:var(--muted)}.guide-archive-copy h3{font-size:22px;line-height:1.5;margin-bottom:10px}.guide-archive-copy>p:not(.guide-archive-year){font-size:15px}.guide-archive-copy .guide-tags{font-size:14px;margin-top:12px}.guide-archive-row>.text-link{font-size:14px;white-space:nowrap;align-self:center}.library-connections{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;padding-block:28px 76px}.library-connections h2{font-size:32px}.library-connections nav{display:flex;flex-direction:column;align-items:start;gap:12px}.library-connections .eyebrow{margin-bottom:18px}
.about-story{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center}.about-studio img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.about-studio figcaption,.about-detail figcaption{font-size:14px;color:var(--muted);padding-top:10px}.about-story .text-link{margin-top:18px;font-size:15px}.about-detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center;padding-block:10px 72px}.about-detail h2{font-size:34px}.about-detail p:not(.eyebrow){font-size:16px;line-height:1.8;margin-top:22px;max-width:29em}.about-detail figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.about-detail .eyebrow{margin-bottom:18px}
.footer-directory{display:flex;justify-content:space-between;gap:28px;margin-bottom:28px}.footer-directory .footer-links{margin:0;gap:4px 22px;max-width:50%}.footer-directory .footer-links>span{flex-basis:100%;color:var(--muted);font-size:13px;margin-bottom:6px}.footer-directory .footer-links a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1100px){.work-editorial{gap:40px}.guide-feature{gap:36px}.guide-feature-art{padding:35px;min-height:430px}.guide-feature-copy h2{font-size:30px}.guide-topics nav{grid-template-columns:1fr}.guide-archive-row{gap:24px}.about-story,.about-detail{gap:36px}.footer-directory{flex-direction:column;gap:24px}.footer-directory .footer-links{max-width:none}}
@media(max-width:800px){.work-editorial{grid-template-columns:1fr;gap:28px;padding-bottom:56px}.work-editorial .sec-head h2{font-size:28px;max-width:none}.work-editorial .sec-head>p{margin-top:14px;max-width:none}.work-editorial .work-grid h3{font-size:21px}.work-editorial .work-grid>div{gap:6px 12px}.guide-feature{grid-template-columns:1fr;gap:28px;padding-bottom:48px}.guide-feature-art{min-height:0;padding:30px;gap:20px}.guide-feature-art .guide-cover{max-width:170px}.guide-feature-copy h2{font-size:28px;max-width:18em}.guide-feature-copy .eyebrow{margin-bottom:16px}.guide-feature-copy>p:not(.eyebrow){margin-top:16px}.guide-topics nav{grid-template-columns:1fr 1fr;gap:0 18px}.guide-topic{font-size:14px}.guide-topic small{font-size:12px}.guide-archive{padding-block:20px 44px}.guide-archive .sec-head br{display:none}.guide-archive-row{grid-template-columns:76px minmax(0,1fr);gap:14px 22px;padding-block:24px;align-items:start}.guide-archive-copy h3{font-size:20px}.guide-archive-year{font-size:24px}.guide-archive-year span{display:block;font-size:13px;margin:6px 0 0}.guide-archive-row>.text-link{grid-column:2;justify-self:start;font-size:14px}.guide-tags{display:none}.library-connections{grid-template-columns:1fr;gap:24px;padding-block:20px 48px}.library-connections h2{font-size:28px}.about-story,.about-detail{grid-template-columns:1fr;gap:28px}.about-story{padding-bottom:40px}.about-detail{padding-bottom:44px}.about-detail h2{font-size:28px}.about-detail h2 br{display:none}.about-story h2{font-size:28px}.about-story p:not(.eyebrow):not(.section-note){font-size:16px}.about-studio img{aspect-ratio:3/2}.site-header nav.open>a{font-size:18px;padding:14px 4px;border-bottom:1px solid var(--line);min-height:52px}.site-header nav.open .nav-contact{font-size:16px;padding-inline:16px;margin-top:18px}.site-header nav.open>a[aria-current]{border-bottom:2px solid var(--ink)}}
@media(max-width:380px){.guide-topics nav{grid-template-columns:1fr}.guide-archive-row{grid-template-columns:65px minmax(0,1fr);gap:12px 18px}.guide-archive-copy h3{font-size:19px}.work-editorial .sec-head h2{font-size:26px}}
.guide-cover--2026 img{width:114%;height:114%;left:-7%;top:-7%}
.about-story h2{font-family:var(--serif);font-weight:400}

/* 2026-10-03 글꼴·가독성 마감 */
:root{--sans:'HV Sans','Pretendard Variable','Pretendard','Noto Sans KR','Malgun Gothic',sans-serif}
h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
.row-no,.module-list li>span,.section-note,.case-card .source-label{color:#556251}
.row-no,.module-list li>span,.guide-topic small,.section-note,.guide-row p.section-note,.about-story p.section-note,.case-card .source-label,.footer-bottom,.footer-bottom .text-link{font-size:14px}
.broadcast-stage>span>span{font-size:13px}
.dasi-stage-activities>span>span{font-size:clamp(14px,1.05vw,15px)}
.about-principles span{font-size:14px}
legend>span,summary>span,.required,.inquiry-editor .required,.inquiry-editor .field-optional,.inquiry-editor summary>span{font-size:13px}
.preview-bar{font-size:12px}
@media(max-width:700px){
.site-header .brand{min-height:44px}
.footer-contact a,.breadcrumb a,.footer-bottom .text-link{min-height:44px;display:inline-flex;align-items:center}
.text-link{position:relative}
.text-link::before{content:'';position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.consent a{display:inline-block;padding-block:14px;margin-block:-14px}
.edu-layout aside>a:not(.button){min-height:44px;display:inline-flex;align-items:center}
.dasi-stage-activities>span>span{font-size:13px}
}

/* structure.css */
/* New navigation and reading layouts. Load after styles.css.
   The 2026-09-12 design guide supplies 834px UI / 735px / 1069px content
   breakpoints. Navigation switches at 1069px with an 88/72px CI header; hub
   titles are 64/56/40px to retain the existing editorial MaruBuri identity. */
:root {
  color-scheme: only light;
  --structure-gap: 20px;
  --structure-space: 112px;
  --structure-title: 32px;
  --structure-title-line: 39px;
  --structure-subtitle: 24px;
  --structure-subtitle-line: 28px;
  --structure-body: 17px;
  --structure-body-line: 27px;
  --structure-caption: 14px;
  --structure-caption-line: 22px;
  --structure-soft: #eeece4;
  --structure-shadow: 0 14px 28px #193d3414;
}

/* Compact business-field dropdowns and separate destination links. Native details
   remain usable without JavaScript. Switch to one mobile header row below
   1069px so full labels and 44px controls never need a second header row. */
.site-header.hv-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 88px;
  max-width: none;
  padding-inline: max(22px, calc((100% - 1208px) / 2));
  gap: 24px;
  overflow: visible;
}
.hv-header .brand { flex: 0 0 auto; min-height: 44px; }
.hv-header .brand img { width: 161px; height: 24px; }
.hv-header #primary-navigation {
  display: block;
  position: relative;
  width: auto;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: 15px;
  line-height: 24px;
}
.gnb-list, .gnb-submenu { list-style: none; margin: 0; padding: 0; }
.gnb-list { display: flex; align-items: center; gap: 24px; }
.gnb-item { position: relative; display: flex; align-items: center; min-width: 0; }
.gnb-link { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.gnb-item[data-active] > .gnb-link { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.gnb-contact > .gnb-link { gap: 14px; border: 1px solid var(--ink); padding-inline: 16px; }
.gnb-disclosure { position: static; border: 0; padding: 0; margin: 0; }
.gnb-disclosure:not([open]) .gnb-panel { display: none; }
.gnb-submenu-toggle { display: flex; align-items: center; justify-content: flex-start; width: auto; min-height: 44px; list-style: none; cursor: pointer; white-space:nowrap; }
.gnb-submenu-toggle::-webkit-details-marker { display: none; }
.gnb-panel {
  position: absolute;
  top: calc(100% + 21px);
  left: 0;
  right: auto;
  width: 310px;
  max-width: calc(100vw - 44px);
  min-width: 0;
  max-height: calc(100dvh - 88px);
  overflow: auto;
  overscroll-behavior: contain;
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: var(--structure-shadow);
}
.gnb-submenu { padding: 8px; }
.gnb-submenu a { display: flex; align-items: center; min-height: 48px; padding: 12px 16px; color: var(--ink); font-size: 15px; line-height: 24px; font-weight: 500; }
.gnb-panel a:hover, .gnb-panel a:focus-visible, .gnb-panel a[aria-current] { background: var(--sage); color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.gnb-toggle { display: none; }
.hv-header a:focus-visible, .hv-header summary:focus-visible { outline-offset: 2px; }
.gnb-submenu, .footer-column, .footer-network { overflow-wrap: anywhere; word-break: keep-all; }

.structured-footer { padding-top: 64px; }
.footer-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-bottom: 40px; }
.footer-column > p { display: flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 22px; color: var(--ink); font-weight: 600; margin: 0 0 12px; }
.footer-column ul { list-style: none; padding: 0; margin: 0; }
.footer-column a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 22px; color: var(--muted); }
.footer-column > p a { color: var(--ink); font-weight: 600; }
.footer-column a:hover, .structured-footer .footer-bottom a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.footer-network { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; border-top: 1px solid var(--line); padding-block: 16px; }
.footer-network > span { font-size: 14px; line-height: 22px; color: var(--muted); margin-right: auto; }
.footer-network a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; line-height: 22px; color: var(--ink); }
.footer-network a:hover { text-decoration: underline; text-underline-offset: 4px; }
.structured-footer .footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 20px; }
.structured-footer .footer-bottom { align-items: baseline; }

@media (max-width: 1068px) {
  .site-header.hv-header { height: auto; min-height: 72px; padding: 0 24px; flex-wrap: wrap; gap: 0; }
  .site-header.hv-header:not(.gnb-ready) { position: relative; }
  .hv-header .brand { min-height: 72px; }
  .hv-header .brand img { width: 148px; height: 22px; }
  .hv-header #primary-navigation { position: static; width: 100%; max-height: calc(100dvh - 72px); overflow-y: auto; overflow-x: hidden; padding: 8px 0 24px; }
  .gnb-list { display: block; }
  .gnb-item { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 44px; border-top: 1px solid var(--line); }
  .gnb-link { grid-column: 1; min-height: 56px; font-size: 20px; line-height: 27px; white-space: normal; padding-block: 14px; }
  .gnb-item:not(.has-children) > .gnb-link { grid-column: 1 / -1; }
  .gnb-item[data-active] > .gnb-link { text-underline-offset: 5px; }
  /* Keep the native details-content wrapper out of the 44px toggle column. */
  .gnb-disclosure { display: block; grid-column: 1 / -1; }
  .gnb-submenu-toggle { position: static; width:100%; min-height:56px; padding-block:14px; font-size:20px; line-height:27px; white-space:normal; }
  .gnb-panel { position: static; width: 100%; max-width: none; min-width: 0; max-height: none; overflow: visible; grid-column: 1 / -1; border: 0; box-shadow: none; background: transparent; }
  .gnb-submenu { padding: 0 0 16px 14px; }
  .gnb-submenu a { min-height: 48px; padding: 10px 8px; font-size: 17px; line-height: 27px; }
  .gnb-contact { margin-top: 16px; border-top: 0; }
  .gnb-contact > .gnb-link { min-height: 52px; justify-content: space-between; padding-inline: 18px; font-size: 17px; line-height: 27px; background: var(--ink); color: var(--paper); }
  .gnb-ready .gnb-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 76px; min-height: 44px; border: 0; padding: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 22px; }
  .gnb-toggle-icon { display: block; position: relative; width: 18px; height: 12px; border-block: 1px solid currentColor; }
  .gnb-toggle-icon::after { content: ''; position: absolute; top: 50%; left: 0; width: 18px; border-top: 1px solid currentColor; transform: translateY(-50%); }
  .gnb-open .gnb-toggle-icon { border: 0; }
  .gnb-open .gnb-toggle-icon::before, .gnb-open .gnb-toggle-icon::after { content: ''; position: absolute; top: 50%; left: 0; width: 18px; border-top: 1px solid currentColor; transform: rotate(45deg); }
  .gnb-open .gnb-toggle-icon::after { transform: rotate(-45deg); }
  .hv-header.gnb-ready #primary-navigation { display: none; }
  .hv-header.gnb-ready.gnb-open #primary-navigation { display: block; }
  .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
}
@media (max-width: 600px) {
  .footer-network { gap: 4px 24px; }
  .footer-network > span { flex-basis: 100%; margin: 0 0 8px; }
  .structured-footer .footer-top, .structured-footer .footer-contact { align-items: start; }
  .structured-footer .footer-bottom { flex-direction: column; gap: 4px; }
}

/* Hubs are open editorial grids. Rules and whitespace provide hierarchy. */
.hub-intro, .article-header { padding-top: 72px; padding-bottom: 48px; }
.hub-intro h1 { font-family: var(--serif); font-size: 64px; line-height: 75px; font-weight: 600; letter-spacing: 0; max-width: 15em; text-wrap: balance; }
.hub-intro .intro-desc, .hub-intro > p:not(.section-kicker):not(.eyebrow) { max-width: 36em; font-size: 21px; line-height: 32px; letter-spacing: .011em; margin-top: 24px; }
.section-kicker { color: var(--ink); font-size: 17px; line-height: 23px; letter-spacing: 0; font-weight: 600; margin-bottom: 14px; }
.topic-grid, .article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px var(--structure-gap); padding-bottom: 72px; }
.topic-card, .article-card { min-width: 0; padding: 28px 0 0; border-top: 1px solid var(--ink); }
.topic-card h2, .topic-card h3, .article-card h2, .article-card h3 { font-size: 28px; line-height: 35px; letter-spacing: .007em; font-weight: 600; margin: 0; }
.topic-card p, .article-card p { font-size: 17px; line-height: 27px; letter-spacing: 0; margin-top: 14px; }
.topic-card .section-kicker, .article-card .section-kicker { font-size: 14px; line-height: 22px; margin: 0 0 10px; }
.topic-card h2 a:hover, .topic-card h3 a:hover, .article-card h2 a:hover, .article-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.topic-card .text-link, .article-card .text-link { margin-top: 20px; min-height: 44px; }
.topic-card img, .article-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: 24px; }
.content-band, .guide-section { padding-block: 72px; }
.content-band { border-top: 1px solid var(--line); }
.content-band > h2, .guide-section > h2 { font-family: var(--serif); font-size: 40px; line-height: 48px; letter-spacing: 0; margin-bottom: 24px; }
.content-band > p, .guide-section > p { font-size: 17px; line-height: 27px; max-width: 46em; }
.content-band .topic-grid, .content-band .article-grid, .guide-section .article-grid { margin-top: 40px; padding-bottom: 0; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 20px 0 0; padding: 0; font-size: 14px; line-height: 22px; color: var(--muted); }
.tag-list a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.filter-bar a, .filter-bar button { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--muted); font-size: 17px; line-height: 27px; }
.filter-bar [aria-current], .filter-bar [aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; }

/* Document pages keep body, list and table text at 17px on every viewport. */
.article-header h1 { font-family: var(--serif); font-size: 48px; line-height: 52px; font-weight: 600; letter-spacing: 0; max-width: 20em; text-wrap: balance; }
.article-header .intro-desc { font-size: 21px; line-height: 32px; letter-spacing: .011em; max-width: 38em; margin-top: 24px; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 24px; font-size: 14px; line-height: 22px; color: var(--muted); }
.article-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 64px; align-items: start; padding-bottom: var(--structure-space); }
.article-layout > * { min-width: 0; }
.article-toc { grid-column: 1; grid-row: 1; position: sticky; top: 108px; padding-top: 20px; border-top: 1px solid var(--ink); }
.article-toc h2, .article-toc > p, .article-toc > strong { display: block; font-family: var(--sans); font-size: 17px; line-height: 27px; font-weight: 600; letter-spacing: 0; color: var(--ink); margin: 0 0 10px; }
.article-toc ul, .article-toc ol { list-style: none; padding: 0; margin: 0; }
.article-toc a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; font-size: 14px; line-height: 22px; color: var(--muted); }
.article-toc a:hover, .article-toc a:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.article-body { grid-column: 2; max-width: 780px; font-size: var(--structure-body); line-height: var(--structure-body-line); overflow-wrap: anywhere; }
.article-body :is(h2, h3, h4, p, ul, ol, figure) { margin: 0; }
.article-body :is(h2, h3, h4) { font-family: var(--sans); font-weight: 600; color: var(--ink); text-wrap: pretty; }
.article-body h2 { font-size: var(--structure-title); line-height: var(--structure-title-line); letter-spacing: .004em; }
.article-body h3 { font-size: var(--structure-subtitle); line-height: var(--structure-subtitle-line); letter-spacing: .009em; }
.article-body h4 { font-size: 21px; line-height: 32px; letter-spacing: .011em; }
.article-body :is(p, li, td, th) { font-size: var(--structure-body); line-height: var(--structure-body-line); letter-spacing: 0; }
.article-body :is(ul, ol) { padding-left: 1.3em; }
.article-body li + li { margin-top: 8px; }
.article-body :is(h2, h3, h4) + :is(h2, h3, h4) { margin-top: .4em; }
.article-body :is(h2, h3, h4, p, ul, ol) + :is(p, ul, ol, figure) { margin-top: .8em; }
.article-body :is(p, ul, ol, figure, div, details) + :is(h2, h3, h4) { margin-top: 1.6em; }
.article-body > section + section, .article-body > .guide-section + .guide-section { margin-top: 56px; }
.article-body > section { padding-block: 0; }
.article-body [id] { scroll-margin-top: 112px; }
.article-body a:not(.button):not(.text-link) { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.article-body strong { font-weight: 600; color: var(--ink); }
.article-body details { margin-top: 20px; padding-block: 24px; }
.article-body details + details { margin-top: -1px; }
.article-body summary { font-size: 17px; line-height: 27px; font-weight: 600; }
.article-body details p { margin-top: 16px; font-size: 17px; line-height: 27px; }
.answer-summary { padding: 28px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); margin-bottom: 48px; }
.answer-summary > h2, .answer-summary > strong { display: block; font-size: 21px; line-height: 27px; letter-spacing: .011em; margin: 0 0 16px; font-weight: 600; color: var(--ink); }
.answer-summary p { font-size: 17px; line-height: 27px; color: var(--ink); }
.answer-summary p + p { margin-top: 14px; }
.content-table { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; margin-block: 28px; }
.content-table table, table.content-table { width: 100%; border-collapse: collapse; text-align: left; font-variant-numeric: tabular-nums; }
table.content-table { display: block; overflow-x: auto; }
.content-table caption { text-align: left; font-size: 17px; line-height: 27px; font-weight: 600; padding-bottom: 16px; color: var(--ink); }
.content-table th, .content-table td { min-width: 140px; padding: 18px 16px; vertical-align: top; border-bottom: 1px solid var(--line); font-size: 17px; line-height: 27px; letter-spacing: 0; }
.content-table th { font-weight: 600; color: var(--ink); }
.content-table thead { border-top: 1px solid var(--ink); background: var(--sage); }
.content-table :is(th, td):first-child { padding-left: 16px; }
.content-table:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.article-sources, .related-reading { margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--line); }
.article-sources h2, .related-reading > h2 { font-size: 24px; line-height: 31px; letter-spacing: .009em; margin-bottom: 20px; }
.article-sources li { overflow-wrap: anywhere; }
.article-sources :is(p, li), .article-body .source-note { font-size: 14px; line-height: 22px; color: var(--muted); }
.source-note { font-size: 14px; line-height: 22px; max-width: 58em; margin-top: 20px; color: var(--muted); }
.related-reading .article-grid, .related-reading .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; padding-bottom: 0; }
.related-reading .article-card h3, .related-reading .topic-card h3 { font-size: 21px; line-height: 32px; letter-spacing: .011em; }
.related-reading ul { padding-left: 1.3em; }
.related-reading li + li { margin-top: 12px; }
.evidence-list { list-style: none; padding: 0; margin: 32px 0 0; }
.evidence-list li { padding: 20px 0; border-top: 1px solid var(--line); font-size: 17px; line-height: 27px; }
.evidence-list li:last-child { border-bottom: 1px solid var(--line); }
.evidence-list strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: 6px; }
.evidence-list span, .evidence-list p { color: var(--muted); }
.hub-intro, .article-header, .topic-card, .article-card, .content-band, .guide-section, .footer-column { overflow-wrap: anywhere; }

@media (max-width: 1068px) {
  :root { --structure-space: 96px; --structure-title: 28px; --structure-title-line: 35px; --structure-subtitle: 21px; --structure-subtitle-line: 27px; }
  .hub-intro h1 { font-size: 56px; line-height: 66px; }
  .article-header h1 { font-size: 40px; line-height: 44px; }
  .topic-grid, .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-card h2, .topic-card h3, .article-card h2, .article-card h3 { font-size: 24px; line-height: 31px; letter-spacing: .009em; }
  .article-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 36px; }
  .article-body h2 { letter-spacing: .007em; }
  .article-body h3 { letter-spacing: .011em; }
}
@media (max-width: 833px) {
  .article-toc { top: 96px; }
}
@media (max-width: 734px) {
  :root { --structure-space: 56px; --structure-title: 24px; --structure-title-line: 31px; }
  .hub-intro, .article-header { padding-top: 40px; padding-bottom: 32px; text-align: left; }
  .hub-intro h1 { font-size: 40px; line-height: 48px; text-wrap: pretty; }
  .article-header h1 { font-size: 32px; line-height: 36px; letter-spacing: .004em; text-wrap: pretty; }
  .hub-intro .intro-desc, .hub-intro > p:not(.section-kicker):not(.eyebrow), .article-header .intro-desc { font-size: 19px; line-height: 25px; letter-spacing: .012em; margin-top: 20px; }
  .hub-intro br, .article-header br { display: none; }
  .section-kicker { font-size: 14px; line-height: 22px; }
  .topic-grid, .article-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 48px; }
  .topic-card, .article-card { padding-top: 24px; text-align: left; }
  .topic-card h2, .topic-card h3, .article-card h2, .article-card h3 { font-size: 21px; line-height: 32px; letter-spacing: .011em; text-wrap: pretty; }
  .content-band, .guide-section { padding-block: 48px; }
  .content-band > h2, .guide-section > h2 { font-size: 28px; line-height: 35px; letter-spacing: .007em; }
  .article-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .article-toc { grid-column: 1; grid-row: auto; position: static; }
  .article-body { grid-column: 1; }
  .article-body h2 { letter-spacing: .009em; }
  .article-body h4 { font-size: 19px; line-height: 25px; letter-spacing: .012em; }
  .article-body > section + section { margin-top: 40px; }
  .answer-summary { padding-block: 24px; margin-bottom: 32px; }
  .article-sources, .related-reading { margin-top: 40px; }
  .related-reading .article-grid, .related-reading .topic-grid { grid-template-columns: 1fr; }
  .content-table th, .content-table td { padding: 16px 12px; }
  .structured-footer { padding-inline: 24px; padding-top: 48px; }
  .structured-footer .footer-top { flex-direction: column; gap: 28px; margin-bottom: 32px; }
  .structured-footer .footer-contact a { font-size: 17px; line-height: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .gnb-submenu-toggle svg { transition: none; }
}

/* content.css */
/* Editorial extensions retain the existing paper / forest green identity.
   Reading pages use 17px body text; existing marketing hero proportions remain. */
.breadcrumb { align-items:center; flex-wrap:wrap; font-size:13px; line-height:22px; gap:8px 12px; padding-top:28px; padding-bottom:0; }
.breadcrumb > [aria-current] { max-width:65ch; }
.breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.guide-section > .sec-head { margin-bottom:36px; }
.guide-section > p { font-size:17px; line-height:27px; max-width:780px; }
.guide-section .topic-grid { padding-bottom:0; }
.guide-section h2 + p { margin-top:20px; }
.related-pages { display:flex; flex-wrap:wrap; align-items:center; gap:16px 32px; margin-top:32px; }
.source-link { display:block; margin-top:18px; font-size:14px; line-height:22px; text-decoration:underline; text-underline-offset:4px; color:var(--muted); }
.source-note a { text-decoration:underline; text-underline-offset:4px; }
.faq-section .faq-list { margin-top:28px; }
.faq-item { border-top:1px solid var(--line); padding:24px 0; }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-item summary { position:relative; list-style:none; padding-right:36px; cursor:pointer; color:var(--ink); font-size:17px; line-height:27px; font-weight:600; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; position:absolute; right:4px; top:0; font-size:24px; font-weight:400; }
.faq-item[open] summary::after { content:'−'; }
.faq-answer { margin-top:18px; }
.faq-answer p { font-size:17px; line-height:27px; }
.wrap.article-body { max-width:1000px; padding-bottom:72px; }
.article-layout .article-body { width:100%; }
.article-header .article-lead { font-size:21px; line-height:32px; margin-top:24px; max-width:780px; }
.article-header .article-meta { margin-top:24px; }
.article-body .guide-section:first-child { margin-top:0; }
.article-body .guide-section h2 { font-size:32px; line-height:39px; }
.article-body .content-table { margin-block:28px; }
.article-body .article-grid { margin-top:28px; }
.article-body .article-card { font-size:17px; line-height:27px; }
.article-body .article-card h3 a { text-decoration:none; }
.article-body .article-card h3 { font-size:21px; line-height:32px; }
.article-body .related-reading .sec-head { display:block; }
.article-body .related-reading .sec-head .text-link { margin-top:12px; }
.article-body .article-sources { margin-bottom:40px; }
.insights-opening { display:grid; grid-template-columns:1.3fr 1fr; gap:64px; align-items:center; padding-top:20px; padding-bottom:72px; }
.insights-cover { margin:0; }
.insights-cover img { width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; }
.insights-cover figcaption { font-size:12px; line-height:18px; margin-top:10px; color:var(--muted); }
.insights-opening h2 { margin-top:16px; }
.insights-opening p:not(.section-kicker) { font-size:17px; line-height:27px; margin-top:22px; }
.insights-opening .text-link { margin-top:24px; }
.insight-topic > .sec-head > div { max-width:770px; }
.insight-topic .section-kicker { margin-bottom:14px; }
.insight-topic > .sec-head h2 { font-size:36px; line-height:1.4; }
.insight-topic { scroll-margin-top:110px; }
.insight-topic .article-grid { padding-bottom:0; }
.content-directory { padding-bottom:48px; }
.directory-row { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; align-items:center; padding:48px 0; border-top:1px solid var(--line); }
.directory-row:nth-child(even) { grid-template-columns:1.2fr 1fr; }
.directory-row:nth-child(even) figure { order:2; }
.directory-row figure { background:var(--sage); height:310px; padding:0; overflow:hidden; }
.directory-row figure img { width:100%; height:100%; object-fit:cover; }
.directory-row:first-child figure, .directory-row:nth-child(3) figure, .directory-row:nth-child(4) figure { padding:30px; }
.directory-row:first-child figure img, .directory-row:nth-child(3) figure img, .directory-row:nth-child(4) figure img { object-fit:contain; }
.directory-row:nth-child(3) figure { background:var(--beige); }
.directory-row h2 { margin-top:14px; }
.directory-row p:not(.section-kicker) { margin-top:22px; font-size:17px; line-height:27px; }
.directory-row .text-link { margin-top:24px; }
.platform-opening { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; padding-block:32px 64px; }
.platform-opening > img { width:100%; height:300px; object-fit:contain; background:#fff; padding:36px; }
.platform-opening h2 { margin-top:18px; }
.platform-opening p:not(.section-kicker) { font-size:17px; line-height:27px; margin-top:24px; }
.platform-opening .button { margin-top:28px; }
.service-hub .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-hub .topic-card ul { margin:22px 0 0; padding-left:1.2em; color:var(--muted); font-size:17px; line-height:27px; }
.service-hub .topic-card .section-kicker { min-height:44px; }
.evidence-list h3 { font-size:21px; line-height:32px; margin-bottom:10px; }
.company-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:0; }
.company-facts > div { border-top:1px solid var(--line); padding-top:20px; }
.company-facts dt { font-size:14px; line-height:22px; color:var(--muted); }
.company-facts dd { margin:12px 0 0; font-size:21px; line-height:32px; font-weight:600; color:var(--ink); }
.company-history { max-width:900px; }
.company-history .rec-date { min-width:85px; }
.company-history li { font-size:17px; line-height:27px; padding-block:18px; }
.project-detail .article-body { min-width:0; }
.project-detail .project-facts { margin-top:24px; }
.project-detail .guide-section { padding-block:0; }
.project-detail .guide-section + .guide-section { margin-top:48px; }
.project-detail .article-sources .text-link { margin-top:18px; }
#records .guide-section { padding-block:32px; }
#records .guide-section h3 { font-size:28px; line-height:35px; }
.edu-layout { align-items:start; }
.edu-main { min-width:0; }
.edu-main .article-body { max-width:none; }
.edu-main .guide-section { padding-block:32px; }
.edu-main .guide-section + .guide-section { margin-top:16px; }
.edu-main .topic-grid { grid-template-columns:1fr; gap:24px; padding-bottom:0; }
.edu-main .topic-card { padding-top:20px; }
.edu-main .topic-card h3 { font-size:21px; line-height:32px; }
.edu-main .source-note { font-size:14px; line-height:22px; }
.edu-main .program-track { border-bottom:1px solid var(--line); padding-block:24px; }
.edu-main .program-track h3 { font-size:21px; line-height:32px; }
.edu-main .program-track p { margin-top:12px; font-size:17px; line-height:27px; }
.edu-main .program-track ul { padding-left:1.2em; }
.edu-main .program-track li { font-size:17px; line-height:27px; }
.edu-main .edu-guide { margin-top:28px; }


.home-insights .article-grid { padding-bottom:0; }
.home-insights .sec-head { margin-bottom:40px; }
.insight-resource-links { display:flex; flex-wrap:wrap; gap:12px 28px; }
.insight-search { padding:28px; margin-bottom:32px; background:var(--sage); }
.insight-search label { display:block; color:var(--ink); font-size:17px; font-weight:600; margin-bottom:12px; }
.insight-search-row { display:flex; align-items:stretch; gap:12px; }
.insight-search input { min-width:0; flex:1; padding:13px 16px; border:1px solid var(--line); background:var(--paper); color:var(--text); border-radius:0; }
.insight-search button { padding:12px 20px; border:1px solid var(--ink); color:var(--ink); background:transparent; }
.insight-search p { margin-top:12px; font-size:14px; }
.insight-empty { padding:32px 0 56px; }
.topic-count { margin-left:5px; font-variant-numeric:tabular-nums; font-size:13px; color:var(--muted); }
[data-insights-directory] [hidden] { display:none!important; }
.article-meta a { text-decoration:underline; text-underline-offset:4px; }
.article-download { display:inline-block; margin-top:16px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.article-download span { color:var(--muted); }
@media (max-width:1068px) {
 .insights-opening, .directory-row, .directory-row:nth-child(even), .platform-opening { gap:36px; }
 .article-body .guide-section h2 { font-size:28px; line-height:35px; }
 .insight-topic > .sec-head h2 { font-size:32px; }
 .company-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:734px) {
 .insight-search { padding:22px 18px; }
 .insight-search-row { flex-direction:column; }
 .insight-search button { align-self:flex-start; }
 .breadcrumb { padding-top:22px; font-size:12px; line-height:20px; }
 .breadcrumb > [aria-current] { max-width:100%; }
 .article-header .article-lead { font-size:19px; line-height:29px; margin-top:20px; }
 .article-body .guide-section h2 { font-size:24px; line-height:31px; }
 .wrap.article-body { padding-bottom:48px; }
 .insights-opening, .directory-row, .directory-row:nth-child(even), .platform-opening { grid-template-columns:1fr; gap:28px; }
 .insights-opening { padding-top:12px; padding-bottom:32px; }
 .insights-opening h2, .directory-row h2, .platform-opening h2, .insight-topic > .sec-head h2 { font-size:28px; line-height:38px; }
 .directory-row { padding-block:32px; }
 .directory-row:nth-child(even) figure { order:0; }
 .directory-row figure { height:240px; }
 .platform-opening > img { height:210px; }
 .service-hub .topic-grid { grid-template-columns:1fr; }
 .service-hub .topic-card .section-kicker { min-height:0; }
 .company-facts { grid-template-columns:1fr 1fr; gap:24px 16px; }
 .company-facts dd { font-size:17px; line-height:27px; }
 .company-history li { display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px; }
 .company-history .rec-date { min-width:0; }
 .related-pages { gap:12px 24px; }
 .project-detail .article-body { width:100%; }
 .edu-main .guide-section { padding-block:24px; }
 
 .article-toc { margin-top:0; }
}

/* catalog.css */
.catalog-intro .related-pages { margin-top:32px; }
.catalog-controls { display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:18px; align-items:end; padding:28px; background:var(--sage); border-top:1px solid var(--ink); }
.catalog-controls[hidden], .catalog-card[hidden], [data-catalog-empty][hidden] { display:none; }
.catalog-controls label { display:grid; gap:10px; font-size:14px; line-height:22px; font-weight:600; }
.catalog-controls input, .catalog-controls select { width:100%; min-height:48px; padding:11px 12px; border:1px solid #aeb9aa; border-radius:0; color:var(--ink); background:var(--paper,#f8f6ef); font:inherit; font-size:16px; }
.catalog-controls button { min-height:48px; padding:10px 16px; border:1px solid var(--ink); background:transparent; color:var(--ink); font:inherit; cursor:pointer; }
.catalog-controls input:focus-visible, .catalog-controls select:focus-visible, .catalog-controls button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
[data-catalog-count] { margin:24px 0; font-size:15px; color:var(--muted); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.catalog-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); padding:28px; background:transparent; }
.catalog-card .section-kicker, .catalog-card .eyebrow { font-size:13px; line-height:22px; margin-bottom:18px; }
.catalog-card h2, .catalog-card h3 { font:600 25px/1.4 var(--sans); color:var(--ink); margin-bottom:18px; }
.catalog-card > p { font-size:16px; line-height:26px; margin-bottom:22px; }
.catalog-card .text-link { margin-top:auto; align-self:flex-start; }
.catalog-card dl { margin:0 0 28px; }
.catalog-card dt { font-size:12px; color:var(--muted); margin-top:16px; }
.catalog-card dd { font-size:14px; line-height:23px; margin:5px 0 0; }
.catalog-card ul { font-size:14px; line-height:23px; padding-left:18px; margin-bottom:24px; }
.catalog-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.catalog-tags span { background:var(--sage); padding:4px 8px; font-size:12px; line-height:20px; }
[data-catalog-empty] { border-block:1px solid var(--line); padding:44px 24px; font-size:17px; line-height:28px; text-align:center; }
.catalog-finder { padding-bottom:64px; }
.catalog-results-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:32px 0 0; }
.catalog-results-heading h2 { font:600 24px/1.5 var(--sans); }
.catalog-results-heading [data-catalog-count] { margin:0; }
.catalog-card .catalog-card-category { font-size:13px; line-height:22px; letter-spacing:.02em; color:var(--ink); }
.course-meta { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:32px; padding-block:24px 36px; border-top:1px solid var(--line); }
.course-meta dt { font-size:13px; line-height:22px; color:var(--muted); }.course-meta dd { margin:10px 0 0; font-size:17px; line-height:28px; }
.course-module .course-module-output { padding:16px 20px; background:var(--sage); }
.catalog-finder > .source-note, .catalog-intro > .source-note { margin-block:24px; }
.course-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:start; padding-bottom:64px; }
.course-layout .course-body { grid-column:1; width:100%; min-width:0; max-width:none; }
.course-aside { position:sticky; top:120px; padding:28px; background:var(--sage); }
.course-aside h2 { font:600 24px/1.4 var(--sans); margin:16px 0; }
.course-aside p, .course-aside li { font-size:15px; line-height:25px; }
.course-aside .button { margin-top:24px; width:100%; justify-content:space-between; }
.course-aside .text-link { margin-top:22px; }
.course-toc { display:flex; flex-wrap:wrap; gap:4px 24px; padding-block:20px; margin-bottom:48px; border-block:1px solid var(--line); }
.course-toc a { font-size:14px; line-height:24px; padding-block:9px; }
.course-toc nav, .course-toc ul { display:flex; flex-wrap:wrap; gap:4px 24px; list-style:none; margin:0; padding:0; }
.course-module { border-top:1px solid var(--line); padding:28px 0; }
.course-module h3 { margin-bottom:20px; }
.course-module dl { display:grid; gap:16px; margin:20px 0 0; }
.course-module dt { font-size:14px; font-weight:600; color:var(--ink); }
.course-module dd { margin:6px 0 0; font-size:17px; line-height:28px; }
.course-module .course-output { padding:16px 20px; background:var(--sage); }
.course-edition-note { border-left:2px solid var(--ink); padding:14px 20px; font-size:14px; line-height:23px; color:var(--muted); max-width:900px; margin:28px 0; }
.course-intro .related-pages, .course-hero .related-pages { margin-block:28px; }
.course-facts { display:grid; gap:20px; grid-template-columns:1fr 1fr; margin-top:28px; }
.course-facts dt { font-size:13px; color:var(--muted); }.course-facts dd { margin:8px 0 0; font-size:17px; line-height:28px; }
@media(max-width:1068px){
 .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-controls { grid-template-columns:1fr 1fr; }
 .course-layout { grid-template-columns:minmax(0,1fr) 240px; gap:32px; }.course-aside { padding:24px; top:110px; }
}
@media(max-width:734px){
 .catalog-grid { grid-template-columns:1fr; gap:20px; }.catalog-card { padding:24px; }.catalog-controls { padding:20px; gap:16px; }.catalog-controls label:nth-child(3) { grid-column:1/-1; }.catalog-controls button { grid-column:1/-1; }
 .catalog-results-heading { align-items:flex-start; flex-direction:column; gap:10px; }.course-meta { grid-template-columns:1fr; gap:18px; padding-block:24px; }.course-meta > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; }.course-meta dd { margin:0; }
 .catalog-card h2, .catalog-card h3 { font-size:23px; }.course-layout { grid-template-columns:1fr; gap:32px; }.course-aside { position:static; }.course-toc { gap:4px 18px; margin-bottom:32px; padding-block:16px; }.course-toc a { font-size:13px; }.course-facts { grid-template-columns:1fr; }
}

.course-top-actions { margin:0 0 32px; }

/* restructure.css */
.purpose-finder > .sec-head, .production-gateway > .sec-head { margin-bottom:36px; }
.purpose-finder .section-kicker, .planning-gateway .section-kicker, .production-gateway .section-kicker { margin-bottom:18px; }
.purpose-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.purpose-card { min-width:0; padding:36px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.purpose-card h3 { font:600 26px/1.5 var(--sans); color:var(--ink); margin-bottom:18px; }
.purpose-card > p:not(.section-kicker) { font-size:17px; line-height:28px; max-width:500px; }
.purpose-card ul { padding:0; margin:24px 0 0; list-style:none; }
.purpose-card li + li { border-top:1px solid var(--line); }
.purpose-card li a { display:flex; gap:18px; justify-content:space-between; align-items:center; padding-block:13px; font-size:16px; line-height:26px; color:var(--ink); }
.purpose-card > .text-link { margin-top:20px; font-size:14px; }
.purpose-card a:hover { text-decoration:underline; text-underline-offset:4px; }
.planning-gateway { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; border-block:1px solid var(--line); margin-block:40px; }
.planning-gateway p:not(.section-kicker) { font-size:17px; line-height:28px; margin-top:22px; }
.planning-gateway .text-link { margin-top:22px; }
.planning-link-list { display:grid; }
.planning-link-list a { display:grid; gap:14px; padding:28px 0; border-bottom:1px solid var(--line); text-decoration:none!important; }
.planning-link-list a:first-child { border-top:1px solid var(--line); }
.planning-link-list strong { display:flex; justify-content:space-between; gap:20px; font-size:21px; line-height:31px; }
.planning-link-list a > span { color:var(--muted); font-size:16px; line-height:26px; }
.planning-link-list a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.production-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.production-route-grid > article { min-width:0; display:flex; flex-direction:column; border-top:2px solid var(--ink); padding:28px 24px; background:var(--sage); }
.production-route-grid h3 { font:600 25px/1.4 var(--sans); color:var(--ink); margin-bottom:20px; }
.production-route-grid p:not(.section-kicker) { font-size:17px; line-height:28px; margin-bottom:24px; }
.production-route-grid .text-link { margin-top:auto; align-self:flex-start; }
.planning-heading { padding-top:48px; padding-bottom:56px; }.planning-heading h1 { font-size:60px; line-height:1.3; margin:24px 0; max-width:1050px; }
.planning-heading .intro-desc { font-size:21px; line-height:33px; max-width:850px; }.planning-heading .related-pages { margin-top:32px; }
.planning-cover { margin-block:0 64px; }.planning-cover img { width:100%; max-height:420px; object-fit:cover; object-position:center; }.planning-cover figcaption { margin-top:12px; font-size:13px; color:var(--muted); }
.planning-layout .article-body { max-width:none; }.planning-layout .article-toc { position:sticky; top:120px; }
.planning-layout .planning-steps { list-style:none; counter-reset:planning; padding:0; margin-top:28px; }
.planning-steps > li { counter-increment:planning; position:relative; padding:24px 0 24px 48px; border-top:1px solid var(--line); margin:0; }.planning-steps > li::before { content:counter(planning,decimal-leading-zero); position:absolute; left:0; top:26px; color:var(--ink); font-size:15px; }
.worked-example { border:1px solid var(--line); background:#efeee5; padding:28px; margin-top:28px; }.worked-example .section-kicker { font-size:13px; margin-bottom:16px; }.worked-example h3 { margin:0 0 20px; }.worked-example p + p { margin-top:16px; }
.planning-related .planning-link-list { margin-top:28px; }
.resource-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }.resource-tool { border:1px solid var(--line); padding:32px; }.resource-tool h3 { font-size:25px; line-height:35px; margin:18px 0; }.resource-tool p { font-size:17px; line-height:28px; }.resource-tool .text-link { margin-top:24px; }
#company,#studio,#partners { scroll-margin-top:130px; }
.table-scroll-hint { display:none; }
.course-inquiry-select { display:block; margin-bottom:28px; font-size:15px; color:var(--ink); font-weight:600; }
.course-inquiry-select select { display:block; width:100%; max-width:100%; margin-top:12px; min-height:52px; padding:12px; border:1px solid #b6c3b1; border-radius:0; background:var(--paper,#f8f6ef); color:var(--ink); font:400 16px/1.5 var(--sans); }
#selected-course { font-weight:600; color:var(--ink); }.collaboration-options { margin-top:28px; }
@media(max-width:1068px){
 .planning-gateway { gap:40px; }.planning-heading h1 { font-size:48px; }.planning-layout .article-toc { top:110px; }.production-route-grid { gap:18px; }.production-route-grid > article { padding:24px 20px; }.purpose-card { padding:28px; }
}
@media(max-width:734px){
 .purpose-grid,.production-route-grid,.planning-gateway,.resource-tools { grid-template-columns:1fr; }.purpose-card { padding:26px 22px; }.purpose-card h3 { font-size:23px; }.purpose-card > p:not(.section-kicker) { font-size:16px; line-height:26px; }.purpose-card li a { font-size:15px; }.planning-gateway { gap:32px; margin-block:20px; }.planning-gateway h2 { font-size:28px; line-height:38px; }.planning-link-list strong { font-size:19px; line-height:28px; }.planning-heading { padding-top:32px; padding-bottom:40px; }.planning-heading h1 { font-size:36px; margin:20px 0; }.planning-heading .intro-desc { font-size:19px; line-height:29px; }.planning-heading .related-pages { align-items:flex-start; flex-direction:column; }.planning-cover { margin-bottom:40px; }.planning-cover img { height:230px; }.planning-layout .article-toc { position:static; }.worked-example { padding:22px; }.resource-tool { padding:24px; }
 .content-table.is-scrollable .table-scroll-hint { display:block; position:sticky; left:0; margin:0 0 12px; font-size:12px; line-height:20px; color:var(--muted); }
}

/* Topic-first headings; labels are removed in source markup. */
.hero-k h1, .page-intro h1, .planning-heading h1, .article-header h1 { overflow-wrap:anywhere; text-wrap:balance; }
.hero-k .hero-k-desc { max-width:780px; }
.hero-index li a { min-height:68px; }
.hero-index .hi-title { font-size:17px; line-height:1.6; }
.ccard-body h3 { margin-top:0; }
.planning-heading h1 { margin-top:0; }
.resource-tool h3 { margin-top:0; }
.content-service-section .format-list article { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:40px; }
.contact-strip h2 { max-width:20em; font-size:clamp(28px,3vw,40px); }
@media(max-width:734px) {
 .content-service-section .format-list article { grid-template-columns:1fr; gap:12px; }
 .hero-index .hi-title { font-size:15px; }
 .contact-strip h2 { font-size:27px; }
}

/* Hub entry points retained when detailed destinations leave the global menu. */
.hub-shortcuts{display:grid;justify-items:start;gap:16px;margin-top:28px;min-width:0}
.hub-shortcuts .hub-shortcuts-primary{max-width:100%;min-width:0;min-height:50px;font-size:16px;gap:24px}
.hub-shortcuts-secondary{display:flex;flex-wrap:wrap;gap:8px 24px;min-width:0}
.hub-shortcut-link{display:inline-flex;align-items:baseline;gap:16px;max-width:100%;min-width:0;padding-block:10px;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;line-height:1.75;overflow-wrap:anywhere}
.hub-shortcut-link>span{flex:none}
.hub-shortcut-link:hover{border-color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.hub-shortcut-link:focus-visible{outline:3px solid #8b5e13;outline-offset:5px}
.hub-shortcuts-formats{gap:0;justify-items:stretch;max-width:460px;border-top:1px solid var(--line)}
.hub-shortcuts-formats .hub-shortcut-link{justify-content:space-between;padding-block:12px}
@media(max-width:734px){.hub-shortcuts{margin-top:24px;gap:14px}.hub-shortcuts-secondary{display:grid;justify-items:start;gap:4px}.hub-shortcuts-formats{gap:0;max-width:none}.hub-shortcuts .hub-shortcuts-primary{font-size:15px;padding-inline:20px}}

/* editorial.css */
/* Financial education identity, with topic images kept in semantic HTML. */
:root{--fs-display:clamp(32px,3.8vw,56px);--fs-title:clamp(26px,2.4vw,36px);--fs-sub:22px;--fs-body:17px;--fs-cap:15px;--hero-light:#faf9f4;--hero-shadow:#10271f;--visual-gap:48px;--visual-rule:1px solid var(--line);color-scheme:only light}
.finance-hero{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:center;overflow:hidden;background:var(--hero-shadow)}
.finance-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.finance-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,27,22,.64) 0%,rgba(10,27,22,.28) 48%,rgba(10,27,22,0) 80%)}
.finance-hero-content{width:100%;padding-block:100px 110px}
.finance-hero h1{font:600 var(--fs-display)/1.43 var(--serif);letter-spacing:-.045em;color:var(--hero-light);max-width:800px;text-wrap:balance}
.finance-hero-content>p{font-size:var(--fs-body);line-height:1.95;color:var(--hero-light);max-width:650px;margin-top:28px}
.finance-hero .hero-actions{gap:32px;margin-top:36px}
.hero-contact{color:var(--hero-light);display:inline-flex;align-items:center;gap:28px;font-size:var(--fs-cap);padding-block:12px;border-bottom:1px solid currentColor}
.hero-contact:hover{color:#dce8cc}.finance-hero .button{font-size:var(--fs-cap)}

.education-proof{display:flex;align-items:center;gap:48px;padding-block:30px;border-bottom:var(--visual-rule)}
.education-proof>p{display:flex;flex-direction:column;gap:5px}.education-proof strong{font-size:var(--fs-sub);color:var(--ink);font-weight:600}.education-proof span{font-size:var(--fs-cap)}.education-proof>.text-link{margin-left:auto;font-size:var(--fs-cap);white-space:nowrap}
.education-story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:72px;padding-block:64px 80px;border-top:var(--visual-rule)}
.education-story h2{font-size:var(--fs-title)}.education-story>div>p{font-size:var(--fs-body);line-height:1.9;margin-block:28px}.education-story .hero-video{margin:0;width:100%}.education-story .hero-video video{width:100%;aspect-ratio:16/9;object-fit:cover}
.purpose-grid{gap:30px;border:0}.purpose-card{padding:0 0 28px;border:0;border-bottom:var(--visual-rule)}.purpose-image{height:245px;margin-bottom:28px;overflow:hidden}.purpose-image img{width:100%;height:100%;object-fit:cover}.purpose-card:nth-child(3) img{object-position:82% center}.purpose-card h3{font-size:var(--fs-sub)}
.visual-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:var(--visual-gap);padding-top:46px;padding-bottom:56px}
.visual-intro>.page-intro,.visual-intro>.planning-heading{padding:0;min-width:0;max-width:none;margin:0}
.visual-intro h1{font:600 var(--fs-display)/1.4 var(--serif);font-size:clamp(32px,3.15vw,46px);max-width:17em;text-wrap:balance;margin-top:0}
.visual-intro .intro-desc{font-size:var(--fs-body);line-height:1.85;margin-top:24px;max-width:none}
.intro-visual{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.intro-visual img{width:100%;height:100%;min-height:310px;max-height:420px;object-fit:cover;object-position:center}.intro-visual.visual-concept:has(img[src*="education-hero"]) img{object-position:80% center}
.intro-visual figcaption,.article-cover figcaption,.inquiry-visual figcaption,.project-source-visual figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}
.article-visual{padding-bottom:48px}.article-cover img{width:100%;height:340px;object-fit:cover}.article-cover:has(img[src*="education-hero"]) img{object-position:right 55%}
.article-card-image{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:24px}.article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.article-card-image:hover img{transform:scale(1.025)}.article-card h3{font-size:var(--fs-sub)}
.article-body .article-card-image{margin-bottom:20px}.article-body .article-card-image img{margin:0}
.project-source-visual{float:right;width:190px;margin:0 0 24px 28px;background:var(--beige);padding:16px}.project-source-visual img{width:100%;height:auto}.project-source-visual+ul{min-height:260px}.project-source-visual figcaption{line-height:1.7}
.inquiry-visual{margin-bottom:28px}.inquiry-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.inquiry-guide:has(.inquiry-visual){padding-top:0;border-top:0}
.course-edition-note{border-left:0;border-block:var(--visual-rule);padding:18px 0;font-size:var(--fs-cap);line-height:1.7}
.course-summary .course-edition-note{margin-top:20px}.course-top-actions{margin-top:0}
.planning-heading .related-pages{gap:20px}.planning-heading .button{padding-inline:18px;font-size:var(--fs-cap)}
@media(max-width:1068px){.finance-hero{min-height:560px}.finance-hero-content{padding-block:80px}.finance-hero h1{font-size:44px}.finance-hero>img{object-position:65% center}.finance-hero-shade{background:linear-gradient(90deg,rgba(10,27,22,.72),rgba(10,27,22,.28))}.education-proof{gap:28px;flex-wrap:wrap}.education-proof>.text-link{margin-left:0}.visual-intro{gap:32px}.visual-intro h1{font-size:36px}.intro-visual img{min-height:300px}.education-story{gap:40px}.purpose-image{height:220px}}
@media(max-width:734px){.finance-hero{min-height:610px;align-items:flex-start}.finance-hero-content{padding-top:70px;padding-bottom:100px}.finance-hero h1{font-size:34px;line-height:1.5;max-width:12em;text-wrap:initial;overflow-wrap:anywhere}.finance-hero h1 br{display:none}.finance-hero-content>p{font-size:var(--fs-body);line-height:1.85;margin-top:26px;max-width:22em}.finance-hero-content>p br{display:none}.finance-hero>img{object-position:65% center}.finance-hero-shade{background:linear-gradient(90deg,rgba(10,27,22,.84),rgba(10,27,22,.44)),linear-gradient(0deg,transparent,rgba(10,27,22,.2))}.finance-hero .hero-actions{gap:20px;flex-wrap:wrap;margin-top:30px}.finance-hero .button{padding-inline:20px;gap:22px}.hero-contact{gap:15px}.education-proof{display:grid;gap:20px;padding-block:28px}.education-proof strong{font-size:20px}.education-proof>p:nth-child(2) strong{font-size:var(--fs-body)}.education-proof>.text-link{justify-self:start}.education-story{grid-template-columns:1fr;gap:30px;padding-block:44px}.education-story h2{font-size:28px}.education-story>div>p{margin-block:20px}.purpose-grid{gap:30px}.purpose-image{height:auto;aspect-ratio:16/9;margin-bottom:22px}.purpose-card{padding:0 0 24px}.visual-intro{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:32px}.visual-intro h1{font-size:34px;max-width:none}.visual-intro .intro-desc{font-size:var(--fs-body);line-height:1.8;margin-top:20px}.intro-visual img{min-height:0;max-height:none;aspect-ratio:16/9;height:auto;object-fit:cover}.article-visual{padding-bottom:32px}.article-cover img{height:auto;aspect-ratio:16/9;object-fit:cover}.article-card-image{margin-bottom:18px}.project-source-visual{float:none;width:170px;margin:24px 0}.project-source-visual+ul{min-height:0}.inquiry-visual{max-width:420px}.planning-heading .related-pages{margin-top:24px}.article-toc{font-size:var(--fs-cap)}}
@media(prefers-reduced-motion:reduce){.article-card-image img{transition:none}.article-card-image:hover img{transform:none}}

.project-production-visual{margin-bottom:32px}.project-production-visual img{width:100%;height:auto;max-height:320px;object-fit:cover}.project-production-visual figcaption{font-size:var(--fs-cap);margin-top:8px;color:var(--muted)}

.article-cover:has(img[src*="video-interview"]) img{object-position:center 28%}

/* unique-images.css */
/* Each source image has one visible page placement. */
.company-identity{max-width:360px;margin:0 0 30px}
.company-identity img{width:100%;height:auto}
.client-grid .client-logo{filter:grayscale(1);opacity:.86;transition:filter .2s ease,opacity .2s ease}
@media(hover:hover){.client-grid li:hover .client-logo{filter:grayscale(0);opacity:1}}
.production-video-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.production-video-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;padding:28px 0;border-bottom:1px solid var(--line)}
.production-video-list h3{font-size:var(--fs-sub,22px);line-height:1.6;overflow-wrap:anywhere}
.production-video-list p{font-size:var(--fs-body,17px);line-height:1.8;margin-top:10px}
.production-video-list .production-video-meta{font-size:var(--fs-cap,15px);color:var(--muted);margin-top:12px}
.production-video-link{display:inline-flex;align-items:baseline;gap:18px;color:var(--ink);font-size:var(--fs-cap,15px);padding-block:10px;border-bottom:1px solid var(--ink)}
.production-video-link:hover{text-decoration:underline;text-underline-offset:4px}
.case-media-type .case-graphic{font-size:clamp(44px,6vw,82px)}
.project-record-source{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:center;gap:48px;padding-block:4px 40px;max-width:980px}
.project-record-source figure{min-width:0}
.project-record-source figure img{width:100%;height:auto;border:1px solid var(--line)}
.project-record-source figcaption{font-size:13px;line-height:1.75;margin-top:10px;color:var(--muted)}
.project-record-source h3{font-size:var(--fs-sub,22px);line-height:1.6;overflow-wrap:anywhere}
.project-record-source p{font-size:var(--fs-body,17px);line-height:1.85;margin-top:18px}
.project-record-source .text-link{font-size:var(--fs-cap,15px);margin-top:22px}
@media(max-width:734px){.company-identity{max-width:280px;margin-bottom:24px}.production-video-list>li{grid-template-columns:minmax(0,1fr);gap:14px;padding-block:24px}.production-video-link{justify-self:start;max-width:100%}.project-record-source{grid-template-columns:minmax(0,1fr);gap:24px;padding-bottom:32px}.project-record-source figure{max-width:280px}.project-record-source h3{font-size:21px}.case-media-type .case-graphic{font-size:60px}}
@media(prefers-reduced-motion:reduce){.client-grid .client-logo{transition:none}}

.brand-wordmark{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:23px;line-height:1;letter-spacing:-1px;white-space:nowrap;color:var(--ink)}
.footer-brand .brand-wordmark{font-size:22px;font-weight:700;letter-spacing:-.8px}
.editorial-stage{position:relative;display:block;width:100%;height:100%;isolation:isolate}
.editorial-stage>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.editorial-stage-type{display:flex;height:100%;padding:12%;flex-direction:column;justify-content:center;gap:20px;color:var(--ink)}
.editorial-stage-type strong{font:600 clamp(30px,3vw,46px)/1.55 var(--serif);letter-spacing:-.035em}
.editorial-stage-type>span{font-size:16px;letter-spacing:.02em}
.contents-feature{margin-top:0;margin-bottom:16px}
.contents-feature img{width:100%;height:360px;object-fit:cover;object-position:center 58%}
.content-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
.directory-row.directory-row-text{display:block;padding-block:38px;border-bottom:1px solid var(--line)}
.directory-row-text h2{font-size:var(--fs-title)}
.purpose-card{border-top:1px solid var(--line);padding-top:28px}
.article-card{border-top:1px solid var(--line);padding-top:26px}
@media(max-width:734px){.brand-wordmark{font-size:21px}.contents-feature img{height:auto;aspect-ratio:16/9}.content-directory{grid-template-columns:1fr}.directory-row.directory-row-text{padding-block:30px}.editorial-stage-type{padding:11%;gap:16px}.editorial-stage-type strong{font-size:32px}.editorial-stage-type>span{font-size:15px}.purpose-card{padding-top:22px}.article-card{padding-top:22px}}

/* pillar-links.css */
/* Contextual topic paths. Scoped styles preserve existing page layouts. */
.pillar-links{padding-block:48px 64px;min-width:0}
.pillar-links-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;padding-top:30px;border-top:1px solid var(--line)}
.pillar-links-heading>div{flex:1;min-width:0;max-width:820px}
.pillar-links h2{font:600 var(--fs-title,32px)/1.5 var(--serif);letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere}
.pillar-links-heading p{font-size:var(--fs-body,17px);line-height:1.85;margin-top:18px;max-width:760px}
.pillar-links-parent{flex:0 1 260px;display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-width:0;color:var(--ink);font-size:var(--fs-cap,15px);font-weight:600;line-height:1.7;padding:8px 0 12px;border-bottom:1px solid var(--ink);overflow-wrap:anywhere}
.pillar-links-parent>span{flex:none}
.pillar-links-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:32px}
.pillar-link-group{min-width:0;border-top:1px solid var(--line);padding-top:22px}
.pillar-link-group h3{font-size:var(--fs-sub,22px);line-height:1.55;overflow-wrap:anywhere}
.pillar-link-group>p{font-size:var(--fs-cap,15px);line-height:1.8;margin-top:12px}
.pillar-link-group ul{list-style:none;padding:0;margin:18px 0 0}
.pillar-link-group li{margin:0;padding:0;border-top:1px solid var(--line)}
.pillar-link-group li:last-child{border-bottom:1px solid var(--line)}
.pillar-link-group li a{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:15px 0;font-size:var(--fs-cap,15px);line-height:1.75;color:var(--ink);text-decoration:none;min-width:0}
.pillar-link-group li a>span:first-child{min-width:0;overflow-wrap:anywhere}
.pillar-link-group li a>span:last-child{flex:none;font-weight:400}
.pillar-links a:hover{color:#42663a;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.pillar-links a:focus-visible{outline:3px solid #8b5e13;outline-offset:5px}
.pillar-links-index{padding-top:18px}
@media(max-width:1068px){.pillar-links-heading{gap:28px}.pillar-links-groups{gap:24px}.pillar-links-parent{flex-basis:210px}}
@media(max-width:734px){.pillar-links{padding-block:30px 42px}.pillar-links-heading{display:block;padding-top:24px}.pillar-links h2{font-size:28px;text-wrap:initial}.pillar-links-heading p{margin-top:16px}.pillar-links-parent{width:100%;max-width:460px;margin-top:20px;gap:18px}.pillar-links-groups{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}.pillar-link-group{padding-top:20px}.pillar-link-group h3{font-size:21px}.pillar-link-group>p{margin-top:10px}.pillar-link-group ul{margin-top:14px}.pillar-link-group li a{padding-block:14px}.pillar-links-index{padding-top:10px}}

/* design-system.css */
/* Shared type roles, loaded after the existing editorial styles.
   Brand exceptions: MaruBuri headings, the cream/green palette, square CTAs,
   88/72px header and its 1069px breakpoint remain. The home display stays
   smaller and more open than the guide's 80px sans-serif marketing hero.
   Article H1/H2 keep their existing 48/40/32 and 32/28/24 scales.
   Tables, FAQ controls and the new article contents disclosure have their
   own scoped styles; this sheet does not change those components. */
:root {
  --ds-section-size: 36px;
  --ds-section-line: 48px;
  --ds-card-size: 24px;
  --ds-card-line: 31px;
  --ds-card-tracking: .009em;
  --ds-topic-size: 28px;
  --ds-topic-line: 35px;
  --ds-topic-tracking: .007em;
  --ds-lead-size: 21px;
  --ds-lead-line: 32px;
  --ds-lead-tracking: .011em;
  --ds-home-size: 56px;
  --ds-home-line: 72px;
  --ds-intro-size: 48px;
  --ds-intro-line: 60px;
  --ds-document-heading-tracking: .004em;
  --fs-display: var(--ds-home-size);
  --fs-title: var(--ds-section-size);
}

/* Neutral fallback for older sans-serif headings. Role-specific document
   and card tracking below takes precedence; the home H1 is unaffected. */
h2, h3, h4 { letter-spacing: 0; }

/* One section-heading role, regardless of whether the markup is inside a
   section header, a split editorial panel or a contextual reading section.
   More specific .article-body document-heading rules continue to win. */
.sec-head h2,
.section-heading h2,
.content-band > h2,
.guide-section > h2,
.education-story h2,
.planning-gateway h2,
.contact-strip h2,
.content-service-section .sec-head h2,
.production-scope h2,
.publisher-bridge h2,
.directory-row-text h2,
.about-story h2,
.about-detail h2,
.guide-feature-copy h2,
.library-connections h2,
.work-editorial .sec-head h2,
.insight-topic > .sec-head h2,
.pillar-links h2 {
  font-size: var(--ds-section-size);
  line-height: var(--ds-section-line);
  font-weight: 600;
  letter-spacing: 0;
}
.article-body h2 {
  font-size: var(--structure-title);
  line-height: var(--structure-title-line);
  letter-spacing: var(--ds-document-heading-tracking);
}

.finance-hero h1 {
  font-size: var(--ds-home-size);
  line-height: var(--ds-home-line);
  /* This optical spacing belongs only to the established home wordmark copy. */
  letter-spacing: -.045em;
}
.visual-intro h1,
.content-service-hero h1 {
  font-size: var(--ds-intro-size);
  line-height: var(--ds-intro-line);
  font-weight: 600;
  letter-spacing: 0;
}

/* A lead is distinct from ordinary 17/27 body copy. Specific selectors also
   prevent the former hub-only :not() rule from creating a second scale. */
.page-intro .intro-desc,
.hub-intro > p:not(.section-kicker):not(.eyebrow),
.visual-intro .intro-desc,
.planning-heading .intro-desc,
.content-service-hero .intro-desc,
.finance-hero-content > p {
  font-size: var(--ds-lead-size);
  line-height: var(--ds-lead-line);
  font-weight: 600;
  letter-spacing: var(--ds-lead-tracking);
}
.article-header .article-lead,
.article-header .intro-desc {
  font-size: 21px;
  line-height: 32px;
  font-weight: 400;
  letter-spacing: .011em;
}

/* Sans-serif card headings do not inherit the old global negative tracking. */
.catalog-card h2,
.catalog-card h3,
.purpose-card h3,
.production-route-grid h3,
.article-card h2,
.article-card h3,
.ccard h3,
.pillar-link-group h3,
.resource-tool h3 {
  font-family: var(--sans);
  font-size: var(--ds-card-size);
  line-height: var(--ds-card-line);
  font-weight: 600;
  letter-spacing: var(--ds-card-tracking);
}
.topic-card h2,
.topic-card h3 {
  font-family: var(--sans);
  font-size: var(--ds-topic-size);
  line-height: var(--ds-topic-line);
  font-weight: 600;
  letter-spacing: var(--ds-topic-tracking);
}
.article-body .article-card h3,
.related-reading .article-card h3,
.related-reading .topic-card h3,
.edu-main .topic-card h3 {
  font-size: 21px;
  line-height: 32px;
  letter-spacing: .011em;
}

/* Keep ordinary editorial paragraphs at the same reading rhythm. Helper
   labels, captions and contact details retain their smaller UI type. */
.education-story > div > p,
.purpose-card > p:not(.section-kicker),
.planning-gateway p:not(.section-kicker),
.production-route-grid p:not(.section-kicker),
.pillar-links-heading p,
.format-list p,
.production-scope li p,
.production-video-list p:not(.production-video-meta),
.about-story p:not(.eyebrow):not(.section-note),
.about-detail p:not(.eyebrow) {
  font-size: 17px;
  line-height: 27px;
  letter-spacing: 0;
}

@media (max-width: 1068px) {
  :root {
    --ds-section-size: 32px;
    --ds-section-line: 39px;
    --ds-topic-size: 24px;
    --ds-topic-line: 31px;
    --ds-topic-tracking: .009em;
    --ds-home-size: 44px;
    --ds-home-line: 58px;
    --ds-intro-size: 40px;
    --ds-intro-line: 52px;
    --ds-document-heading-tracking: .007em;
  }

  /* 736px outer width minus two 22px gutters = 692px reading width.
     On smaller screens these gutters preserve the existing mobile inset. */
  .article-layout.wrap,
  .course-layout.wrap,
  .edu-layout.wrap {
    width: 100%;
    max-width: 736px;
    padding-inline: 22px;
    margin-inline: auto;
  }
  .article-layout:not(.article-summary-first),
  .course-layout,
  .edu-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .article-layout:not(.article-summary-first) > .article-body,
  .course-layout > .course-body,
  .edu-layout > .edu-main {
    grid-column: 1;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .article-layout:not(.article-summary-first) .article-toc {
    grid-column: 1;
    grid-row: auto;
    position: static;
    top: auto;
  }
  .course-layout > .course-aside,
  .edu-layout > .edu-aside {
    position: static;
    top: auto;
    grid-column: 1;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 734px) {
  :root {
    --ds-section-size: 28px;
    --ds-section-line: 35px;
    --ds-card-size: 21px;
    --ds-card-line: 32px;
    --ds-card-tracking: .011em;
    --ds-topic-size: 21px;
    --ds-topic-line: 32px;
    --ds-topic-tracking: .011em;
    --ds-lead-size: 19px;
    --ds-lead-line: 25px;
    --ds-lead-tracking: .012em;
    --ds-home-size: 34px;
    --ds-home-line: 46px;
    --ds-intro-size: 34px;
    --ds-intro-line: 44px;
    --ds-document-heading-tracking: .009em;
  }
  /* Long article leads keep the calmer reading line-height as an explicit
     document exception; short marketing leads use the guide's 19/25. */
  .article-header .article-lead,
  .article-header .intro-desc {
    font-size: 19px;
    line-height: 29px;
    letter-spacing: .012em;
  }
}

/* content-navigation.css */
/* Consolidated education navigation and summary-first article reading. */
.education-field-guide .answer-summary { margin-bottom:36px; }
.education-field-card > p + p { margin-top:12px; }
.education-field-card :is(.field-learning-topics,.field-course-options) { margin-top:28px; }
.education-field-card h4 { font:600 17px/27px var(--sans); letter-spacing:0; color:var(--ink); }
.education-field-card .field-learning-topics ul { list-style:disc; padding-left:1.2em; margin-top:12px; }
.education-field-card .field-learning-topics li { font-size:17px; line-height:27px; }
.education-field-card .field-learning-topics li + li { border:0; margin-top:6px; }
.education-field-card .field-course-options ul { margin-top:10px; }
.education-field-card .field-course-options li a { font-size:17px; line-height:27px; }

.article-layout.article-summary-first { display:block; }
.article-summary-first > .article-body { display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px 64px; align-items:start; max-width:none; }
.article-summary-first > .article-body > .answer-summary { grid-column:2; grid-row:1; width:100%; max-width:780px; margin:0; }
.article-summary-first .article-toc { grid-column:1; grid-row:1 / span 2; align-self:start; padding-top:0; }
.article-summary-first .article-copy { grid-column:2; grid-row:2; min-width:0; max-width:780px; }
.article-copy > .guide-section { padding-block:0; }
.article-copy > .guide-section + .guide-section { margin-top:56px; }
.article-copy > .article-sources { margin-bottom:0; }
.article-summary-first .article-toc-panel { margin:0; padding:0; }
.article-toc-panel > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:16px; cursor:pointer; list-style:none; }
.article-toc-panel > summary::-webkit-details-marker { display:none; }
.article-toc-panel > summary::after { content:'+'; flex:none; font-size:22px; font-weight:400; }
.article-toc-panel[open] > summary::after { content:'−'; }
.article-summary-first .article-toc ol { list-style:none; margin:0; padding:0 0 12px; }
.article-summary-first .article-toc li { margin:0; }
.article-summary-first .article-toc a { font-size:15px; line-height:1.6; text-decoration:none; }
.article-toc-panel > summary:focus-visible, .article-summary-first .article-toc a:focus-visible { outline:3px solid #8b5e13; outline-offset:4px; }

.related-paths { padding-block:48px 56px; }
.related-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; margin-top:32px; }
.related-topic-group { min-width:0; }
.related-topic-group > h3 { font-size:21px; line-height:32px; letter-spacing:.011em; margin:0 0 20px; }
.related-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.related-card-grid :is(.article-card,.catalog-card) { min-width:0; margin:0; }
.related-card-grid .catalog-card { padding:24px 20px; }
.related-paths .related-link-list { list-style:none; padding:0; margin:16px 0 0; }
.related-link-list li { border-top:1px solid var(--line); margin:0; }
.related-link-list li:last-child { border-bottom:1px solid var(--line); }
.related-link-list a { display:flex; justify-content:space-between; align-items:baseline; gap:16px; min-height:44px; padding-block:14px; font-size:17px; line-height:27px; color:var(--ink); }
.related-link-list a > span:first-child { min-width:0; overflow-wrap:anywhere; }
.related-link-list a > span:last-child { flex:none; }
.related-paths-more { margin-top:32px; }
.related-paths-more .related-link-list { display:flex; flex-wrap:wrap; gap:12px 32px; }
.related-paths-more .related-link-list li { border:0; }
.article-copy .related-paths { margin-top:56px; padding-bottom:0; }
.article-copy .related-topic-grid { grid-template-columns:minmax(0,1fr); }
.article-copy .related-paths .pillar-links-heading { display:block; }
.article-copy .related-paths .pillar-links-parent { max-width:100%; margin-top:20px; }
.article-copy .related-topic-group > h3 { margin-bottom:20px; }
.article-copy .related-paths .related-link-list { padding-left:0; }
.article-copy .related-paths .related-link-list li + li { margin-top:0; }

@media(max-width:1068px) {
 .article-summary-first > .article-body { grid-template-columns:minmax(0,1fr); gap:28px; }
 .article-summary-first > .article-body > .answer-summary { grid-column:1; grid-row:auto; }
 .article-summary-first .article-toc { grid-column:1; grid-row:auto; position:static; border-bottom:1px solid var(--line); }
 .article-summary-first .article-copy { grid-column:1; grid-row:auto; max-width:none; }
 .related-card-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:734px) {
 .education-field-guide .answer-summary { margin-bottom:28px; }
 .education-field-card :is(.field-learning-topics,.field-course-options) { margin-top:24px; }
 .article-copy > .guide-section + .guide-section { margin-top:40px; }
 .related-paths { padding-block:32px 40px; }
 .related-topic-grid { grid-template-columns:minmax(0,1fr); gap:32px; margin-top:28px; }
 .article-copy .related-paths { margin-top:40px; }
 .related-paths-more .related-link-list { display:block; }
}

/* responsive-tables.css */
/* Keep one semantic table. Mobile field labels reuse the original column headers. */
.content-table[data-table-layout] {
  min-width: 0;
}

@media (max-width: 734px) {
  .content-table.content-table--stack {
    overflow: visible;
  }

  .content-table.content-table--stack .table-scroll-hint {
    display: none;
  }

  .content-table.content-table--stack table,
  .content-table.content-table--stack tbody,
  .content-table.content-table--stack tbody > tr {
    display: block;
    width: 100%;
    min-width: 0;
  }

  /* Keep real column headers available to assistive technology and header IDs. */
  .content-table.content-table--stack thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    padding: 0;
  }

  .content-table.content-table--stack caption {
    display: block;
    width: 100%;
  }

  .content-table.content-table--stack tbody > tr {
    border-top: 1px solid var(--line);
    padding-bottom: 24px;
  }

  .content-table.content-table--stack tbody > tr:last-child {
    border-bottom: 1px solid var(--line);
  }

  .content-table.content-table--stack tbody > tr > :is(th, td) {
    display: block;
    box-sizing: border-box;
    min-width: 0;
    border: 0;
    padding: 0;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .content-table.content-table--stack tbody > tr > th {
    width: 100%;
    padding-top: 24px;
    margin-bottom: 16px;
    color: var(--ink);
    font-size: 21px;
    font-weight: 600;
    line-height: 27px;
    letter-spacing: .011em;
  }

  .content-table.content-table--stack tbody > tr > td {
    width: 100%;
    max-width: 300px;
    font-size: 17px;
    font-weight: 400;
    line-height: 27px;
    letter-spacing: 0;
  }

  .content-table.content-table--stack tbody > tr > td + td {
    margin-top: 20px;
  }

  .content-table.content-table--stack td::before {
    content: attr(data-label);
    /* The real column header supplies the accessible label; avoid a second reading. */
    content: attr(data-label) / "";
    display: block;
    margin-bottom: 6.8px;
    color: var(--ink);
    font-size: 17px;
    font-weight: 600;
    line-height: 27px;
    letter-spacing: 0;
  }

  /* Deliberate comparison tables keep their horizontal relationship without JS. */
  .content-table.content-table--scroll {
    overflow-x: auto;
  }

  .content-table.content-table--scroll .table-scroll-hint {
    display: block;
    position: sticky;
    left: 0;
    max-width: 100%;
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 12px;
    line-height: 20px;
  }
}

/* usability.css */
/* Keep the existing FAQ rows, with the whole question row as the target. */
.faq-list > .faq-item,
.article-body .faq-item { padding-block: 0; }
.faq-item > summary {
  min-height: 44px;
  padding: 24px 36px 24px 0;
}
.faq-item > summary::after { top: 24px; }
.faq-item[open] > summary { padding-bottom: 0; }
.faq-item > .faq-answer { margin-top: 18px; padding-bottom: 24px; }
.faq-item .faq-answer p { margin-top: 0; }
.faq-item > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }

/* Standalone actions retain their appearance and gain a full touch target. */
.text-link { min-height: 44px; }
.course-toc a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; }
.source-link, .article-download { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
.article-sources li > a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }

@media (max-width: 734px) {
  .faq-item > summary { padding-block: 21px; }
  .faq-item > summary::after { top: 21px; }
  .faq-item[open] > summary { padding-bottom: 0; }
  .faq-item > .faq-answer { margin-top: 16px; padding-bottom: 24px; }
}

/* trust.css */
.trust-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; padding-block: 72px; border-top: 1px solid var(--line); }
.trust-feature > div { min-width: 0; }
.trust-feature h2 { margin: 0 0 24px; font-size: var(--ds-section-size); line-height: var(--ds-section-line); font-weight: 600; letter-spacing: 0; }
.trust-feature p { margin: 0 0 20px; font-size: 17px; line-height: 27px; }
.trust-feature h3 { margin: 32px 0 14px; font-size: 21px; line-height: 32px; font-weight: 600; letter-spacing: .011em; }
.trust-facts { margin-top: 28px; border-top: 1px solid var(--line); }
.trust-facts > div { padding-block: 16px; border-bottom: 1px solid var(--line); }
.trust-facts dt { font-size: 14px; line-height: 22px; color: var(--muted); }
.trust-facts dd { margin: 6px 0 0; font-size: 17px; line-height: 27px; }
.trust-document { max-width: 864px; padding-bottom: 64px; }
.trust-document p,.trust-document li,.trust-document dd { font-size: 17px; line-height: 27px; }
.trust-document .guide-section { margin-block: 0; padding-block: 38px; }
.trust-document h2 { margin-bottom: 24px; }
.trust-document p + p { margin-top: 18px; }
.trust-document > .source-note { margin-block: 0; font-size: 14px; }
.trust-document .related-pages { margin-top: 24px; }
.trust-document ul { padding-left: 24px; }
.trust-document ul > li + li { margin-top: 12px; }
.trust-principles { margin-top: 28px; }
.trust-principles > div { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 24px; padding-block: 22px; border-top: 1px solid var(--line); }
.trust-principles dt { font-size: 19px; line-height: 29px; font-weight: 600; }
.trust-principles dd { margin: 0; }
.trust-steps { counter-reset: quality; list-style: none; padding: 0; margin-top: 32px; }
.trust-steps > li { counter-increment: quality; position: relative; padding: 28px 0 28px 56px; border-top: 1px solid var(--line); }
.trust-steps > li::before { content: counter(quality,decimal-leading-zero); position: absolute; left: 0; top: 30px; font-family: var(--serif); font-size: 24px; color: var(--muted); }
.trust-steps h3 { margin: 0 0 16px; font-size: 24px; line-height: 31px; letter-spacing: .009em; }
.trust-record { background: #ecefe7; padding: 16px 18px; margin-bottom: 0; }
.trust-record strong { display: block; margin-bottom: 6px; }
.article-responsibility { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.article-responsibility p { font-size: 15px; line-height: 25px; margin: 0; }
.article-responsibility a { text-decoration: underline; text-underline-offset: 4px; }
.page-intro .keep-together { white-space: nowrap; }
.leadership-profile .project-facts > div { grid-template-columns: 180px minmax(0,1fr); }
.leadership-profile .project-facts dt,
.leadership-profile .project-facts dd { font-size: 17px; line-height: 27px; }
.leadership-profile #career .project-facts dt { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media(max-width:1068px) {
 .trust-feature { gap: 40px; padding-block: 56px; }
 .trust-document { max-width: 736px; padding-inline: 22px; }
}
@media(max-width:734px) {
 .leadership-profile .project-facts > div { grid-template-columns: minmax(0,1fr); gap: 6px; }
 .trust-feature { grid-template-columns: minmax(0,1fr); gap: 24px; padding-block: 40px; }
 .trust-feature h3 { margin-top: 24px; }
 .trust-principles > div { grid-template-columns: minmax(0,1fr); gap: 10px; }
 .trust-document .guide-section { padding-block: 28px; }
 .trust-steps > li { padding-left: 40px; }
 .trust-steps h3 { font-size: 21px; line-height: 32px; }
 .trust-steps > li::before { font-size: 21px; }
 .trust-record { margin-left: -40px; }
}

/* faculty-connections.css */
.faculty-connections > p { max-width:780px; font-size:17px; line-height:27px; margin-bottom:24px; }
.faculty-reference-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; }
.faculty-reference-list li { min-width:0; border-top:1px solid var(--line); }
.faculty-reference-list a { display:grid; grid-template-columns:80px minmax(0,1fr) auto; gap:16px; align-items:baseline; min-height:76px; padding:22px 0; font-size:17px; line-height:27px; }
.faculty-reference-list a > span:nth-child(2) { color:var(--muted); }
.faculty-reference-list a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.leadership-portrait-intro { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr); gap:64px; align-items:center; padding-block:32px 64px; }
.leadership-portrait-intro .page-intro { width:100%; max-width:none; margin:0; padding:0; }
.leadership-portrait-intro figure { margin:0; text-align:center; background:#eceee8; }
.leadership-portrait-intro img { display:block; max-height:540px; width:100%; height:auto; object-fit:contain; object-position:center bottom; }
.legacy-classroom { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; padding-block:16px 56px; }
.legacy-classroom figure { margin:0; }
.legacy-classroom img { display:block; width:100%; max-width:480px; height:auto; }
.legacy-classroom h2 { font-size:var(--ds-section-size); line-height:var(--ds-section-line); margin-bottom:24px; }
.legacy-classroom p { font-size:17px; line-height:27px; margin:0 0 20px; }
.legacy-classroom figcaption { font-size:14px; line-height:22px; color:var(--muted); margin-top:12px; }
.publisher-origin { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:center; padding-block:24px 64px; }
.publisher-origin img { display:block; width:100%; max-width:420px; height:auto; }
.publisher-origin h2 { font-size:var(--ds-section-size); line-height:var(--ds-section-line); margin-bottom:24px; }
.publisher-origin p { font-size:17px; line-height:27px; }
@media(max-width:1068px) {
 .leadership-portrait-intro { gap:36px; grid-template-columns:minmax(0,1.3fr) minmax(200px,.7fr); }
 .legacy-classroom,.publisher-origin { gap:32px; }
}
@media(max-width:734px) {
 .faculty-reference-list { grid-template-columns:minmax(0,1fr); }
 .faculty-reference-list a { grid-template-columns:64px minmax(0,1fr) auto; gap:12px; }
 .leadership-portrait-intro,.legacy-classroom,.publisher-origin { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:20px 40px; }
 .leadership-portrait-intro figure { width:100%; }
 .leadership-portrait-intro img { max-height:420px; }
 .publisher-origin img { max-width:340px; margin-inline:auto; }
}

/* page-hero.css */
/* A shared photographic introduction for home, services and reading pages.
   Brand exceptions to the design guide: retain MaruBuri and the established
   56/44/34 home scale. Document headlines retain 48/40/32. Image files, faces,
   publication covers and official CI keep their original colour data. */
:root { --hero-ink:#203d43; --hero-paper:#fafbf8; }
.page-hero { position:relative; isolation:isolate; display:grid; min-height:560px; overflow:hidden; color:var(--hero-paper); background:var(--hero-ink); margin:0 0 56px; }
.page-hero-media { position:absolute; inset:0; margin:0; z-index:-2; }
.page-hero-media > img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:var(--hero-position,center 52%); }
.page-hero-media.tone-editorial > img { filter:saturate(.67) contrast(1.02); }
.page-hero-media.tone-neutral > img { filter:saturate(.9); }
.page-hero-media[data-hero-position="65% center"] { --hero-position:65% center; }
.page-hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(21,40,46,.88) 0%,rgba(21,40,46,.79) 38%,rgba(21,40,46,.65) 61%,rgba(21,40,46,.22) 84%,rgba(21,40,46,.10) 100%); }
.page-hero-shell { display:flex; flex-direction:column; width:100%; min-height:560px; position:relative; }
.page-hero .breadcrumb { display:flex; flex-wrap:wrap; align-items:center; width:100%; max-width:none; margin:0; padding:22px 0 0; gap:8px 12px; font-size:14px; line-height:22px; color:#edf0ec; }
.page-hero .breadcrumb a { display:inline-flex; align-items:center; min-height:36px; color:inherit; }
.page-hero .breadcrumb [aria-current] { color:inherit; }
.page-hero-content { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; flex:1; min-width:0; max-width:800px; padding:48px 0 64px; }
.page-hero h1 { margin:0; max-width:800px; font:600 48px/60px var(--serif); color:var(--hero-paper); letter-spacing:0; text-wrap:balance; word-break:keep-all; overflow-wrap:anywhere; text-shadow:0 1px 3px #14262c33; }
.page-hero :is(.intro-desc,.article-lead),.page-hero-content > p { margin:26px 0 0; max-width:760px; color:var(--hero-paper); font:400 21px/32px var(--sans); letter-spacing:.011em; text-wrap:pretty; }
.page-hero :is(.related-pages,.hero-actions,.contact-quick) { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; margin:30px 0 0; padding:0; border:0; }
.page-hero :is(.text-link,.hero-contact,.contact-quick a) { display:inline-flex; align-items:center; gap:20px; min-height:48px; margin:0; padding:10px 0; border-bottom:1px solid #ffffffa6; color:var(--hero-paper); font:400 17px/23px var(--sans); }
.page-hero .button { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; min-height:52px; padding:14px 22px; border:1px solid #f8faf5; background:#f8faf5; color:#203c40; font:600 17px/23px var(--sans); }
.page-hero .button:hover { background:#e3ebe4; border-color:#e3ebe4; }
.page-hero a:not(.button):hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.page-hero a:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.page-hero .article-meta { display:flex; flex-wrap:wrap; gap:12px 24px; margin:26px 0 0; padding:18px 0 0; border-top:1px solid #ffffff52; color:#eef1ee; font:400 14px/22px var(--sans); }
.page-hero .article-meta a { color:inherit; text-decoration:underline; text-underline-offset:4px; }
.page-hero-media figcaption { position:absolute; right:max(22px,calc((100vw - 1208px)/2)); bottom:18px; max-width:36%; margin:0; padding:6px 10px; background:#192f36cc; color:#fff; font:400 12px/20px var(--sans); z-index:3; }
.page-hero--home { min-height:620px; margin-bottom:0; }
.page-hero--home .page-hero-shell { min-height:620px; }
.page-hero--home .page-hero-content { padding-block:100px; }
.page-hero--home h1 { font-size:56px; line-height:72px; letter-spacing:-.02em; }
.page-hero--home .page-hero-content > p { max-width:700px; }
.page-hero--article,.page-hero--article .page-hero-shell { min-height:520px; }
.page-hero--utility,.page-hero--utility .page-hero-shell { min-height:320px; }
.page-hero--utility { background:#29464a; }
.page-hero--utility .page-hero-shade { background:linear-gradient(100deg,#203a40,#3c5759); }
.page-hero--portrait,.page-hero--portrait .page-hero-shell { min-height:640px; }
.page-hero--portrait { background:linear-gradient(100deg,#253d43,#4a6266); }
.page-hero--portrait .page-hero-content { max-width:66%; }
.page-hero--portrait .page-hero-content > p { max-width:660px; }
.page-hero--portrait .page-hero-media > img { width:36%; height:92%; position:absolute; bottom:0; right:max(22px,calc((100vw - 1260px)/2)); object-fit:contain; object-position:right bottom; filter:none; }
.page-hero--portrait .page-hero-shade { background:linear-gradient(90deg,rgba(27,48,54,.4),transparent 72%); }
.hero-quicklinks { width:100%; margin-top:-20px; padding-block:0 36px; }
.hero-quicklinks .hub-shortcuts { margin:0; padding:0; }
.hero-quicklinks .hub-shortcuts-formats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; max-width:none; border-top:0; }
.hero-quicklinks .hub-shortcuts-formats .hub-shortcut-link { align-items:center; min-height:52px; }
.project-detail > .article-body { grid-column:1; width:100%; }
.project-detail > .inquiry-aside { grid-column:2; grid-row:1; }
.insights-opening.insights-opening--text { display:block; padding-top:0; }
.insights-opening--text > div { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px 40px; align-items:start; }
.insights-opening.insights-opening--text > div > :is(h2,p) { margin-top:0; }
.insights-opening--text .insight-resource-links { grid-column:1 / -1; }
/* Subtle colour continuity for existing environmental/editorial photos only. */
main img[src*="/assets/editorial/"]:not(.page-hero-media img),.editorial-stage > img { filter:saturate(.78); }
@media(min-width:1600px) { .page-hero-shade { background:linear-gradient(90deg,rgba(21,40,46,.88),rgba(21,40,46,.75) 47%,rgba(21,40,46,.2) 84%,rgba(21,40,46,.1)); } }
@media(max-width:1068px) {
 .project-detail { grid-template-columns:minmax(0,1fr); gap:36px; }
 .project-detail > .inquiry-aside { grid-column:1; grid-row:auto; }
 .page-hero,.page-hero .page-hero-shell { min-height:520px; }
 .page-hero-content { max-width:78%; padding-block:44px 52px; }
 .page-hero h1 { font-size:40px; line-height:52px; }
 .page-hero :is(.intro-desc,.article-lead),.page-hero-content > p { font-size:19px; line-height:29px; letter-spacing:.012em; }
 .page-hero-shade { background:linear-gradient(90deg,rgba(21,40,46,.89),rgba(21,40,46,.74) 58%,rgba(21,40,46,.25)); }
 .page-hero--home,.page-hero--home .page-hero-shell { min-height:580px; }
 .page-hero--home .page-hero-content { padding-block:76px; }
 .page-hero--home h1 { font-size:44px; line-height:58px; }
 .page-hero--portrait .page-hero-content { max-width:66%; }
 .page-hero--portrait,.page-hero--portrait .page-hero-shell { min-height:600px; }
 .page-hero--portrait .page-hero-media > img { width:32%; right:22px; height:84%; }
 .page-hero--utility,.page-hero--utility .page-hero-shell { min-height:300px; }
 .page-hero-media figcaption { max-width:65%; }
}
@media(max-width:734px) {
 .page-hero { margin-bottom:36px; }
 .page-hero,.page-hero .page-hero-shell { min-height:510px; }
 .page-hero .breadcrumb { padding-top:14px; gap:4px 10px; font-size:12px; line-height:20px; }
 .page-hero .breadcrumb a { min-height:32px; }
 .page-hero-content { max-width:none; width:100%; padding-block:38px 52px; }
 .page-hero h1 { font-size:34px; line-height:44px; text-wrap:initial; }
 .page-hero h1 br { display:none; }
 .page-hero :is(.intro-desc,.article-lead),.page-hero-content > p { margin-top:24px; font-size:19px; line-height:29px; letter-spacing:.012em; }
 .page-hero-content > p br { display:none; }
 .page-hero-media > img { object-position:var(--hero-position,64% center); }
 .page-hero-shade { background:linear-gradient(90deg,rgba(21,40,46,.83),rgba(21,40,46,.72)),linear-gradient(0deg,rgba(21,40,46,.06),transparent); }
 .page-hero :is(.related-pages,.hero-actions,.contact-quick) { gap:12px 24px; margin-top:28px; }
 .page-hero .button { padding-inline:18px; }
 .page-hero .article-meta { gap:8px 18px; }
 .page-hero-media figcaption { right:22px; bottom:10px; max-width:calc(100% - 44px); font-size:12px; line-height:18px; }
 .page-hero--home { margin-bottom:0; }
 .page-hero--home,.page-hero--home .page-hero-shell { min-height:570px; }
 .page-hero--home .page-hero-content { padding-block:64px; }
 .page-hero--home h1 { font-size:34px; line-height:46px; letter-spacing:0; }
 .page-hero--article h1 { font-size:32px; line-height:42px; letter-spacing:.004em; }
 .page-hero--article,.page-hero--article .page-hero-shell { min-height:480px; }
 .page-hero--portrait { display:flex; flex-direction:column; min-height:0; }
 .page-hero--portrait .page-hero-shell { min-height:0; }
 .page-hero--portrait .page-hero-content { max-width:none; padding-bottom:28px; }
 .page-hero--portrait .page-hero-media { position:relative; inset:auto; order:2; width:100%; height:350px; z-index:0; }
 .page-hero--portrait .page-hero-media > img { position:static; width:100%; height:100%; object-position:center bottom; }
 .page-hero--portrait .page-hero-shade { background:linear-gradient(180deg,#213c4166,transparent); }
 .page-hero--utility,.page-hero--utility .page-hero-shell { min-height:280px; }
 .hero-quicklinks { margin-top:-8px; padding-bottom:24px; }
 .hero-quicklinks .hub-shortcuts-formats { grid-template-columns:minmax(0,1fr); gap:0; border-top:1px solid var(--line); }
 .insights-opening--text > div { display:block; }
 .insights-opening--text h2 { margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) { .page-hero { scroll-behavior:auto; } }

/* interaction.css */
/* Hierarchy uses spacing and surfaces. Rules belong to data tables and fields,
   not both the bottom of a child and the top of its next section.
   Four-pixel corners are a deliberate UI exception to the original square CTAs. */
:root { --ui-surface:#eeefe9; --ui-card:#fffdf8; --ui-hover:#dfe7dc; --ui-radius:4px; }
.sec-head:has(> h2:only-child),.sec-head:has(> div:only-child) { grid-template-columns:minmax(0,1fr); }

/* Keep the existing section rhythm, without stacked horizontal dividers. */
main :is(.education-proof,.education-story,.trust-feature,.planning-gateway,
 .content-band,.related-reading,.article-sources,.pillar-links-heading,
 .content-service-section,.media-channel,.publisher-bridge,.directory-row,
 .directory-row.directory-row-text,.client-group,.guide-topics,.faculty-next,
 .faculty-source-notes,.programme-archive-inquiry,.programme-archive-item,
 .article-responsibility,.edu-block,.course-meta,.course-toc,
 .course-module,.course-edition-note,.form-notice,.inquiry-section,.inquiry-guide,.inquiry-aside,
 .direct-contact,.consent-box,.catalog-controls,.faculty-controls) { border:0; }
.pillar-links-heading { padding-top:0; }
.education-proof { background:var(--ui-surface); }
.planning-gateway { background:var(--ui-surface); }
.article-responsibility { padding:24px; background:var(--ui-surface); }
main .course-edition-note { padding:20px 24px; background:var(--ui-surface); }
main .form-notice { padding:24px; background:var(--ui-surface); }
main #draft-result { border:0; padding:28px; background:var(--ui-surface); }
.structured-footer .footer-network,.structured-footer .footer-bottom { border:0; }
.structured-footer .footer-network { padding-block:24px; }
.structured-footer .footer-bottom { padding-top:24px; }

/* Actions communicate their purpose through their label, surface and state. */
.button { justify-content:center; gap:0; min-height:48px; padding:13px 22px; border:0; border-radius:var(--ui-radius); font-size:17px; line-height:23px; font-weight:600; text-align:center; transition:background .18s ease,color .18s ease; }
.button.outline { background:var(--ui-hover); color:var(--ink); border:0; }
.button.outline:hover { background:#ccd9c8; color:var(--ink); }
.button.light { border:0; }
.text-link,.ccard-link,.production-video-link,.pillar-links-parent,.draft-edit {
 max-width:100%; gap:0; border:0; text-decoration:underline; text-decoration-thickness:1px;
 text-decoration-color:#829488; text-underline-offset:5px; border-radius:2px;
}
.text-link { justify-content:flex-start; font-size:16px; line-height:26px; }
.text-link:hover,.ccard-link:hover,.production-video-link:hover,.pillar-links-parent:hover { color:var(--ink); text-decoration-thickness:2px; }
.page-hero .button { justify-content:center; gap:0; border:0; border-radius:var(--ui-radius); }
.page-hero :is(.text-link,.hero-contact,.contact-quick a) { border:0; padding:12px 20px; background:#ffffff1c; border-radius:var(--ui-radius); text-decoration:none; }
.page-hero :is(.text-link,.hero-contact,.contact-quick a):hover { background:#ffffff30; text-decoration:none; }
.page-hero .article-meta { border:0; padding-top:0; }
.course-aside .button,.inquiry-aside .button { justify-content:center; }
.gnb-contact > .gnb-link { border:0; border-radius:var(--ui-radius); background:var(--ink); color:var(--paper); justify-content:center; padding-inline:20px; }
.hv-header .gnb-contact > .gnb-link:hover { background:#2e5547; color:#fff; }
.gnb-submenu-toggle { border-radius:var(--ui-radius); }
.gnb-submenu-toggle:hover,.gnb-disclosure[open] > summary { color:var(--ink); background:var(--ui-surface); }
.gnb-item[data-active] .gnb-submenu-toggle { font-weight:700; color:var(--ink); }
.gnb-overview { display:flex; align-items:center; justify-content:center; min-height:48px; margin:0 8px 8px; padding:12px 16px; background:var(--ui-surface); border-radius:var(--ui-radius); color:var(--ink); font-size:15px; line-height:24px; }

/* Content cards need only one containing surface, not rules around each part. */
main :is(.purpose-card,.topic-card,.article-card,.catalog-card,.resource-tool,
 .production-route-grid > article,.pillar-link-group,.faculty-card,.programme-speaker-card) { border:0; }
main :is(.purpose-card,.topic-card,.article-card,.catalog-card,.resource-tool) {
 padding:28px; background:var(--ui-card); border-radius:var(--ui-radius);
}
.purpose-card .purpose-image { margin:-28px -28px 28px; }
.article-card .article-card-image { margin:-28px -28px 24px; }
/* One title link covers the card; repeated read-more labels are unnecessary. */
.article-card,.destination-card { position:relative; transition:background .18s ease; }
main :is(.article-card,.destination-card) :is(h2,h3) > .card-title-link,
main .card-heading-link {
 text-decoration:underline; text-decoration-color:#9daea2;
 text-decoration-thickness:1px; text-underline-offset:5px;
}
.card-title-link::after { content:''; position:absolute; inset:0; border-radius:var(--ui-radius); }
main :is(.article-card,.destination-card):is(:hover,:focus-within) { background:var(--ui-hover); }
main :is(.article-card,.destination-card):is(:hover,:focus-within) .card-title-link,
main .card-heading-link:is(:hover,:focus-visible) { text-decoration-color:var(--ink); text-decoration-thickness:2px; }
.card-title-link:focus-visible { outline:0; }
.card-title-link:focus-visible::after { outline:3px solid #8b5e13; outline-offset:4px; }
.catalog-card > .catalog-card-meta { margin-bottom:0; }
.content-directory { row-gap:24px; }
.directory-row.directory-row-text.destination-card { padding:28px; background:var(--ui-card); border-radius:var(--ui-radius); }
.directory-row.destination-card h2 { margin-top:0; }
.case-card.destination-card { padding-bottom:24px; background:var(--ui-card); border-radius:var(--ui-radius); }
.case-card.destination-card > :not(.case-cover) { margin-inline:24px; }
.case-cover > .case-background {
 position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center;
 opacity:.45; mask-image:linear-gradient(90deg,transparent,#000 85%); pointer-events:none;
}
.case-cover > span { position:relative; pointer-events:none; }
.section-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px; margin-top:40px; }
.section-actions .button { max-width:100%; }
.pillar-links .section-actions .button:hover { color:var(--ink); text-decoration:none; }
.purpose-card > p:not(.section-kicker) { max-width:none; }
.production-route-grid > article { border-radius:var(--ui-radius); }
.pillar-links-groups { gap:24px; }
main .pillar-link-group { background:var(--ui-surface); padding:28px; border-radius:var(--ui-radius); }
.faculty-card { padding:24px; background:var(--ui-card); border-radius:var(--ui-radius); }
main .faculty-card:target,main .programme-speaker-card:target { border:0; outline:2px solid #729079; outline-offset:6px; }
.programme-speaker-card { background:var(--ui-card); padding:28px; border-radius:var(--ui-radius); }

/* Related destinations become individual selectable rows. */
main :is(.purpose-card li,.purpose-card li + li,.pillar-link-group li,
 .pillar-link-group li:last-child,.related-link-list li,.related-link-list li:last-child,
 .faculty-reference-list li,.planning-link-list a,.planning-link-list a:first-child) { border:0; }
.purpose-card ul,.pillar-link-group ul,.related-paths .related-link-list { display:grid; gap:8px; }
.purpose-card li a,.pillar-link-group li a,.related-link-list a {
 display:flex; justify-content:flex-start; align-items:center; min-height:48px;
 padding:12px 16px; background:var(--ui-surface); border-radius:var(--ui-radius);
 color:var(--ink); text-decoration:none;
}
.pillar-link-group li a { background:var(--ui-card); }
.pillar-link-group li a > span:first-child,.related-link-list a > span:first-child { flex:1; min-width:0; }
.purpose-card li a:hover,.pillar-link-group li a:hover,.related-link-list a:hover { background:var(--ui-hover); text-decoration:underline; text-underline-offset:4px; }
.education-field-card .field-learning-topics ul { display:block; }
.education-field-card .field-learning-topics li { background:none; padding:0; }
.planning-link-list { gap:16px; }
main .planning-link-list a { padding:24px; background:var(--ui-card); border-radius:var(--ui-radius); }
.planning-link-list a:hover { background:#e2e9df; }
.planning-link-list strong { display:block; }
.related-paths-more .related-link-list { display:flex; flex-wrap:wrap; gap:12px; }
.related-paths-more .related-link-list a { background:var(--ui-hover); }
.faculty-reference-list { gap:12px; }
.faculty-reference-list a { grid-template-columns:80px minmax(0,1fr); padding:20px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.faculty-reference-list a:hover { background:var(--ui-hover); }
.hero-quicklinks .hub-shortcuts-formats { gap:12px; border:0; }
.hero-quicklinks .hub-shortcut-link,.hub-shortcuts-secondary .hub-shortcut-link {
 justify-content:center; min-height:52px; padding:14px 18px; border:0;
 background:var(--ui-surface); border-radius:var(--ui-radius); text-align:center;
}
.hero-quicklinks .hub-shortcut-link:hover,.hub-shortcuts-secondary .hub-shortcut-link:hover { background:var(--ui-hover); }

/* Reading aids are compact panels; article headings keep their normal spacing. */
.answer-summary { border:0; padding:28px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.article-toc,.article-summary-first .article-toc { border:0; padding:18px 20px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.article-summary-first .article-toc-panel { border:0; }
.article-toc a { padding-inline:4px; }
.course-toc { padding:12px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.course-toc :is(nav,ul) { gap:8px; }
.course-toc a { padding:10px 14px; border-radius:var(--ui-radius); }
.course-toc a:hover { background:var(--ui-hover); }
main .course-module { padding:28px; margin-block:20px; background:var(--ui-card); border-radius:var(--ui-radius); }
.worked-example { border:0; border-radius:var(--ui-radius); }
main :is(.planning-steps > li,.trust-steps > li) { border:0; }
.planning-steps > li + li,.trust-steps > li + li { margin-top:12px; }

/* Each course appears once, with its audience, format and topics together. */
.edu-course-table { overflow:visible; }
.edu-course-table table { width:100%; min-width:0; table-layout:fixed; }
.edu-course-table thead th:first-child { width:46%; }
.edu-course-table thead th:last-child { width:54%; }
.edu-course-table .edu-course-row > :is(th,td) { vertical-align:top; padding:26px 20px; }
.edu-course-table .edu-course-row h3 { margin:0; font-size:18px; line-height:28px; }
.edu-course-table .edu-course-audience { margin:12px 0 0; font-size:16px; line-height:26px; font-weight:400; }
.edu-course-table .edu-course-format { margin:12px 0 0; font-size:14px; line-height:24px; font-weight:500; color:var(--ink); }
.article-body .edu-course-row ul { margin:0 0 10px; padding-left:1.2em; }
.edu-course-table .text-link { min-height:44px; font-size:14px; line-height:22px; }
@media (max-width:734px) {
 .edu-course-table table,.edu-course-table tbody,.edu-course-table tr,.edu-course-table td,.edu-course-table th { display:block; width:100%; }
 .edu-course-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .edu-course-table caption { display:block; width:100%; }
 .edu-course-table .edu-course-row { padding:22px; margin-bottom:16px; background:var(--ui-card); border-radius:var(--ui-radius); }
 .edu-course-table .edu-course-row > :is(th,td) { width:100%; padding:0; border:0; }
 .edu-course-table .edu-course-row > td { margin-top:22px; }
 .edu-course-table .edu-course-row > td::before { content:attr(data-label); content:attr(data-label) / ''; display:block; margin-bottom:10px; color:var(--ink); font-weight:600; }
 .edu-course-table .edu-course-row h3 { font-size:21px; line-height:30px; }
}

/* FAQ uses separated disclosure panels; no adjacent top/bottom rules. */
.faq-list { display:grid; gap:12px; }
.faq-list > .faq-item,.article-body .faq-item,.faq-item:last-child {
 border:0; margin:0; padding:0; background:var(--ui-surface); border-radius:var(--ui-radius);
}
.article-body .faq-item + .faq-item { margin-top:0; }
.faq-item > summary { padding:22px 64px 22px 24px; min-height:64px; }
.faq-item > summary::after { display:grid; place-items:center; right:20px; top:20px; width:28px; height:28px; font-size:21px; line-height:1; background:#fff9; border-radius:50%; }
.faq-item[open] { background:#e5eadf; }
.faq-item[open] > summary { padding-bottom:16px; }
.faq-item > .faq-answer { margin:0; padding:0 24px 24px; }
.faculty-details { border:0; background:var(--ui-surface); padding:12px 16px; border-radius:var(--ui-radius); }
.faculty-details > summary { list-style:none; display:flex; justify-content:space-between; gap:12px; min-height:44px; align-items:center; }
.faculty-details > summary::-webkit-details-marker { display:none; }
.faculty-details > summary::after { content:'+'; font-size:21px; }
.faculty-details[open] > summary::after { content:'−'; }

/* Lists and facts read as groups, without a second section-sized rule. */
main :is(.service-list,.service-row,.module-list,.module-list li,.steps li,
 .steps li:last-child,.project-facts > div,.trust-facts,.trust-facts > div,
 .trust-principles > div,.company-facts > div,.guide-row,.guide-archive-row,
 .guide-archive-row:last-child,.knowledge-grid article,.about-principles > div,
 .records-grid h3,.rec-list li,.work-editorial .work-grid > div,
 .work-editorial .work-grid > div:first-child,.work-editorial .work-grid > div:last-child,
 .format-list,.format-list article,.production-scope li,.publisher-book,.dasi-stage-activities,
 .edu-flow li,.edu-records li,.inquiry-guide li,.evidence-list li,
 .evidence-list li:last-child,.production-video-list,.production-video-list > li,
 .edu-main .program-track,.client-grid li) { border:0; }
.service-list { display:grid; gap:12px; }
.service-row { padding:24px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.trust-facts,.project-facts,.trust-principles { display:grid; gap:12px; }
.trust-facts > div,.project-facts > div,.trust-principles > div { padding:20px 24px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.company-facts > div { padding:24px; background:var(--ui-surface); }
.records-grid h3 { padding-bottom:0; margin-bottom:24px; }
.rec-list li { padding:14px 16px; }
.rec-list li:nth-child(odd) { background:var(--ui-surface); }
.format-list { display:grid; gap:20px; }
.format-list article { padding:28px; background:var(--ui-surface); }
.production-video-list { display:grid; gap:20px; }
.production-video-list > li { padding:28px; background:var(--ui-card); }
.guide-archive-row { margin-bottom:16px; padding:24px; background:var(--ui-surface); }
.evidence-list { display:grid; gap:12px; }
.evidence-list li { padding:22px 24px; background:var(--ui-surface); }
.client-grid { gap:12px; }
.client-grid li { background:var(--ui-card); }
.inquiry-guide li { padding-block:16px; }
.filter-bar { border:0; gap:10px; }
.filter-bar :is(a,button) { border:0; padding:10px 16px; background:var(--ui-surface); border-radius:var(--ui-radius); }
.filter-bar :is([aria-current],[aria-pressed="true"]) { background:var(--ink); color:var(--paper); }
main :is([data-catalog-empty],.faculty-empty) { border:0; background:var(--ui-surface); }

@media(max-width:1068px) {
 .gnb-item { border:0; }
 .gnb-list { display:grid; gap:4px; }
 .gnb-item[data-active] > .gnb-link { text-decoration:none; font-weight:700; }
 .gnb-submenu { background:var(--ui-surface); padding:8px; margin-bottom:8px; border-radius:var(--ui-radius); }
}
@media(max-width:734px) {
 .directory-row.directory-row-text.destination-card { padding:22px; }
 .section-actions { margin-top:32px; }
 main :is(.purpose-card,.topic-card,.article-card,.catalog-card,.resource-tool),
 main .pillar-link-group,.programme-speaker-card { padding:22px; }
 .purpose-card .purpose-image { margin:-22px -22px 22px; }
 .article-card .article-card-image { margin:-22px -22px 20px; }
 .faculty-reference-list a { grid-template-columns:64px minmax(0,1fr); padding:18px; }
 .answer-summary { padding:22px; }
 .article-toc,.article-summary-first .article-toc { padding:12px 20px; }
 .faq-item > summary { padding:20px 56px 20px 20px; }
 .faq-item > summary::after { right:16px; top:20px; width:24px; height:24px; }
 .faq-item > .faq-answer { padding:0 20px 22px; }
 .related-paths-more .related-link-list { display:grid; }
 main .course-module { padding:22px; }
 .trust-facts > div,.project-facts > div,.trust-principles > div,
 .format-list article,.production-video-list > li,.guide-archive-row,.evidence-list li { padding:20px; }
 .company-facts > div { padding:18px; }
 main .form-notice,main #draft-result { padding:22px; }
 .page-hero :is(.text-link,.hero-contact,.contact-quick a) { padding:12px 16px; }
 .service-row { padding:22px 16px; }
}
@media(prefers-reduced-motion:reduce) { .button { transition:none; } }

/* 2026-10-08 지식콘텐츠 포지셔닝: 홈 첫 화면 영상, 방송과 책 섹션 사진 */
.education-story-media{margin:0;width:100%}.education-story-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.education-story-media figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.hero-music-credit{border:0;padding:0}.hero-music-credit summary{font-size:13px;font-weight:400;color:var(--muted);list-style:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;padding-block:12px;margin-block:-12px;cursor:pointer}.hero-music-credit summary::-webkit-details-marker{display:none}.hero-music-credit p{font-size:13px;margin-top:6px;line-height:1.7}
.hero-music-credit summary{font-size:12px;text-decoration:none;opacity:.55;padding:12px 6px;margin:-12px -6px}.hero-music-credit summary:hover,.hero-music-credit[open] summary{opacity:1}.hero-music-credit p{font-size:12px}
.hero-k-desc .keep-together{white-space:nowrap}

/* refine.css */
/* 2026-10-08 직원 피드백 반영
   1) 고객사 로고: 흑백 대신 채도를 낮춘 컬러
   2) 교육 분야 태그·목록 정리
   3) 홈 고객사 줄·과정 검색
   4) 모바일 전용 간소화: 홈 섹션 축소, 하단 메뉴 압축 */

/* 1. 고객사 로고 */
/* 줄바꿈: 제목은 줄 길이를 고르게, 본문은 마지막 줄에 한두 글자만 남지 않게 */
h1,h2,h3,h2>a,h3>a,.ccard h3,.catalog-card h3{text-wrap:balance}
p,li,dd,figcaption,summary{text-wrap:pretty}
/* 2026-10-08 로고 교체: 공식 CI 기준 투명 배경, 시각 크기 보정(width·height 속성) */
.client-grid img.client-logo,.home-client-grid img.client-logo{mix-blend-mode:normal;max-width:100%;height:auto;filter:saturate(.45) contrast(.96);opacity:.9;transition:filter .2s ease,opacity .2s ease}
@media(hover:hover){.home-client-grid li:hover .client-logo{filter:none;opacity:1}}
@media(hover:hover){.client-grid li:hover .client-logo{filter:none;opacity:1}}

/* 2. 교육 분야 페이지: 태그와 목록 */
.edu-topics{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 14px}
.edu-topics span{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line);background:#fbfaf6;color:var(--ink);font-size:14px;font-weight:600}
.edu-topics+ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.edu-topics+ul li{position:relative;padding:12px 0 12px 18px;border-bottom:1px solid var(--line);font-size:16px;color:var(--text)}
.edu-topics+ul li::before{content:"";position:absolute;left:2px;top:23px;width:6px;height:6px;background:var(--ink)}

/* 3. 홈: 고객사 이름 목록 (로고 대신 사이트 글꼴로) */
.home-clients{padding-top:40px;padding-bottom:32px}
.home-clients-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid var(--text);padding-top:18px;margin-bottom:6px}
.home-clients-head h2{font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.5}
.home-clients-head p{font-size:14px;color:var(--muted)}
.home-client-grid{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(6,1fr)}
.home-client-grid li{display:flex;align-items:center;justify-content:center;height:80px;border-bottom:1px solid var(--line);padding:0 10px}
.home-clients>.text-link{font-size:14px}

/* 3. 홈: 과정 검색 */
.home-course-search{margin:0 0 18px;max-width:640px}
.home-course-search label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px}
.home-course-search-row{display:flex;gap:8px}
.home-course-search input{flex:1;min-width:0;margin:0;height:52px;min-height:52px;font-size:16px}
.home-course-search .button{height:52px;padding:0 24px;flex:none}
.purpose-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.purpose-chips a{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--line);background:#fbfaf6;font-size:14px;font-weight:600;color:var(--ink)}
.purpose-chips a:hover{border-color:var(--ink)}

/* 교육 과정 찾기: 가이드북 과정 묶음 */
.catalog-controls{grid-template-columns:1.5fr 1fr 1fr auto}
.catalog-group{margin-top:56px}
.catalog-group .catalog-results-heading p{margin-top:6px;font-size:15px}
.guide-course-card h3{font-size:19px}

/* 하단 모바일 링크: 넓은 화면에서는 숨김 */
.footer-mobile{display:none}

/* 영상 아래 음악 출처: 닫혀 있을 때는 공간을 차지하지 않고, 열면 화면 안쪽으로 펼침 */
.hero-video figcaption{position:relative}
.hero-music-credit:not([open]) p{display:none}
.hero-music-credit[open] p{position:absolute;right:0;top:100%;z-index:5;width:min(320px,calc(100vw - 40px));margin:6px 0 0;padding:10px 12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 6px 16px rgba(0,0,0,.08)}

@media(max-width:1100px){.home-client-grid{grid-template-columns:repeat(4,1fr)}.catalog-controls{grid-template-columns:1fr 1fr}.catalog-controls .catalog-search{grid-column:1/-1}}

/* 4. 모바일 전용 */
@media(max-width:734px){
  /* 홈: 핵심만 남기기 */
  .education-story,.trust-feature,.planning-gateway,.home-insights,.purpose-grid{display:none!important}
  /* 고객사 로고는 첫 화면 바로 아래가 아니라 수행실적 앞에 둡니다 */
  #main:has(> .home-clients){display:flex;flex-direction:column}
  #main:has(> .home-clients)>*{width:100%}
  #main>.home-clients,#main>.home-clients~.records,#main>.home-clients~.home-insights,#main>.home-clients~.contact-strip{order:1}
  .home-clients{padding-top:40px;padding-bottom:0}
  .home-clients-head{flex-direction:column;gap:0}
  .home-client-grid{grid-template-columns:repeat(3,1fr);margin-bottom:16px}
  .home-client-grid li{height:62px;padding:0 6px}
  .home-client-grid img.client-logo{transform:scale(.86)}

  /* 만드는 지식: 작은 이미지 + 제목 + 두 줄 설명 */
  .contents .sec-head p{display:none}
  .contents .content-grid{gap:0;border-top:1px solid var(--text)}
  .contents .ccard{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
  .contents .ccard-media{grid-column:1;grid-row:1/span 3;aspect-ratio:1/1;margin:0}
  .contents .ccard-media img{width:100%;height:100%;object-fit:cover}
  .contents .editorial-stage{display:block;width:100%;height:100%}
  .contents .editorial-stage-type{padding:10px;gap:0;justify-content:center}
  .contents .editorial-stage-type strong{font-size:13px;line-height:1.4;letter-spacing:-.02em}
  .contents .editorial-stage-type>span{display:none}
  .contents .ccard-body{display:contents}
  .contents .ccard h3{grid-column:2;font-size:18px;line-height:1.4;margin:0 0 6px}
  .contents .ccard-desc{grid-column:2;font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .contents .ccard-link{display:none}

  /* 추천 프로그램 → 검색과 분야 버튼 */
  .purpose-finder .section-actions{margin-top:0}
  .home-course-search .button{padding:0 18px}
  .purpose-chips{margin-bottom:20px}

  /* 제작 영상: 옆으로 넘기기 */
  .videos-dark .video-grid{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}
  .videos-dark .video-grid::-webkit-scrollbar{display:none}
  .videos-dark .vcard{flex:0 0 84%;scroll-snap-align:start}
  .videos-dark .vcard .ccard-desc{display:none}

  /* 수행실적: 앞부분만 */
  .records .sec-head p{display:none}
  .records .rec-edu li:nth-child(n+6){display:none}
  .records .records-grid>div:nth-child(2) li:nth-child(n+5){display:none}

  /* 하단 메뉴 압축 */
  .structured-footer .footer-columns{display:none}
  .structured-footer .footer-top{gap:12px;margin-bottom:12px}
  .structured-footer .footer-contact{gap:0}
  .structured-footer .footer-contact a{font-size:15px;line-height:26px}
  .footer-mobile{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin:8px 0 18px;border-top:1px solid var(--line)}
  .footer-mobile a{display:flex;align-items:center;min-height:46px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;color:var(--text)}

  /* 교육 과정 찾기: 검색칸을 한 줄 전체로 */
  .catalog-controls{grid-template-columns:1fr 1fr;gap:12px}
  .catalog-controls label:nth-child(3){grid-column:auto}
  .catalog-controls .catalog-search,.catalog-controls .catalog-reset{grid-column:1/-1}
  .catalog-group{margin-top:40px}

  /* 교육 분야 페이지: 결정에 필요한 부분만 */
  .edu-layout #selection,.edu-layout #composition,.edu-layout #preparation,.edu-layout ~ .related-reading{display:none}

  /* 과정 카드: 두 줄 설명 + 한 줄 정보 */
  .catalog-card{padding:20px}
  .catalog-card h3{font-size:18px;line-height:1.45}
  .catalog-card>p{font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px}
  .catalog-card .catalog-card-meta{display:flex;flex-wrap:wrap;gap:2px 10px;list-style:none;padding:0;margin:12px 0 0;font-size:13px}
  .catalog-card .catalog-card-meta li{color:var(--muted)}
  .catalog-card .catalog-card-meta li+li::before{content:"·";margin-right:10px}
  .catalog-card .catalog-card-meta li:nth-child(n+3){display:none}
  .catalog-card h3 a{text-decoration:none}
  .catalog-selection{display:none}

  /* 강사진: 작은 사진 + 핵심 경력 한 줄 */
  .faculty-grid{gap:0!important}
  .faculty-card{display:grid!important;grid-template-columns:76px minmax(0,1fr);column-gap:16px;align-items:start;padding:18px 0!important;border-bottom:1px solid var(--line)}
  .faculty-card .faculty-portrait{width:76px;height:76px;margin:0;overflow:hidden;background:#ebe7de}
  .faculty-card .faculty-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
  .faculty-card--text .faculty-card-copy{grid-column:1/-1}
  .faculty-card h3{font-size:19px;line-height:1.4;margin:0}
  .faculty-card--text h3{margin-bottom:4px}
  .faculty-card .faculty-profile{font-size:13px}
  .faculty-card .faculty-field-label{font-size:13px;margin:2px 0 4px}
  .faculty-card .faculty-topics{font-size:14px;margin:0 0 6px}
  .faculty-card .faculty-biography{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.55}
  .faculty-card .faculty-biography li+li,.faculty-card .faculty-source{display:none}

  /* 수행사례: 지면 이미지 대신 표만, 분야 칸 생략 */
  #records .project-record-source figure{display:none}
  #records td[data-label="관련 분야"]{display:none}
  #records .content-table.content-table--stack tbody>tr{padding:12px 0 14px}
  #records .content-table.content-table--stack tbody>tr>th{padding-top:0;margin-bottom:2px;font-size:16px;line-height:24px}
  #records .content-table.content-table--stack tbody>tr>td{max-width:none;font-size:15px;line-height:23px}
  #records .content-table.content-table--stack td::before{display:none}
  .case-card .case-cover{min-height:0!important;height:150px;padding:16px 18px!important}
  .case-card .case-graphic{font-size:40px!important}
  .case-card .case-graphic span,.case-card .case-foot{display:none}
}

/* 2026-10-11: mobile card summaries show the first sentence only */
.keep-together{white-space:nowrap}
@media (max-width:734px){.m-hide{display:none}.catalog-card>p{-webkit-line-clamp:3}}

/* four topic cards: 2 x 2 on wide screens */
@media (min-width:735px){.topic-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 상호작용 움직임 (transitions.dev 05 메뉴, 21 접힘 상자, 08 페이지 이동 기준). 0.15~0.3초, 움직임 줄이기 설정이면 끔 */
@keyframes hv-drop { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
.gnb-disclosure[open] .gnb-panel { animation: hv-drop .18s cubic-bezier(.22,1,.36,1); }
@media (max-width: 1068px) {
  .hv-header.gnb-ready.gnb-open #primary-navigation { animation: hv-drop .22s cubic-bezier(.22,1,.36,1); }
}
@supports selector(::details-content) {
  .faq-item, .faculty-details { interpolate-size: allow-keywords; }
  .faq-item::details-content, .faculty-details::details-content {
    block-size: 0; overflow-y: clip; opacity: 0;
    transition: block-size .25s cubic-bezier(.22,1,.36,1), opacity .2s ease, content-visibility .25s allow-discrete;
  }
  .faq-item[open]::details-content, .faculty-details[open]::details-content { block-size: auto; opacity: 1; }
}
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .2s; animation-timing-function: ease; }
@media (prefers-reduced-motion: reduce) {
  .gnb-disclosure[open] .gnb-panel, .hv-header.gnb-ready.gnb-open #primary-navigation { animation: none; }
  .faq-item::details-content, .faculty-details::details-content { transition: none; }
  @view-transition { navigation: none; }
}

/* 2026-10-17 기술 수정: 블록 안에 나란히 놓인 링크 간격, 모바일 빵부스러기 글자 크기와 누름 영역 */
.trust-feature-copy > .text-link:has(+ .text-link),
.inquiry-reference > .text-link:has(+ .text-link),
p > .text-link:has(+ .text-link) { margin-inline-end: 20px; }
.inquiry-aside > .button:has(+ a) { margin-inline-end: 16px; }
@media (max-width: 734px) {
  .breadcrumb, .page-hero .breadcrumb { font-size: 13px; }
  .breadcrumb a { padding-inline: 8px; margin-inline: -8px; }
  .page-hero .breadcrumb a { padding-block: 6px; margin-block: -6px; }
}

/* 2026-10-17 3단계 시안(강사진·신규 PB 과정·방송·출판): 사진 없는 밝은 머리말, 강사 사진 묶음, 방송·출판 작업 목록 */
.page-hero--paper { min-height:0; background:var(--paper); color:var(--text); border-bottom:1px solid var(--line); }
.page-hero--paper .page-hero-shell { min-height:0; }
.page-hero--paper .breadcrumb { color:var(--muted); }
.page-hero--paper .page-hero-content { padding:36px 0 52px; max-width:860px; }
.page-hero--paper h1 { color:var(--ink); text-shadow:none; }
.page-hero--paper :is(.intro-desc,.article-lead), .page-hero--paper .page-hero-content > p { color:var(--muted); }
.page-hero--paper a:not(.button):hover { color:var(--ink); }
.page-hero--paper a:focus-visible { outline-color:#8b5e13; }
.page-hero--split .page-hero-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,480px); column-gap:56px; align-items:center; }
.page-hero--split .breadcrumb { grid-column:1 / -1; }
.hero-people { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:24px 0 52px; }
.hero-people img { width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; object-position:center 30%; background:var(--sage); }
.content-portfolio .sec-head { margin-bottom:0; }
.portfolio-group { margin-top:40px; padding-top:18px; border-top:1px solid var(--ink); }
.portfolio-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 24px; margin-bottom:24px; }
.portfolio-head h3 { font:600 19px/28px var(--sans); color:var(--ink); letter-spacing:0; }
.portfolio-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 24px; }
.portfolio-card { min-width:0; }
.portfolio-media, .portfolio-cover { display:block; overflow:hidden; background:var(--sage); }
.portfolio-media img { width:100%; height:auto; aspect-ratio:16 / 9; object-fit:cover; transition:transform .25s cubic-bezier(.22,1,.36,1); }
.portfolio-card:hover .portfolio-media img { transform:scale(1.03); }
.portfolio-meta { margin-top:14px; font-size:14px; line-height:22px; color:var(--muted); }
.portfolio-book .portfolio-meta { margin-top:0; }
.content-portfolio h4 { margin:6px 0 0; font:600 18px/27px var(--sans); color:var(--ink); }
.content-portfolio h4 a:hover, .portfolio-card:hover h4 a, .portfolio-book:hover h4 a { text-decoration:underline; text-underline-offset:5px; }
.content-portfolio h4 + p { margin-top:8px; font-size:15px; line-height:24px; }
.portfolio-books { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.portfolio-book { display:grid; grid-template-columns:120px minmax(0,1fr); gap:24px; align-items:start; }
.portfolio-cover img { width:100%; height:auto; }
.portfolio-platform { display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:48px; align-items:center; }
.portfolio-logo img { width:100%; max-width:300px; height:auto; }
.portfolio-activities { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.portfolio-activities li { padding:6px 12px; border:1px solid var(--line); color:var(--ink); font-size:15px; line-height:22px; }
.portfolio-other { font-size:17px; line-height:28px; }
.portfolio-other .text-link { margin-left:12px; }
@media (max-width:1068px) {
  .page-hero--split .page-hero-shell { grid-template-columns:minmax(0,1fr); }
  .page-hero--split .page-hero-content { padding-bottom:24px; }
  .hero-people { max-width:560px; padding-top:0; }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-books { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:734px) {
  .page-hero--paper .page-hero-content { padding:24px 0 32px; }
  .hero-people { gap:6px; padding-bottom:32px; }
  .hero-people img:nth-child(n+9) { display:none; }
  .portfolio-group { margin-top:32px; }
  .portfolio-grid { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
  .portfolio-grid > .portfolio-card { flex:0 0 78%; scroll-snap-align:start; }
  .portfolio-book { grid-template-columns:88px minmax(0,1fr); gap:16px; }
  .portfolio-platform { grid-template-columns:minmax(0,1fr); gap:16px; }
  .portfolio-logo img { max-width:220px; }
  .portfolio-other .text-link { margin-left:0; }
}

/* 2026-10-17 3단계 전체 적용: 밝은 머리말 안의 버튼·링크·글 정보, 회사소개 스튜디오 사진, 홈 카드 실제 자료 */
.page-hero--paper .article-meta { color:var(--muted); border-top-color:var(--line); }
.page-hero--paper :is(.text-link,.hero-contact,.contact-quick a) { background:transparent; border-radius:0; padding:10px 0; color:var(--ink); border-bottom:1px solid var(--ink); }
.page-hero--paper :is(.text-link,.hero-contact,.contact-quick a):hover { background:transparent; color:var(--ink); border-bottom-color:#628347; text-decoration:none; }
.page-hero--paper .button { background:var(--ink); border-color:var(--ink); color:#fff; }
.page-hero--paper .button:hover { background:#24564a; border-color:#24564a; color:#fff; }
.hero-photo { margin:24px 0 52px; }
.hero-photo img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; }
.hero-photo figcaption { margin-top:8px; font-size:13px; line-height:20px; color:var(--muted); }
.ccard-media .ccard-stage { display:flex; align-items:center; justify-content:center; gap:5%; width:100%; height:100%; padding:7% 8%; background:#e9e2d2; }
.ccard-media .ccard-stage img { width:auto; height:100%; max-width:29%; object-fit:contain; flex:0 1 auto; box-shadow:0 1px 3px #2a221433; }
.ccard-media .ccard-stage--books img { max-width:34%; }
.ccard-media .ccard-stage--logo { flex-direction:column; gap:18px; background:#f1eee6; }
.ccard-media .ccard-stage--logo img { height:auto; width:56%; max-width:56%; box-shadow:none; }
.ccard-stage--logo > span { font-size:15px; line-height:22px; color:var(--ink); letter-spacing:.02em; }
@media (max-width:1068px) { .hero-photo { margin-top:0; max-width:560px; } }
@media (max-width:734px) {
  .hero-photo { margin-bottom:32px; }
  .contents .ccard-media .ccard-stage { padding:12%; }
  .contents .ccard-media .ccard-stage img { max-width:100%; }
  .contents .ccard-stage--guides img:not(:last-child), .contents .ccard-stage--books img:not(:first-child), .contents .ccard-stage--logo > span { display:none; }
  .contents .ccard-media .ccard-stage--logo img { width:100%; max-width:100%; }
}

/* 2026-10-17 모바일 회사소개: 스튜디오 출입구 사진 숨김 */
@media (max-width:734px){.about-story .about-studio{display:none}}
/* 2026-10-17 문의 실제 접수 */
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.inquiry-submit[aria-busy="true"]{opacity:.6;cursor:progress}
.sent-result{padding:8px 0}
.sent-result h2{font-size:24px;line-height:1.4}
.sent-result p{margin-top:12px;font-size:16px;line-height:1.75;color:var(--muted)}
.sent-result .text-link{margin-top:20px;font-size:15px}
.sent-result:focus{outline:none}

/* 2026-10-17 홈 '현장의 지식을' 사진: 확대·자르기 없이 위 카드와 같은 베이지 판에 원래 비율로 */
.education-story-media .education-story-frame{display:flex;align-items:center;justify-content:center;background:#e9e2d2;padding:9% 8%}
.education-story-media .education-story-frame img{width:100%;max-width:540px;height:auto;aspect-ratio:1079/508;object-fit:contain;box-shadow:0 1px 3px #2a221433}
@media (max-width:734px){.education-story-media .education-story-frame{padding:7% 6%}}

/* 2026-10-17 흐리게 늘어난 사진 정리: 원본보다 키우지 않고 베이지 판 위에 원래 비율로 */
.photo-frame{display:flex;align-items:center;justify-content:center;background:#e9e2d2;padding:9% 8%}
.photo-frame img{display:block;width:100%;height:auto;box-shadow:0 1px 3px #2a221433}
.hero-photo--framed .photo-frame img{aspect-ratio:auto;object-fit:contain}
.project-production-visual .photo-frame img{max-width:480px;max-height:none;object-fit:contain}
.platform-opening > img{object-fit:scale-down}
@media (max-width:734px){.photo-frame{padding:7% 6%}}

/* 2026-10-17 모바일 전체 점검 */
.card-title-link{padding-block:4px}
.article-meta a{display:inline-block;padding-block:6px}
.guide-cover--2025 img,.guide-cover--2023 img{object-fit:cover;object-position:right center}
@media (max-width:734px){
  .course-toc{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px}
  .course-toc a{display:flex;align-items:center;min-height:44px;padding:8px 12px;font-size:14px;line-height:20px}
  .course-aside .text-link{font-size:14px}
  .content-table.is-scrollable .table-scroll-hint{font-size:13px}
  img[src*="assets/legacy/education-lecture-original"],img[src*="assets/legacy/knowledge-books-original"]{width:100%;max-width:240px;height:auto}
}
/* 2026-10-20 삼성 인터넷 강제 다크 모드: 삼성 인터넷은 사이트 설정과 무관하게 배경을 어둡게 바꾼다.
   삼성 인터넷에서만 밝은 바탕을 이미지에 넣은 로고(assets/clients/chip)로 바꾼다(app.js). 바탕색이 페이지와 같아 밝은 화면에서는 차이가 없다. */
.ua-samsung img.client-logo{filter:none;opacity:1;width:150px;max-width:100%;height:auto}

/* 2026-10-22 홈 첫 화면 속도: 첫 화면 아래 섹션은 화면에 가까워질 때 배치·그리기·지연 이미지 요청을 한다.
   화면 안이나 근처 섹션은 지금과 똑같이 그려지고, 크기는 한 번 그린 뒤 기억한다(auto). 미지원 브라우저는 변화 없음. */
main:has(> .hero-k) > section:not(.hero-k){content-visibility:auto;contain-intrinsic-size:auto 600px}
