/* ===== Fonts (self-hosted, no CDN — 디커플링: 제3자 연결 0) ===== */
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/IBMPlexMono-400.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/IBMPlexMono-600.woff2') format('woff2')}
@font-face{font-family:'Jua';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Jua-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jua';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Jua-400.woff2') format('woff2');unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7A3,U+FF01-FF60}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/Quicksand-500.woff2') format('woff2')}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/Quicksand-700.woff2') format('woff2')}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.0.woff2') format('woff2-variations');unicode-range:U+f9ca-fa0b,U+ff03-ff05,U+ff07,U+ff0a-ff0b,U+ff0d-ff19,U+ff1b,U+ff1d,U+ff20-ff5b,U+ff5d,U+ffe0-ffe3,U+ffe5-ffe6}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.1.woff2') format('woff2-variations');unicode-range:U+d723-d728,U+d72a-d733,U+d735-d748,U+d74a-d74f,U+d752-d753,U+d755-d757,U+d75a-d75f,U+d762-d764,U+d766-d768,U+d76a-d76b,U+d76d-d76f,U+d771-d787,U+d789-d78b,U+d78d-d78f,U+d791-d797,U+d79a,U+d79c,U+d79e-d7a3,U+f900-f909,U+f90b-f92e}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.2.woff2') format('woff2-variations');unicode-range:U+d679-d68b,U+d68e-d69e,U+d6a0,U+d6a2-d6a7,U+d6a9-d6c3,U+d6c6-d6c7,U+d6c9-d6cb,U+d6cd-d6d3,U+d6d5-d6d6,U+d6d8-d6e3,U+d6e5-d6e7,U+d6e9-d6fb,U+d6fd-d717,U+d719-d71f,U+d721-d722}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.3.woff2') format('woff2-variations');unicode-range:U+d5bc-d5c7,U+d5ca-d5cb,U+d5cd-d5cf,U+d5d1-d5d7,U+d5d9-d5da,U+d5dc,U+d5de-d5e3,U+d5e6-d5e7,U+d5e9-d5eb,U+d5ed-d5f6,U+d5f8,U+d5fa-d5ff,U+d602-d603,U+d605-d607,U+d609-d60f,U+d612-d613,U+d616-d61b,U+d61d-d637,U+d63a-d63b,U+d63d-d63f,U+d641-d647,U+d64a-d64c,U+d64e-d653,U+d656-d657,U+d659-d65b,U+d65d-d666,U+d668,U+d66a-d678}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.4.woff2') format('woff2-variations');unicode-range:U+d507,U+d509-d50b,U+d50d-d513,U+d515-d53b,U+d53e-d53f,U+d541-d543,U+d545-d54c,U+d54e,U+d550,U+d552-d557,U+d55a-d55b,U+d55d-d55f,U+d561-d564,U+d566-d567,U+d56a,U+d56c,U+d56e-d573,U+d576-d577,U+d579-d583,U+d585-d586,U+d58a-d5a4,U+d5a6-d5bb}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.5.woff2') format('woff2-variations');unicode-range:U+d464-d477,U+d47a-d47b,U+d47d-d47f,U+d481-d487,U+d489-d48a,U+d48c,U+d48e-d4e7,U+d4e9-d503,U+d505-d506}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.6.woff2') format('woff2-variations');unicode-range:U+d3bf-d3c7,U+d3ca-d3cf,U+d3d1-d3eb,U+d3ee-d3ef,U+d3f1-d3f3,U+d3f5-d3fb,U+d3fd-d400,U+d402-d45b,U+d45d-d463}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.7.woff2') format('woff2-variations');unicode-range:U+d2ff,U+d302-d304,U+d306-d30b,U+d30f,U+d311-d313,U+d315-d31b,U+d31e,U+d322-d324,U+d326-d327,U+d32a-d32b,U+d32d-d32f,U+d331-d337,U+d339-d33c,U+d33e-d37b,U+d37e-d37f,U+d381-d383,U+d385-d38b,U+d38e-d390,U+d392-d397,U+d39a-d39b,U+d39d-d39f,U+d3a1-d3a7,U+d3a9-d3aa,U+d3ac,U+d3ae-d3b3,U+d3b5-d3b7,U+d3b9-d3bb,U+d3bd-d3be}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.8.woff2') format('woff2-variations');unicode-range:U+d257-d27f,U+d281-d29b,U+d29d-d29f,U+d2a1-d2ab,U+d2ad-d2b7,U+d2ba-d2bb,U+d2bd-d2bf,U+d2c1-d2c7,U+d2c9-d2ef,U+d2f2-d2f3,U+d2f5-d2f7,U+d2f9-d2fe}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.9.woff2') format('woff2-variations');unicode-range:U+d1b4,U+d1b6-d1f3,U+d1f5-d22b,U+d22e-d22f,U+d231-d233,U+d235-d23b,U+d23d-d240,U+d242-d256}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.10.woff2') format('woff2-variations');unicode-range:U+d105-d12f,U+d132-d133,U+d135-d137,U+d139-d13f,U+d141-d142,U+d144,U+d146-d14b,U+d14e-d14f,U+d151-d153,U+d155-d15b,U+d15e-d187,U+d189-d19f,U+d1a2-d1a3,U+d1a5-d1a7,U+d1a9-d1af,U+d1b2-d1b3}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.11.woff2') format('woff2-variations');unicode-range:U+d04b-d04f,U+d051-d057,U+d059-d06b,U+d06d-d06f,U+d071-d073,U+d075-d07b,U+d07e-d0a3,U+d0a6-d0a7,U+d0a9-d0ab,U+d0ad-d0b3,U+d0b6,U+d0b8,U+d0ba-d0bf,U+d0c2-d0c3,U+d0c5-d0c7,U+d0c9-d0cf,U+d0d2,U+d0d6-d0db,U+d0de-d0df,U+d0e1-d0e3,U+d0e5-d0eb,U+d0ee-d0f0,U+d0f2-d104}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.12.woff2') format('woff2-variations');unicode-range:U+cfa2-cfc3,U+cfc5-cfdf,U+cfe2-cfe3,U+cfe5-cfe7,U+cfe9-cff4,U+cff6-cffb,U+cffd-cfff,U+d001-d003,U+d005-d017,U+d019-d033,U+d036-d037,U+d039-d03b,U+d03d-d04a}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.13.woff2') format('woff2-variations');unicode-range:U+cef0-cef3,U+cef6,U+cef9-ceff,U+cf01-cf03,U+cf05-cf07,U+cf09-cf0f,U+cf11-cf12,U+cf14-cf1b,U+cf1d-cf1f,U+cf21-cf2f,U+cf31-cf53,U+cf56-cf57,U+cf59-cf5b,U+cf5d-cf63,U+cf66,U+cf68,U+cf6a-cf6f,U+cf71-cf84,U+cf86-cf8b,U+cf8d-cfa1}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.14.woff2') format('woff2-variations');unicode-range:U+ce3c-ce57,U+ce5a-ce5b,U+ce5d-ce5f,U+ce61-ce67,U+ce6a,U+ce6c,U+ce6e-ce73,U+ce76-ce77,U+ce79-ce7b,U+ce7d-ce83,U+ce85-ce88,U+ce8a-ce8f,U+ce91-ce93,U+ce95-ce97,U+ce99-ce9f,U+cea2,U+cea4-ceab,U+cead-cee3,U+cee6-cee7,U+cee9-ceeb,U+ceed-ceef}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.15.woff2') format('woff2-variations');unicode-range:U+cd92-cd93,U+cd96-cd97,U+cd99-cd9b,U+cd9d-cda3,U+cda6-cda8,U+cdaa-cdaf,U+cdb1-cdc3,U+cdc5-cdcb,U+cdcd-cde7,U+cde9-ce03,U+ce05-ce1f,U+ce22-ce34,U+ce36-ce3b}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.16.woff2') format('woff2-variations');unicode-range:U+ccef-cd07,U+cd0a-cd0b,U+cd0d-cd1a,U+cd1c,U+cd1e-cd2b,U+cd2d-cd5b,U+cd5d-cd77,U+cd79-cd91}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.17.woff2') format('woff2-variations');unicode-range:U+cc3f-cc43,U+cc46-cc47,U+cc49-cc4b,U+cc4d-cc53,U+cc55-cc58,U+cc5a-cc5f,U+cc61-cc97,U+cc9a-cc9b,U+cc9d-cc9f,U+cca1-cca7,U+ccaa,U+ccac,U+ccae-ccb3,U+ccb6-ccb7,U+ccb9-ccbb,U+ccbd-cccf,U+ccd1-cce3,U+cce5-ccee}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.18.woff2') format('woff2-variations');unicode-range:U+cb91-cbd3,U+cbd5-cbe3,U+cbe5-cc0b,U+cc0e-cc0f,U+cc11-cc13,U+cc15-cc1b,U+cc1d-cc20,U+cc23-cc27,U+cc2a-cc2b,U+cc2d,U+cc2f,U+cc31-cc37,U+cc3a,U+cc3c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.19.woff2') format('woff2-variations');unicode-range:U+caf4-cb47,U+cb4a-cb90}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.20.woff2') format('woff2-variations');unicode-range:U+ca4a-ca4b,U+ca4e-ca4f,U+ca51-ca53,U+ca55-ca5b,U+ca5d-ca60,U+ca62-ca83,U+ca85-cabb,U+cabe-cabf,U+cac1-cac3,U+cac5-cacb,U+cacd-cad0,U+cad2,U+cad4-cad8,U+cada-caf3}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.21.woff2') format('woff2-variations');unicode-range:U+c996-c997,U+c99a-c99c,U+c99e-c9bf,U+c9c2-c9c3,U+c9c5-c9c7,U+c9c9-c9cf,U+c9d2,U+c9d4,U+c9d7-c9d8,U+c9db,U+c9de-c9df,U+c9e1-c9e3,U+c9e5-c9e6,U+c9e8-c9eb,U+c9ee-c9f0,U+c9f2-c9f7,U+c9f9-ca0b,U+ca0d-ca28,U+ca2a-ca49}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.22.woff2') format('woff2-variations');unicode-range:U+c8e9-c8f4,U+c8f6-c8fb,U+c8fe-c8ff,U+c901-c903,U+c905-c90b,U+c90e-c910,U+c912-c917,U+c919-c92b,U+c92d-c94f,U+c951-c953,U+c955-c96b,U+c96d-c973,U+c975-c987,U+c98a-c98b,U+c98d-c98f,U+c991-c995}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.23.woff2') format('woff2-variations');unicode-range:U+c841-c84b,U+c84d-c86f,U+c872-c873,U+c875-c877,U+c879-c87f,U+c882-c884,U+c887-c88a,U+c88d-c8c3,U+c8c5-c8df,U+c8e1-c8e8}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.24.woff2') format('woff2-variations');unicode-range:U+c779-c77b,U+c77e-c782,U+c786,U+c78b,U+c78d,U+c78f,U+c792-c793,U+c795,U+c797,U+c799-c79f,U+c7a2,U+c7a7-c7ab,U+c7ae-c7bb,U+c7bd-c7c0,U+c7c2-c7c7,U+c7c9-c7dc,U+c7de-c7ff,U+c802-c803,U+c805-c807,U+c809,U+c80b-c80f,U+c812,U+c814,U+c817-c81b,U+c81e-c81f,U+c821-c823,U+c825-c82e,U+c830-c837,U+c839-c83b,U+c83d-c840}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.25.woff2') format('woff2-variations');unicode-range:U+c6bb-c6bf,U+c6c2,U+c6c4,U+c6c6-c6cb,U+c6ce-c6cf,U+c6d1-c6d3,U+c6d5-c6db,U+c6dd-c6df,U+c6e1-c6e7,U+c6e9-c6eb,U+c6ed-c6ef,U+c6f1-c6f8,U+c6fa-c703,U+c705-c707,U+c709-c70b,U+c70d-c716,U+c718,U+c71a-c71f,U+c722-c723,U+c725-c727,U+c729-c734,U+c736-c73b,U+c73e-c73f,U+c741-c743,U+c745-c74b,U+c74e-c750,U+c752-c757,U+c759-c773,U+c776-c777}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.26.woff2') format('woff2-variations');unicode-range:U+c5f5-c5fb,U+c5fe,U+c602-c605,U+c607,U+c609-c60f,U+c611-c61a,U+c61c-c623,U+c626-c627,U+c629-c62b,U+c62d,U+c62f-c632,U+c636,U+c638,U+c63a-c63f,U+c642-c643,U+c645-c647,U+c649-c652,U+c656-c65b,U+c65d-c65f,U+c661-c663,U+c665-c677,U+c679-c67b,U+c67d-c693,U+c696-c697,U+c699-c69b,U+c69d-c6a3,U+c6a6,U+c6a8,U+c6aa-c6af,U+c6b2-c6b3,U+c6b5-c6b7,U+c6b9-c6ba}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.27.woff2') format('woff2-variations');unicode-range:U+c517-c527,U+c52a-c52b,U+c52d-c52f,U+c531-c538,U+c53a,U+c53c,U+c53e-c543,U+c546-c547,U+c54b,U+c54d-c552,U+c556,U+c55a-c55b,U+c55d,U+c55f,U+c562-c563,U+c565-c567,U+c569-c56f,U+c572,U+c574,U+c576-c57b,U+c57e-c57f,U+c581-c583,U+c585-c586,U+c588-c58b,U+c58e,U+c590,U+c592-c596,U+c599-c5b3,U+c5b6-c5b7,U+c5ba,U+c5be-c5c3,U+c5ca-c5cb,U+c5cd,U+c5cf,U+c5d2-c5d3,U+c5d5-c5d7,U+c5d9-c5df,U+c5e1-c5e2,U+c5e4,U+c5e6-c5eb,U+c5ef,U+c5f1-c5f3}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.28.woff2') format('woff2-variations');unicode-range:U+c475-c4ef,U+c4f2-c4f3,U+c4f5-c4f7,U+c4f9-c4ff,U+c502-c50b,U+c50d-c516}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.29.woff2') format('woff2-variations');unicode-range:U+c3d0-c3d7,U+c3da-c3db,U+c3dd-c3de,U+c3e1-c3ec,U+c3ee-c3f3,U+c3f5-c42b,U+c42d-c463,U+c466-c474}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.30.woff2') format('woff2-variations');unicode-range:U+c32b-c367,U+c36a-c36b,U+c36d-c36f,U+c371-c377,U+c37a-c37b,U+c37e-c383,U+c385-c387,U+c389-c3cf}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.31.woff2') format('woff2-variations');unicode-range:U+c26a-c26b,U+c26d-c26f,U+c271-c273,U+c275-c27b,U+c27e-c287,U+c289-c28f,U+c291-c297,U+c299-c29a,U+c29c-c2a3,U+c2a5-c2a7,U+c2a9-c2ab,U+c2ad-c2b3,U+c2b6,U+c2b8,U+c2ba-c2bb,U+c2bd-c2db,U+c2de-c2df,U+c2e1-c2e2,U+c2e5-c2ea,U+c2ee,U+c2f0,U+c2f2-c2f5,U+c2f7,U+c2fa-c2fb,U+c2fd-c2ff,U+c301-c307,U+c309-c30c,U+c30e-c312,U+c315-c323,U+c325-c328,U+c32a}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.32.woff2') format('woff2-variations');unicode-range:U+c1bc-c1c3,U+c1c5-c1df,U+c1e1-c1fb,U+c1fd-c203,U+c205-c20c,U+c20e,U+c210-c217,U+c21a-c21b,U+c21d-c21e,U+c221-c227,U+c229-c22a,U+c22c,U+c22e,U+c230,U+c233-c24f,U+c251-c257,U+c259-c269}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.33.woff2') format('woff2-variations');unicode-range:U+c101-c11b,U+c11f,U+c121-c123,U+c125-c12b,U+c12e,U+c132-c137,U+c13a-c13b,U+c13d-c13f,U+c141-c147,U+c14a,U+c14c-c153,U+c155-c157,U+c159-c15b,U+c15d-c166,U+c169-c16f,U+c171-c177,U+c179-c18b,U+c18e-c18f,U+c191-c193,U+c195-c19b,U+c19d-c19e,U+c1a0,U+c1a2-c1a4,U+c1a6-c1bb}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.34.woff2') format('woff2-variations');unicode-range:U+c049-c057,U+c059-c05b,U+c05d-c05f,U+c061-c067,U+c069-c08f,U+c091-c0ab,U+c0ae-c0af,U+c0b1-c0b3,U+c0b5,U+c0b7-c0bb,U+c0be,U+c0c2-c0c7,U+c0ca-c0cb,U+c0cd-c0cf,U+c0d1-c0d7,U+c0d9-c0da,U+c0dc,U+c0de-c0e3,U+c0e5-c0eb,U+c0ed-c0f3,U+c0f6,U+c0f8,U+c0fa-c0ff}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.35.woff2') format('woff2-variations');unicode-range:U+bfa7-bfaf,U+bfb1-bfc4,U+bfc6-bfcb,U+bfce-bfcf,U+bfd1-bfd3,U+bfd5-bfdb,U+bfdd-c048}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.36.woff2') format('woff2-variations');unicode-range:U+bf07,U+bf09-bf3f,U+bf41-bf4f,U+bf52-bf54,U+bf56-bfa6}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.37.woff2') format('woff2-variations');unicode-range:U+be56,U+be58,U+be5c-be5f,U+be62-be63,U+be65-be67,U+be69-be74,U+be76-be7b,U+be7e-be7f,U+be81-be8e,U+be90,U+be92-bea7,U+bea9-becf,U+bed2-bed3,U+bed5-bed6,U+bed9-bee3,U+bee6-bf06}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.38.woff2') format('woff2-variations');unicode-range:U+bdb0-bdd3,U+bdd5-bdef,U+bdf1-be0b,U+be0d-be0f,U+be11-be13,U+be15-be43,U+be46-be47,U+be49-be4b,U+be4d-be53}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.39.woff2') format('woff2-variations');unicode-range:U+bd03,U+bd06,U+bd08,U+bd0a-bd0f,U+bd11-bd22,U+bd25-bd47,U+bd49-bd58,U+bd5a-bd7f,U+bd82-bd83,U+bd85-bd87,U+bd8a-bd8f,U+bd91-bd92,U+bd94,U+bd96-bd98,U+bd9a-bdaf}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.40.woff2') format('woff2-variations');unicode-range:U+bc4e-bc83,U+bc86-bc87,U+bc89-bc8b,U+bc8d-bc93,U+bc96,U+bc98,U+bc9b-bc9f,U+bca2-bca3,U+bca5-bca7,U+bca9-bcb2,U+bcb4-bcbb,U+bcbe-bcbf,U+bcc1-bcc3,U+bcc5-bccc,U+bcce-bcd0,U+bcd2-bcd4,U+bcd6-bcf3,U+bcf7,U+bcf9-bcfb,U+bcfd-bd02}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.41.woff2') format('woff2-variations');unicode-range:U+bb90-bba3,U+bba5-bbab,U+bbad-bbbf,U+bbc1-bbf7,U+bbfa-bbfb,U+bbfd-bbfe,U+bc01-bc07,U+bc09-bc0a,U+bc0e,U+bc10,U+bc12-bc13,U+bc17,U+bc19-bc1a,U+bc1e,U+bc20-bc23,U+bc26,U+bc28,U+bc2a-bc2c,U+bc2e-bc2f,U+bc32-bc33,U+bc35-bc37,U+bc39-bc3f,U+bc41-bc42,U+bc44,U+bc46-bc48,U+bc4a-bc4d}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.42.woff2') format('woff2-variations');unicode-range:U+bae6-bafb,U+bafd-bb17,U+bb19-bb33,U+bb37,U+bb39-bb3a,U+bb3d-bb43,U+bb45-bb46,U+bb48,U+bb4a-bb4f,U+bb51-bb53,U+bb55-bb57,U+bb59-bb62,U+bb64-bb8f}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.43.woff2') format('woff2-variations');unicode-range:U+ba30-ba37,U+ba3a-ba3b,U+ba3d-ba3f,U+ba41-ba47,U+ba49-ba4a,U+ba4c,U+ba4e-ba53,U+ba56-ba57,U+ba59-ba5b,U+ba5d-ba63,U+ba65-ba66,U+ba68-ba6f,U+ba71-ba73,U+ba75-ba77,U+ba79-ba84,U+ba86,U+ba88-baa7,U+baaa,U+baad-baaf,U+bab1-bab7,U+baba,U+babc,U+babe-bae5}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.44.woff2') format('woff2-variations');unicode-range:U+b96e-b973,U+b976-b977,U+b979-b97b,U+b97d-b983,U+b986,U+b988,U+b98a-b98d,U+b98f-b9ab,U+b9ae-b9af,U+b9b1-b9b3,U+b9b5-b9bb,U+b9be,U+b9c0,U+b9c2-b9c7,U+b9ca-b9cb,U+b9cd,U+b9d2-b9d7,U+b9da,U+b9dc,U+b9df-b9e0,U+b9e2,U+b9e6-b9e7,U+b9e9-b9f3,U+b9f6,U+b9f8,U+b9fb-ba2f}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.45.woff2') format('woff2-variations');unicode-range:U+b8bf-b8cb,U+b8cd-b8e0,U+b8e2-b8e7,U+b8ea-b8eb,U+b8ed-b8ef,U+b8f1-b8f7,U+b8fa,U+b8fc,U+b8fe-b903,U+b905-b917,U+b919-b91f,U+b921-b93b,U+b93d-b957,U+b95a-b95b,U+b95d-b95f,U+b961-b967,U+b969-b96c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.46.woff2') format('woff2-variations');unicode-range:U+b80d-b80f,U+b811-b817,U+b81a,U+b81c-b823,U+b826-b827,U+b829-b82b,U+b82d-b833,U+b836,U+b83a-b83f,U+b841-b85b,U+b85e-b85f,U+b861-b863,U+b865-b86b,U+b86e,U+b870,U+b872-b8af,U+b8b1-b8be}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.47.woff2') format('woff2-variations');unicode-range:U+b74d-b75f,U+b761-b763,U+b765-b774,U+b776-b77b,U+b77e-b77f,U+b781-b783,U+b785-b78b,U+b78e,U+b792-b796,U+b79a-b79b,U+b79d-b7a7,U+b7aa,U+b7ae-b7b3,U+b7b6-b7c8,U+b7ca-b7eb,U+b7ee-b7ef,U+b7f1-b7f3,U+b7f5-b7fb,U+b7fe,U+b802-b806,U+b80a-b80b}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.48.woff2') format('woff2-variations');unicode-range:U+b6a7-b6aa,U+b6ac-b6b0,U+b6b2-b6ef,U+b6f1-b727,U+b72a-b72b,U+b72d-b72e,U+b731-b737,U+b739-b73a,U+b73c-b743,U+b745-b74c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.49.woff2') format('woff2-variations');unicode-range:U+b605-b60f,U+b612-b617,U+b619-b624,U+b626-b69b,U+b69e-b6a3,U+b6a5-b6a6}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.50.woff2') format('woff2-variations');unicode-range:U+b55f,U+b562-b583,U+b585-b59f,U+b5a2-b5a3,U+b5a5-b5a7,U+b5a9-b5b2,U+b5b5-b5ba,U+b5bd-b604}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.51.woff2') format('woff2-variations');unicode-range:U+b4a5-b4b6,U+b4b8-b4bf,U+b4c1-b4c7,U+b4c9-b4db,U+b4de-b4df,U+b4e1-b4e2,U+b4e5-b4eb,U+b4ee,U+b4f0,U+b4f2-b513,U+b516-b517,U+b519-b51a,U+b51d-b523,U+b526,U+b528,U+b52b-b52f,U+b532-b533,U+b535-b537,U+b539-b53f,U+b541-b544,U+b546-b54b,U+b54d-b54f,U+b551-b55b,U+b55d-b55e}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.52.woff2') format('woff2-variations');unicode-range:U+b3f8-b3fb,U+b3fd-b40f,U+b411-b417,U+b419-b41b,U+b41d-b41f,U+b421-b427,U+b42a-b42b,U+b42d-b44f,U+b452-b453,U+b455-b457,U+b459-b45f,U+b462-b464,U+b466-b46b,U+b46d-b47f,U+b481-b4a3}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.53.woff2') format('woff2-variations');unicode-range:U+b342-b353,U+b356-b357,U+b359-b35b,U+b35d-b35e,U+b360-b363,U+b366,U+b368,U+b36a-b36d,U+b36f,U+b372-b373,U+b375-b377,U+b379-b37f,U+b381-b382,U+b384,U+b386-b38b,U+b38d-b3c3,U+b3c6-b3c7,U+b3c9-b3ca,U+b3cd-b3d3,U+b3d6,U+b3d8,U+b3da-b3f7}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.54.woff2') format('woff2-variations');unicode-range:U+b27c-b283,U+b285-b28f,U+b292-b293,U+b295-b297,U+b29a-b29f,U+b2a1-b2a4,U+b2a7-b2a9,U+b2ab,U+b2ad-b2c7,U+b2ca-b2cb,U+b2cd-b2cf,U+b2d1-b2d7,U+b2da,U+b2dc,U+b2de-b2e3,U+b2e7,U+b2e9-b2ea,U+b2ef-b2f3,U+b2f6,U+b2f8,U+b2fa-b2fb,U+b2fd-b2fe,U+b302-b303,U+b305-b307,U+b309-b30f,U+b312,U+b316-b31b,U+b31d-b341}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.55.woff2') format('woff2-variations');unicode-range:U+b1d6-b1e7,U+b1e9-b1fc,U+b1fe-b203,U+b206-b207,U+b209-b20b,U+b20d-b213,U+b216-b21f,U+b221-b257,U+b259-b273,U+b275-b27b}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.56.woff2') format('woff2-variations');unicode-range:U+b120-b122,U+b126-b127,U+b129-b12b,U+b12d-b133,U+b136,U+b138,U+b13a-b13f,U+b142-b143,U+b145-b14f,U+b151-b153,U+b156-b157,U+b159-b177,U+b17a-b17b,U+b17d-b17f,U+b181-b187,U+b189-b18c,U+b18e-b191,U+b195-b1a7,U+b1a9-b1cb,U+b1cd-b1d5}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.57.woff2') format('woff2-variations');unicode-range:U+b05f-b07b,U+b07e-b07f,U+b081-b083,U+b085-b08b,U+b08d-b097,U+b09b,U+b09d-b09f,U+b0a2-b0a7,U+b0aa,U+b0b0,U+b0b2,U+b0b6-b0b7,U+b0b9-b0bb,U+b0bd-b0c3,U+b0c6-b0c7,U+b0ca-b0cf,U+b0d1-b0df,U+b0e1-b0e4,U+b0e6-b107,U+b10a-b10b,U+b10d-b10f,U+b111-b112,U+b114-b117,U+b119-b11a,U+b11c-b11f}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.58.woff2') format('woff2-variations');unicode-range:U+afac-afb7,U+afba-afbb,U+afbd-afbf,U+afc1-afc6,U+afca-afcc,U+afce-afd3,U+afd5-afe7,U+afe9-afef,U+aff1-b00b,U+b00d-b00f,U+b011-b013,U+b015-b01b,U+b01d-b027,U+b029-b043,U+b045-b047,U+b049,U+b04b,U+b04d-b052,U+b055-b056,U+b058-b05c,U+b05e}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.59.woff2') format('woff2-variations');unicode-range:U+af03-af07,U+af09-af2b,U+af2e-af33,U+af35-af3b,U+af3e-af40,U+af44-af47,U+af4a-af5c,U+af5e-af63,U+af65-af7f,U+af81-afab}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.60.woff2') format('woff2-variations');unicode-range:U+ae56-ae5b,U+ae5e-ae60,U+ae62-ae64,U+ae66-ae67,U+ae69-ae6b,U+ae6d-ae83,U+ae85-aebb,U+aebf,U+aec1-aec3,U+aec5-aecb,U+aece,U+aed0,U+aed2-aed7,U+aed9-aef3,U+aef5-af02}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.61.woff2') format('woff2-variations');unicode-range:U+ad9c-ada3,U+ada5-adbf,U+adc1-adc3,U+adc5-adc7,U+adc9-add2,U+add4-addb,U+addd-addf,U+ade1-ade3,U+ade5-adf7,U+adfa-adfb,U+adfd-adff,U+ae02-ae07,U+ae0a,U+ae0c,U+ae0e-ae13,U+ae15-ae2f,U+ae31-ae33,U+ae35-ae37,U+ae39-ae3f,U+ae42,U+ae44,U+ae46-ae49,U+ae4b,U+ae4f,U+ae51-ae53,U+ae55}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.62.woff2') format('woff2-variations');unicode-range:U+ace2-ace3,U+ace5-ace6,U+ace9-acef,U+acf2,U+acf4,U+acf7-acfb,U+acfe-acff,U+ad01-ad03,U+ad05-ad0b,U+ad0d-ad10,U+ad12-ad1b,U+ad1d-ad33,U+ad35-ad48,U+ad4a-ad4f,U+ad51-ad6b,U+ad6e-ad6f,U+ad71-ad72,U+ad77-ad7c,U+ad7e,U+ad80,U+ad82-ad87,U+ad89-ad8b,U+ad8d-ad8f,U+ad91-ad9b}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.63.woff2') format('woff2-variations');unicode-range:U+ac25-ac2c,U+ac2e,U+ac30,U+ac32-ac37,U+ac39-ac3f,U+ac41-ac4c,U+ac4e-ac6f,U+ac72-ac73,U+ac75-ac76,U+ac79-ac7f,U+ac82,U+ac84-ac88,U+ac8a-ac8b,U+ac8d-ac8f,U+ac91-ac93,U+ac95-ac9b,U+ac9d-ac9e,U+aca1-aca7,U+acab,U+acad-acaf,U+acb1-acb7,U+acba-acbb,U+acbe-acc0,U+acc2-acc3,U+acc5-acdf}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.64.woff2') format('woff2-variations');unicode-range:U+99df,U+99ed,U+99f1,U+99ff,U+9a01,U+9a08,U+9a0e-9a0f,U+9a19,U+9a2b,U+9a30,U+9a36-9a37,U+9a40,U+9a43,U+9a45,U+9a4d,U+9a55,U+9a57,U+9a5a-9a5b,U+9a5f,U+9a62,U+9a65,U+9a69-9a6a,U+9aa8,U+9ab8,U+9ad3,U+9ae5,U+9aee,U+9b1a,U+9b27,U+9b2a,U+9b31,U+9b3c,U+9b41-9b45,U+9b4f,U+9b54,U+9b5a,U+9b6f,U+9b8e,U+9b91,U+9b9f,U+9bab,U+9bae,U+9bc9,U+9bd6,U+9be4,U+9be8,U+9c0d,U+9c10,U+9c12,U+9c15,U+9c25,U+9c32,U+9c3b,U+9c47,U+9c49,U+9c57,U+9ce5,U+9ce7,U+9ce9,U+9cf3-9cf4,U+9cf6,U+9d09,U+9d1b,U+9d26,U+9d28,U+9d3b,U+9d51,U+9d5d,U+9d60-9d61,U+9d6c,U+9d72,U+9da9,U+9daf,U+9db4,U+9dc4,U+9dd7,U+9df2,U+9df8-9dfa,U+9e1a,U+9e1e,U+9e75,U+9e79,U+9e7d,U+9e7f,U+9e92-9e93,U+9e97,U+9e9d,U+9e9f,U+9ea5,U+9eb4-9eb5,U+9ebb,U+9ebe,U+9ec3,U+9ecd-9ece,U+9ed4,U+9ed8,U+9edb-9edc,U+9ede,U+9ee8,U+9ef4,U+9f07-9f08,U+9f0e,U+9f13,U+9f20,U+9f3b,U+9f4a-9f4b,U+9f4e,U+9f52,U+9f5f,U+9f61,U+9f67,U+9f6a,U+9f6c,U+9f77,U+9f8d,U+9f90,U+9f95,U+9f9c,U+ac02-ac03,U+ac05-ac06,U+ac09-ac0f,U+ac17-ac18,U+ac1b,U+ac1e-ac1f,U+ac21-ac23}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.65.woff2') format('woff2-variations');unicode-range:U+338c-339c,U+339f-33a0,U+33a2-33cb,U+33cf-33d0,U+33d3,U+33d6,U+33d8,U+33db-33dd,U+4e01,U+4e03,U+4e07-4e08,U+4e11,U+4e14-4e15,U+4e18-4e19,U+4e1e,U+4e32,U+4e38-4e39,U+4e42-4e43,U+4e45,U+4e4d-4e4f,U+4e56,U+4e58-4e59,U+4e5d-4e5e,U+4e6b,U+4e6d,U+4e73,U+4e76-4e77,U+4e7e,U+4e82,U+4e86,U+4e88,U+4e8e,U+4e90-4e92,U+4e94-4e95,U+4e98,U+4e9b,U+4e9e,U+4ea1-4ea2,U+4ea4-4ea6,U+4ea8,U+4eab,U+4ead-4eae,U+4eb6,U+4ec0-4ec1,U+4ec4,U+4ec7,U+4ecb,U+4ecd,U+4ed4-4ed5,U+4ed7-4ed9,U+4edd,U+4edf,U+4ee4,U+4ef0,U+4ef2,U+4ef6-4ef7,U+4efb,U+4f01,U+4f09,U+4f0b,U+4f0d-4f11,U+4f2f,U+4f34,U+4f36,U+4f38,U+4f3a,U+4f3c-4f3d}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.66.woff2') format('woff2-variations');unicode-range:U+3136,U+3138,U+313a-3140,U+3143-3144,U+3150,U+3152,U+3154-3156,U+3158-315b,U+315d-315f,U+3162,U+3164-318c,U+318e,U+3200-321b,U+3231,U+3239,U+3251-325a,U+3260-327b,U+327e-327f,U+328a-3290,U+3294,U+329e,U+32a5,U+3380-3384,U+3388-338b}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.67.woff2') format('woff2-variations');unicode-range:U+2f7d,U+2f7f-2f8b,U+2f8e-2f90,U+2f92-2f97,U+2f99-2fa0,U+2fa2-2fa3,U+2fa5-2fa9,U+2fac-2fb1,U+2fb3-2fbc,U+2fc1-2fca,U+2fcd-2fd4,U+3003,U+3012-3019,U+301c,U+301e-3020,U+3036,U+3041,U+3043,U+3045,U+3047,U+3049,U+304e,U+3050,U+3052,U+3056,U+305a,U+305c,U+305e,U+3062,U+3065,U+306c,U+3070-307d,U+3080,U+3085,U+3087,U+308e,U+3090-3091,U+30a1,U+30a5,U+30a9,U+30ae,U+30b1-30b2,U+30b4,U+30b6,U+30bc-30be,U+30c2,U+30c5,U+30cc,U+30d2,U+30d4,U+30d8-30dd,U+30e4,U+30e6,U+30e8,U+30ee,U+30f0-30f2,U+30f4-30f6,U+3133,U+3135}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.68.woff2') format('woff2-variations');unicode-range:U+2541-254b,U+25a4-25a9,U+25b1,U+25b5,U+25b9,U+25bf,U+25c1,U+25c3,U+25c9-25ca,U+25cc,U+25ce,U+25d0-25d1,U+25e6,U+25ef,U+260f,U+261d,U+261f,U+262f,U+2660,U+2664,U+2667-2669,U+266d,U+266f,U+2716,U+271a,U+273d,U+2756,U+2776-277f,U+278a-2793,U+2963,U+2965,U+2ac5-2ac6,U+2acb-2acc,U+2f00,U+2f04,U+2f06,U+2f08,U+2f0a-2f0b,U+2f11-2f12,U+2f14,U+2f17-2f18,U+2f1c-2f1d,U+2f1f-2f20,U+2f23-2f26,U+2f28-2f29,U+2f2b,U+2f2d,U+2f2f-2f32,U+2f38,U+2f3c-2f40,U+2f42-2f4c,U+2f4f-2f52,U+2f54-2f58,U+2f5a-2f66,U+2f69-2f70,U+2f72-2f76,U+2f78,U+2f7a-2f7c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.69.woff2') format('woff2-variations');unicode-range:U+2479-2487,U+249c-24d1,U+24d3-24d7,U+24d9-24e9,U+24eb-24f4,U+2500-2501,U+2503,U+250c-2513,U+2515-2516,U+2518-2540}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.70.woff2') format('woff2-variations');unicode-range:U+215b-215e,U+2162-2169,U+2170-2179,U+2195-2199,U+21b0-21b4,U+21bc,U+21c0,U+21c4-21c5,U+21cd,U+21cf-21d4,U+21e0-21e3,U+21e6-21e9,U+2200,U+2202-2203,U+2206-2209,U+220b-220c,U+220f,U+2211,U+2213,U+221a,U+221d-2220,U+2222,U+2225-2227,U+2229-222c,U+222e,U+2234-2237,U+223d,U+2243,U+2245,U+2248,U+2250-2253,U+225a,U+2260-2262,U+2264-2267,U+226a-226b,U+226e-2273,U+2276-2277,U+2279-227b,U+2280-2287,U+228a-228b,U+2295-2297,U+22a3-22a5,U+22bb-22bc,U+22ce-22cf,U+22da-22db,U+22ee-22ef,U+2306,U+2312,U+2314,U+2467-2478}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.71.woff2') format('woff2-variations');unicode-range:U+81-82,U+84,U+a2-a5,U+a7-a8,U+aa,U+ac,U+b1-b3,U+b6,U+b8-ba,U+bc-be,U+c0,U+c2,U+c6-cb,U+ce-d0,U+d4,U+d8-d9,U+db-dc,U+de-df,U+e6,U+eb,U+ee-f0,U+f4,U+f7-f9,U+fb,U+fe-ff,U+111,U+126-127,U+132-133,U+138,U+13f-142,U+149-14b,U+152-153,U+166-167,U+2bc,U+2c7,U+2d0,U+2d8-2d9,U+2db-2dd,U+391-394,U+396-3a1,U+3a3-3a9,U+3b2-3b6,U+3b8,U+3bc,U+3be-3c1,U+3c3-3c9,U+2010,U+2015-2016,U+2018-2019,U+201b,U+201f-2021,U+2025,U+2030,U+2033-2036,U+203c,U+203e,U+2042,U+2074,U+207a-207f,U+2081-2084,U+2109,U+2113,U+2116,U+2121,U+2126,U+212b,U+2153-2154}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.72.woff2') format('woff2-variations');unicode-range:U+e8,U+2da,U+2160,U+2194,U+3054,U+3058,U+306d,U+3086,U+308d,U+30ac,U+30bb,U+30c4,U+30cd-30ce,U+30e2,U+3132,U+3146,U+3149,U+339d,U+4e3b,U+4f0a,U+4fdd,U+4fe1,U+5409,U+540c,U+5834,U+592a-592b,U+5b9a,U+5dde,U+5e0c,U+5e73,U+5f0f,U+60f3,U+653f,U+661f,U+662f,U+667a,U+683c,U+6b4c,U+6c11,U+767c,U+76ee,U+76f4,U+77f3,U+79d1,U+7a7a,U+7b2c,U+7d22,U+8207,U+8a00,U+8a71,U+9280,U+9580,U+958b,U+96c6,U+9762,U+98df,U+9ed1,U+ac2d,U+adc8,U+add3,U+af48,U+b014,U+b134-b135,U+b158,U+b2aa,U+b35f,U+b6a4,U+b9cf,U+bb63,U+bd23,U+be91,U+c29b,U+c3f4,U+c42c,U+c55c,U+c573,U+c58f,U+c78c,U+c7dd,U+c8f5,U+cad1,U+cc48,U+cf10,U+cf20,U+d03c,U+d07d,U+d2a0,U+d30e,U+d38d,U+d3a8,U+d3c8,U+d5e5,U+d5f9,U+d6e4,U+f90a,U+ff02,U+ff1c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.73.woff2') format('woff2-variations');unicode-range:U+3b1,U+2466,U+25a1,U+25a3,U+261c,U+3008-3009,U+305b,U+305d,U+3069,U+30a7,U+30ba,U+30cf,U+30ef,U+3151,U+3157,U+4e4b,U+4e5f,U+4e8c,U+4eca,U+4ed6,U+4f5b,U+50cf,U+5149,U+5165,U+5171,U+5229,U+529b,U+5316,U+539f,U+53f2,U+571f,U+5728,U+58eb,U+591c,U+5b78,U+5c11,U+5c55,U+5ddd,U+5e02,U+5fb7,U+60c5,U+610f,U+611f,U+6625,U+66f8,U+6797,U+679c,U+682a,U+6d2a,U+706b,U+7406,U+767b,U+76f8,U+77e5,U+7acb,U+898b,U+8a69,U+8def,U+8fd1,U+901a,U+90e8,U+91cd,U+975e,U+ae14,U+ae6c,U+aec0,U+afc7,U+afc9,U+b01c,U+b028,U+b308,U+b311,U+b314,U+b31c,U+b524,U+b560,U+b764,U+b920,U+b9e3,U+bd48,U+be7d,U+c0db,U+c231,U+c270,U+c2e3,U+c37d,U+c3ed,U+c530,U+c6a5,U+c6dc,U+c7a4,U+c954,U+c974,U+d000,U+d565,U+d667,U+d6c5,U+d79d,U+ff1e}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.74.woff2') format('woff2-variations');unicode-range:U+131,U+2032,U+2465,U+2642,U+3048,U+3051,U+3083-3084,U+308f,U+30c0,U+30d1,U+30d3,U+30d6,U+30df,U+30e7,U+3153,U+4e16,U+4e8b,U+4ee5,U+5206,U+52a0,U+52d5,U+53e4,U+53ef,U+54c1,U+57ce,U+597d,U+5b8c,U+5ea6,U+5f8c,U+5f97,U+6210,U+6240,U+624b,U+6728,U+6bd4,U+7236,U+7269,U+7279,U+738b,U+7528,U+7530,U+767e,U+798f,U+8005,U+8a18,U+90fd,U+91cc,U+9577,U+9593,U+98a8,U+ac20,U+acf6,U+ad90,U+af5d,U+af80,U+afcd,U+aff0,U+b0a1,U+b0b5,U+b1fd,U+b2fc,U+b380,U+b51b,U+b584,U+b5b3,U+b8fd,U+b93c,U+b9f4,U+bb44,U+bc08,U+bc27,U+bc49,U+be55,U+be64,U+bfb0,U+bfc5,U+c178,U+c21f,U+c314,U+c4f1,U+c58d,U+c664,U+c698,U+c6a7,U+c6c1,U+c9ed,U+cac0,U+cacc,U+cad9,U+ccb5,U+cdcc,U+d0e4,U+d143,U+d320,U+d330,U+d54d,U+ff06,U+ff1f,U+ff5e}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.75.woff2') format('woff2-variations');unicode-range:U+b4,U+20a9,U+20ac,U+2190,U+24d8,U+2502,U+2514,U+2592,U+25c7-25c8,U+2663,U+3060,U+3064,U+3081,U+3088,U+30a3,U+30a6,U+30aa,U+30b5,U+30c7,U+30ca-30cb,U+30d0,U+30e3,U+30e5,U+339e,U+4e09,U+4eac,U+4f5c,U+5167-5168,U+516c,U+51fa,U+5408,U+540d,U+591a,U+5b57,U+6211,U+65b9,U+660e,U+6642,U+6700,U+6b63,U+6e2f,U+7063,U+7532,U+793e,U+81ea,U+8272,U+82b1,U+897f,U+8eca,U+91ce,U+ac38,U+ad76,U+ae84,U+aecc,U+b07d,U+b0b1,U+b215,U+b2a0,U+b310,U+b3d7,U+b52a,U+b618,U+b775,U+b797,U+bcd5,U+bd59,U+be80,U+bea8,U+bed1,U+bee4-bee5,U+c060,U+c2ef,U+c329,U+c3dc,U+c597,U+c5bd,U+c5e5,U+c69c,U+c9d6,U+ca29,U+ca5c,U+ca84,U+cc39,U+cc3b,U+ce89,U+cee5,U+cf65,U+cf85,U+d058,U+d145,U+d22d,U+d325,U+d37d,U+d3ad,U+d769,U+ff0c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.76.woff2') format('woff2-variations');unicode-range:U+2161,U+2228,U+2299,U+2464,U+2517,U+2640,U+3042,U+304a,U+3053,U+3061,U+307f,U+3082,U+308c,U+3092,U+30a8,U+30ab,U+30ad,U+30b0,U+30b3,U+30b7,U+30c1,U+30c6,U+30c9,U+30d5,U+30d7,U+30de,U+30e0-30e1,U+30ec-30ed,U+4e0b,U+4e0d,U+4ee3,U+53f0,U+548c,U+5b89,U+5bb6,U+5c0f,U+611b,U+6771,U+6aa2,U+6bcd,U+6c34,U+6cd5,U+6d77,U+767d,U+795e,U+8ecd,U+9999,U+9ad8,U+ac07,U+ac1a,U+ac40,U+ad0c,U+ad88,U+ada4,U+ae01,U+ae65,U+aebd,U+aec4,U+afe8,U+b139,U+b205,U+b383,U+b38c,U+b42c,U+b461,U+b55c,U+b78f,U+b8fb,U+b9f7,U+bafc,U+bc99,U+bed8,U+bfcd,U+c0bf,U+c0f9,U+c167,U+c204,U+c20f,U+c22f,U+c258,U+c298,U+c2bc,U+c388,U+c501,U+c50c,U+c5b9,U+c5ce,U+c641,U+c648,U+c73d,U+ca50,U+ca61,U+cc4c,U+ceac,U+d0d4,U+d5f7,U+d6d7,U+ff1a}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.77.woff2') format('woff2-variations');unicode-range:U+2103,U+2463,U+25c6,U+25cb,U+266c,U+3001,U+300a,U+3046,U+304c-304d,U+304f,U+3055,U+3059,U+3063,U+3066-3068,U+306f,U+3089,U+30b8,U+30bf,U+314f,U+4e0a,U+570b,U+5730,U+5916,U+5929,U+5c71,U+5e74,U+5fc3,U+601d,U+6027,U+63d0,U+6709,U+6734,U+751f,U+7684,U+82f1,U+9053,U+91d1,U+97f3,U+ac2f,U+ac4d,U+adc4,U+ade4,U+ae41,U+ae4d-ae4e,U+aed1,U+afb9,U+b0e0,U+b299,U+b365,U+b46c,U+b480,U+b4c8,U+b7b4,U+b819,U+b918,U+baab,U+bab9,U+be8f,U+bed7,U+c0ec,U+c19f,U+c1a5,U+c3d9,U+c464,U+c53d,U+c553,U+c570,U+c5cc,U+c633,U+c6a4,U+c7a3,U+c7a6,U+c886,U+c9d9-c9da,U+c9ec,U+ca0c,U+cc21,U+cd1b,U+cd78,U+cdc4,U+cef8,U+cfe4,U+d0a5,U+d0b5,U+d0ec,U+d15d,U+d188,U+d23c,U+d2ac,U+d729,U+d79b,U+ff01,U+ff08-ff09,U+ff5c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.78.woff2') format('woff2-variations');unicode-range:U+2039-203a,U+223c,U+25b3,U+25b7,U+25bd,U+25cf,U+266a,U+3002,U+300b,U+304b,U+3057,U+305f,U+306a-306b,U+307e,U+308a-308b,U+3093,U+30a2,U+30af,U+30b9,U+30c3,U+30c8,U+30e9-30eb,U+33a1,U+4e00,U+524d,U+5357,U+5b50,U+7121,U+884c,U+9751,U+ac94,U+aebe,U+aecd,U+af08,U+af41,U+af49,U+b010,U+b053,U+b109,U+b11b,U+b128,U+b154,U+b291,U+b2e6,U+b301,U+b385,U+b525,U+b5b4,U+b729,U+b72f,U+b738,U+b7ff,U+b837,U+b975,U+ba67,U+bb47,U+bc1f,U+bd90,U+bfd4,U+c27c,U+c324,U+c379,U+c3e0,U+c465,U+c53b,U+c58c,U+c610,U+c653,U+c6cd,U+c813,U+c82f,U+c999,U+c9e0,U+cac4,U+cad3,U+cbd4,U+cc10,U+cc22,U+ccb8,U+ccbc,U+cda5,U+ce84,U+cea3,U+cf67,U+cfe1,U+d241,U+d30d,U+d31c,U+d391,U+d401,U+d479,U+d5c9,U+d5db,U+d649,U+d6d4}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.79.woff2') format('woff2-variations');unicode-range:U+b0,U+e9,U+2193,U+2462,U+260e,U+261e,U+300e-300f,U+3044,U+30a4,U+30fb-30fc,U+314d,U+5973,U+6545,U+6708,U+7537,U+ac89,U+ac9c,U+acc1,U+ad04,U+ad75,U+ad7d,U+ae45,U+ae61,U+af42,U+b0ab,U+b0af,U+b0b3,U+b12c,U+b194,U+b1a8,U+b220,U+b258,U+b284,U+b2ff,U+b315,U+b371,U+b3d4-b3d5,U+b460,U+b527,U+b534,U+b810,U+b818,U+b98e,U+ba55,U+bbac,U+bc0b,U+bc40,U+bca1,U+bccd,U+bd93,U+be54,U+be5a,U+bf08,U+bf50,U+bf55,U+bfdc,U+c0c0,U+c0d0,U+c0f4,U+c100,U+c11e,U+c170,U+c20d,U+c274,U+c290,U+c308,U+c369,U+c539,U+c587,U+c5ff,U+c6ec,U+c70c,U+c7ad,U+c7c8,U+c83c,U+c881,U+cb48,U+cc60,U+ce69,U+ce6b,U+ce75,U+cf04,U+cf08,U+cf55,U+cf70,U+cffc,U+d0b7,U+d1a8,U+d2c8,U+d384,U+d47c,U+d48b,U+d5dd,U+d5e8,U+d720,U+d759,U+f981}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.80.woff2') format('woff2-variations');unicode-range:U+e0,U+e2,U+395,U+3b7,U+3ba,U+2460-2461,U+25a0,U+3010-3011,U+306e,U+30f3,U+314a,U+314c,U+5927,U+65b0,U+7e41,U+97d3,U+9ad4,U+ad49,U+ae0b,U+ae0d,U+ae43,U+ae5d,U+aecf,U+af3c,U+af64,U+afd4,U+b080,U+b084,U+b0c5,U+b10c,U+b1e8,U+b2ac,U+b36e,U+b451,U+b515,U+b540,U+b561,U+b6ab,U+b6b1,U+b72c,U+b730,U+b744,U+b800,U+b8ec,U+b8f0,U+b904,U+b968,U+b96d,U+b987,U+b9d9,U+bb36,U+bb49,U+bc2d,U+bc43,U+bcf6,U+bd89,U+be57,U+be61,U+bed4,U+c090,U+c130,U+c148,U+c19c,U+c2f9,U+c36c,U+c37c,U+c384,U+c3df,U+c575,U+c584,U+c660,U+c719,U+c816,U+ca4d,U+ca54,U+cabc,U+cb49,U+cc14,U+cff5,U+d004,U+d038,U+d0b4,U+d0d3,U+d0e0,U+d0ed,U+d131,U+d1b0,U+d31f,U+d33d,U+d3a0,U+d3ab,U+d514,U+d584,U+d6a1,U+d6cc,U+d749,U+d760,U+d799}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.81.woff2') format('woff2-variations');unicode-range:U+24,U+60,U+3b9,U+3bb,U+3bd,U+2191,U+2606,U+300c-300d,U+3131,U+3134,U+3139,U+3141-3142,U+3148,U+3161,U+3163,U+321c,U+4eba,U+5317,U+ac31,U+ac77,U+ac9f,U+acb9,U+acf0-acf1,U+acfd,U+ad73,U+af3d,U+b00c,U+b04a,U+b057,U+b0c4,U+b188,U+b1cc,U+b214,U+b2db,U+b2ee,U+b304,U+b4ed,U+b518,U+b5bc,U+b625,U+b69c-b69d,U+b7ac,U+b801,U+b86c,U+b959,U+b95c,U+b985,U+ba48,U+bb58,U+bc0c,U+bc38,U+bc85,U+bc9a,U+bf40,U+c068,U+c0bd,U+c0cc,U+c12f,U+c149,U+c1e0,U+c22b,U+c22d,U+c250,U+c2fc,U+c300,U+c313,U+c370,U+c3d8,U+c557,U+c580,U+c5e3,U+c62e,U+c634,U+c6f0,U+c74d,U+c783,U+c78e,U+c796,U+c7bc,U+c92c,U+ca4c,U+cc1c,U+cc54,U+cc59,U+ce04,U+cf30,U+cfc4,U+d140,U+d321,U+d38c,U+d399,U+d54f,U+d587,U+d5d0,U+d6e8,U+d770}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.82.woff2') format('woff2-variations');unicode-range:U+d7,U+ea,U+fc,U+2192,U+25bc,U+3000,U+3137,U+3145,U+315c,U+7f8e,U+ac13,U+ac71,U+ac90,U+acb8,U+ace7,U+ad7f,U+ae50,U+aef4,U+af34,U+afbc,U+b048,U+b09a,U+b0ad,U+b0bc,U+b113,U+b125,U+b141,U+b20c,U+b2d9,U+b2ed,U+b367,U+b369,U+b374,U+b3cb,U+b4ec,U+b611,U+b760,U+b81b,U+b834,U+b8b0,U+b8e1,U+b989,U+b9d1,U+b9e1,U+b9fa,U+ba4d,U+ba78,U+bb35,U+bb54,U+bbf9,U+bc11,U+bcb3,U+bd05,U+bd95,U+bdd4,U+be10,U+bed0,U+bf51,U+c0d8,U+c232,U+c2b7,U+c2eb,U+c378,U+c500,U+c52c,U+c549,U+c568,U+c598,U+c5c9,U+c61b,U+c639,U+c67c,U+c717,U+c78a,U+c80a,U+c90c-c90d,U+c950,U+c9e7,U+cbe4,U+cca9,U+cce4,U+cdb0,U+ce78,U+ce94,U+ce98,U+cf8c,U+d018,U+d034,U+d0f1,U+d1b1,U+d280,U+d2f8,U+d338,U+d380,U+d3b4,U+d610,U+d69f,U+d6fc,U+d758}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.83.woff2') format('woff2-variations');unicode-range:U+e7,U+2022,U+203b,U+25c0,U+2605,U+2661,U+3147,U+318d,U+672c,U+8a9e,U+acaa,U+acbc,U+ad1c,U+ae4a,U+ae5c,U+b044,U+b054,U+b0c8-b0c9,U+b2a6,U+b2d0,U+b35c,U+b364,U+b428,U+b454,U+b465,U+b4b7,U+b4e3,U+b51c,U+b5a1,U+b784,U+b790,U+b7ab,U+b7f4,U+b82c,U+b835,U+b8e9,U+b8f8,U+b9d8,U+b9f9,U+ba5c,U+ba64,U+babd,U+bb18,U+bb3b,U+bbff,U+bc0d,U+bc45,U+bc97,U+bcbc,U+be45,U+be75,U+be7c,U+bfcc,U+c0b6,U+c0f7,U+c14b,U+c2b4,U+c30d,U+c4f8,U+c5bb,U+c5d1,U+c5e0,U+c5ee,U+c5fd,U+c606,U+c6c5,U+c6e0,U+c708,U+c81d,U+c820,U+c824,U+c878,U+c918,U+c96c,U+c9e4,U+c9f1,U+cc2e,U+cd09,U+cea1,U+cef5,U+cef7,U+cf64,U+cf69,U+cfe8,U+d035,U+d0ac,U+d230,U+d234,U+d2f4,U+d31d,U+d575,U+d578,U+d608,U+d614,U+d718,U+d751,U+d761,U+d78c,U+d790}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.84.woff2') format('woff2-variations');unicode-range:U+2665,U+3160,U+4e2d,U+6587,U+65e5,U+ac12,U+ac14,U+ac16,U+ac81,U+ad34,U+ade0,U+ae54,U+aebc,U+af2c,U+afc0,U+afc8,U+b04c,U+b08c,U+b099,U+b0a9,U+b0ac,U+b0ae,U+b0b8,U+b123,U+b179,U+b2e5,U+b2f7,U+b4c0,U+b531,U+b538,U+b545,U+b550,U+b5a8,U+b6f0,U+b728,U+b73b,U+b7ad,U+b7ed,U+b809,U+b864,U+b86d,U+b871,U+b9bf,U+b9f5,U+ba40,U+ba4b,U+ba58,U+ba87,U+baac,U+bbc0,U+bc16,U+bc34,U+bd07,U+bd99,U+be59,U+bfd0,U+c058,U+c0e4,U+c0f5,U+c12d,U+c139,U+c228,U+c529,U+c5c7,U+c635,U+c637,U+c735,U+c77d,U+c787,U+c789,U+c8c4,U+c989,U+c98c,U+c9d0,U+c9d3,U+cc0c,U+cc99,U+cd0c,U+cd2c,U+cd98,U+cda4,U+ce59,U+ce60,U+ce6d,U+cea0,U+d0d0-d0d1,U+d0d5,U+d14d,U+d1a4,U+d29c,U+d2f1,U+d301,U+d39c,U+d3bc,U+d4e8,U+d540,U+d5ec,U+d640,U+d750}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.85.woff2') format('woff2-variations');unicode-range:U+5e,U+25b2,U+25b6,U+314e,U+ac24,U+ace1,U+ace4,U+ae68,U+af2d,U+b0d0,U+b0e5,U+b150,U+b155,U+b193,U+b2c9,U+b2dd,U+b3c8,U+b3fc,U+b410,U+b458,U+b4dd,U+b5a0,U+b5a4,U+b5bb,U+b7b5,U+b838,U+b840,U+b86f,U+b8f9,U+b960,U+b9e5,U+bab8,U+bb50,U+bc1d,U+bc24-bc25,U+bca8,U+bcbd,U+bd04,U+bd10,U+bd24,U+be48,U+be5b,U+be68,U+c05c,U+c12c,U+c140,U+c15c,U+c168,U+c194,U+c219,U+c27d,U+c2a8,U+c2f1,U+c2f8,U+c368,U+c554-c555,U+c559,U+c564,U+c5d8,U+c5fc,U+c625,U+c65c,U+c6b1,U+c728,U+c794,U+c84c,U+c88c,U+c8e0,U+c8fd,U+c998,U+c9dd,U+cc0d,U+cc30,U+ceec,U+cf13,U+cf1c,U+cf5c,U+d050,U+d07c,U+d0a8,U+d134,U+d138,U+d154,U+d1f4,U+d2bc,U+d329,U+d32c,U+d3d0,U+d3f4,U+d3fc,U+d56b,U+d5cc,U+d600-d601,U+d639,U+d6c8,U+d754,U+d765}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.86.woff2') format('woff2-variations');unicode-range:U+3c-3d,U+2026,U+24d2,U+314b,U+ac11,U+acf3,U+ad74,U+ad81,U+adf9,U+ae34,U+af43,U+afb8,U+b05d,U+b07c,U+b110,U+b118,U+b17c,U+b180,U+b18d,U+b192,U+b2cc,U+b355,U+b378,U+b4a4,U+b4ef,U+b78d,U+b799,U+b7a9,U+b7fd,U+b807,U+b80c,U+b839,U+b9b4,U+b9db,U+ba3c,U+bab0,U+bba4,U+bc94,U+be4c,U+c154,U+c1c4,U+c26c,U+c2ac,U+c2ed,U+c4f4,U+c55e,U+c561,U+c571,U+c5b5,U+c5c4,U+c654-c655,U+c695,U+c6e8,U+c6f9,U+c724,U+c751,U+c775,U+c7a0,U+c7c1,U+c874,U+c880,U+c9d5,U+c9f8,U+cabd,U+cc29,U+cc2c,U+cca8,U+ccab,U+ccd0,U+ce21,U+ce35,U+ce7c,U+ce90,U+cee8,U+cef4,U+cfe0,U+d070,U+d0b9,U+d0c1,U+d0c4,U+d0c8,U+d15c,U+d1a1,U+d2c0,U+d300,U+d314,U+d3ed,U+d478,U+d480,U+d48d,U+d508,U+d53d,U+d5e4,U+d611,U+d61c,U+d68d,U+d6a8,U+d798}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.87.woff2') format('woff2-variations');unicode-range:U+23,U+25,U+5f,U+a9,U+ac08,U+ac78,U+aca8,U+acac,U+ace8,U+ad70,U+adc0,U+addc,U+b137,U+b140,U+b208,U+b290,U+b2f5,U+b3c5,U+b3cc,U+b420,U+b429,U+b529,U+b530,U+b77d,U+b79c,U+b7a8,U+b7c9,U+b7f0,U+b7fc,U+b828,U+b860,U+b9ad,U+b9c1,U+b9c9,U+b9dd-b9de,U+b9e8,U+ba38-ba39,U+babb,U+bc00,U+bc8c,U+bca0,U+bca4,U+bcd1,U+bcfc,U+bd09,U+bdf0,U+be60,U+c0ad,U+c0b4,U+c0bc,U+c190,U+c1fc,U+c220,U+c288,U+c2b9,U+c2f6,U+c528,U+c545,U+c558,U+c5bc,U+c5d4,U+c600,U+c644,U+c6c0,U+c6c3,U+c721,U+c798,U+c7a1,U+c811,U+c838,U+c871,U+c904,U+c990,U+c9dc,U+cc38,U+cc44,U+cca0,U+cd1d,U+cd95,U+cda9,U+ce5c,U+cf00,U+cf58,U+d150,U+d22c,U+d305,U+d328,U+d37c,U+d3f0,U+d551,U+d5a5,U+d5c8,U+d5d8,U+d63c,U+d64d,U+d669,U+d734,U+d76c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.88.woff2') format('woff2-variations');unicode-range:U+26,U+2b,U+3e,U+40,U+7e,U+ac01,U+ac19,U+ac1d,U+aca0,U+aca9,U+acb0,U+ad8c,U+ae09,U+ae38,U+ae40,U+aed8,U+b09c,U+b0a0,U+b108,U+b204,U+b298,U+b2d8,U+b2eb-b2ec,U+b2f4,U+b313,U+b358,U+b450,U+b4e0,U+b54c,U+b610,U+b780,U+b78c,U+b791,U+b8e8,U+b958,U+b974,U+b984,U+b9b0,U+b9bc-b9bd,U+b9ce,U+ba70,U+bbfc,U+bc0f,U+bc15,U+bc1b,U+bc31,U+bc95,U+bcc0,U+bcc4,U+bd81,U+bd88,U+c0c8,U+c11d,U+c13c,U+c158,U+c18d,U+c1a1,U+c21c,U+c4f0,U+c54a,U+c560,U+c5b8,U+c5c8,U+c5f4,U+c628,U+c62c,U+c678,U+c6cc,U+c808,U+c810,U+c885,U+c88b,U+c900,U+c988,U+c99d,U+c9c8,U+cc3d-cc3e,U+cc45,U+cd08,U+ce20,U+cee4,U+d074,U+d0a4,U+d0dd,U+d2b9,U+d3b8,U+d3c9,U+d488,U+d544,U+d559,U+d56d,U+d588,U+d615,U+d648,U+d655,U+d658,U+d65c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.89.woff2') format('woff2-variations');unicode-range:U+d,U+7c,U+ac10,U+ac15,U+ac74,U+ac80,U+ac83,U+acc4,U+ad11,U+ad50,U+ad6d,U+adfc,U+ae00,U+ae08,U+ae4c,U+b0a8,U+b124,U+b144,U+b178,U+b274,U+b2a5,U+b2e8,U+b2f9,U+b354,U+b370,U+b418,U+b41c,U+b4f1,U+b514,U+b798,U+b808,U+b824-b825,U+b8cc,U+b978,U+b9d0,U+b9e4,U+baa9,U+bb3c,U+bc18,U+bc1c,U+bc30,U+bc84,U+bcf5,U+bcf8,U+bd84,U+be0c,U+be14,U+c0b0,U+c0c9,U+c0dd,U+c124,U+c2dd,U+c2e4,U+c2ec,U+c54c,U+c57c-c57d,U+c591,U+c5c5-c5c6,U+c5ed,U+c608,U+c640,U+c6b8,U+c6d4,U+c784,U+c7ac,U+c800-c801,U+c9c1,U+c9d1,U+cc28,U+cc98,U+cc9c,U+ccad,U+cd5c,U+cd94,U+cd9c,U+cde8,U+ce68,U+cf54,U+d0dc,U+d14c,U+d1a0,U+d1b5,U+d2f0,U+d30c,U+d310,U+d398,U+d45c,U+d50c,U+d53c,U+d560,U+d568,U+d589,U+d604,U+d6c4,U+d788}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.90.woff2') format('woff2-variations');unicode-range:U+ac04,U+ac1c,U+ac70,U+ac8c,U+acbd,U+acf5,U+acfc,U+ad00,U+ad6c,U+adf8,U+b098,U+b0b4,U+b294,U+b2c8,U+b300,U+b3c4,U+b3d9,U+b4dc,U+b4e4,U+b77c,U+b7ec,U+b85d,U+b97c,U+b9c8,U+b9cc,U+ba54,U+ba74,U+ba85,U+baa8,U+bb34,U+bb38,U+bbf8,U+bc14,U+bc29,U+bc88,U+bcf4,U+bd80,U+be44,U+c0c1,U+c11c,U+c120,U+c131,U+c138,U+c18c,U+c218,U+c2b5,U+c2e0,U+c544,U+c548,U+c5b4,U+c5d0,U+c5ec,U+c5f0,U+c601,U+c624,U+c694,U+c6a9,U+c6b0,U+c6b4,U+c6d0,U+c704,U+c720,U+c73c,U+c740,U+c744,U+c74c,U+c758,U+c77c,U+c785,U+c788,U+c790-c791,U+c7a5,U+c804,U+c815,U+c81c,U+c870,U+c8fc,U+c911,U+c9c4,U+ccb4,U+ce58,U+ce74,U+d06c,U+d0c0,U+d130,U+d2b8,U+d3ec,U+d504,U+d55c,U+d569,U+d574,U+d638,U+d654,U+d68c}
@font-face{font-family:'Pretendard Variable';font-style:normal;font-display:swap;font-weight:45 920;src:url('assets/fonts/pretendard/PretendardVariable.subset.91.woff2') format('woff2-variations');unicode-range:U+20-22,U+27-2a,U+2c-39,U+3a-3b,U+3f,U+41-4e,U+4f-5d,U+61-7b,U+7d,U+a0-a1,U+ab,U+ad-ae,U+b7,U+bb,U+bf,U+2013-2014,U+201c-201d,U+2122,U+ac00,U+ace0,U+ae30,U+b2e4,U+b85c,U+b9ac,U+c0ac,U+c2a4,U+c2dc,U+c774,U+c778,U+c9c0,U+d558}

/* ============================================================
   올머니 디자인 시스템 — "실시간 시세 데스크" (mono-green)
   원본 템플릿(중앙정렬·골드네온·글래스카드)과 의도적으로 반대
   ============================================================ */
:root {
  /* SURFACE — 딥 그린 펠트 램프 (radial 워시 없음) */
  /* 딥 에메랄드 램프 — 명도 리듬 + 채도 상향(회색끼 제거) */
  --bg-950: #03100B;   /* 최심부(비네트·푸터) */
  --bg-900: #06180F;   /* 페이지 바닥 */
  --bg-880: #08200F;   /* 밴드 A (따뜻한 포레스트끼) */
  --bg-800: #0A2418;   /* 밴드 B */
  --bg-780: #072323;   /* 밴드 C (쿨 틸끼 — 시세 섹션용) */
  --bg-700: #0E3024;   /* 상승 표면 */
  --surface: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  --surface-raised: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  --surface-flat: rgba(255,255,255,.035);

  /* LINE — 글로우 대신 헤어라인 */
  --line: rgba(255,255,255,.10);
  --line-strong: rgba(255,255,255,.20);
  --line-accent: rgba(var(--accent-rgb), .40);

  /* INK — 4단, 순백 아님 */
  --ink-hi: #FFFFFF;
  --ink: #D8E6DF;
  --ink-mid: #9FB5AA;
  --ink-low: #6E8579;

  /* 멀티 액센트 팔레트 — 골드만 배제. 나머지는 화려하게. */
  --c-emerald: #3B82F6;
  --c-cyan:    #35D6FF;
  --c-violet:  #A97BFF;
  --c-pink:    #FF5FA8;
  --c-coral:   #FF7A4D;
  --c-lime:    #B8F04A;

  /* SEMANTIC */
  --buy: #FF7A4D;
  --sell: #35D6FF;
  --pending: #A97BFF;

  /* RADIUS — 16px+ 라운드는 템플릿 시그니처라 폐기 */
  --r-1: 2px; --r-2: 4px; --r-3: 6px; --r-4: 10px; --r-pill: 999px;

  /* SPACE — 4px 베이스 */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px; --s-5: 20px;
  --s-6: 24px; --s-8: 32px; --s-10: 40px; --s-12: 56px; --s-16: 80px; --s-20: 112px;

  /* TYPE */
  --ff-sans: 'Pretendard Variable', Pretendard, -apple-system, system-ui, sans-serif;
  --ff-display: 'Jua', 'Pretendard Variable', sans-serif;   /* 동글동글 감성 — 제목·강조 */
  --ff-mono: 'Quicksand', 'Pretendard Variable', sans-serif; /* 둥근 영문·숫자 (기술적 모노 대체) */
  --fs-xs: 13px; --fs-sm: 15px; --fs-md: 17px; --fs-lg: 20px;
  --fs-h3: clamp(20px, 1.7vw, 25px);
  --fs-h2: clamp(30px, 3.2vw, 46px);
  --fs-h1: clamp(38px, 5vw, 72px);
  --tracking-label: .12em;
  --tracking-h: -0.02em;

  /* ELEVATION — 그림자, 글로우 아님. 2단만 */
  --e-1: 0 1px 2px rgba(0,0,0,.28);
  --e-2: 0 8px 28px rgba(0,0,0,.34);

  /* MOTION */
  --dur-1: 120ms; --dur-2: 220ms; --dur-3: 420ms;
  --ease: cubic-bezier(.2,.7,.2,1);

  /* WIDTH — 1160px는 그 자체가 원본 지문 */
  --w-page: 1320px;
  --w-rail: 280px;

  /* ── 레거시 변수 재매핑 (기존 200여 호출부를 그대로 살리면서 색만 교체) ── */
  --gold: var(--accent);
  --gold-2: var(--accent);
  --red: var(--buy);
  --red-2: var(--buy);
  --cyan: var(--sell);
  --green: var(--accent);
  --violet: var(--ink-mid);
  --rose: var(--ink-mid);
  --cream: var(--ink-hi);
  --white: var(--ink-hi);
  --muted: var(--ink);
  --void: var(--bg-900);
  --night: var(--bg-800);
  --panel: var(--surface);
  --panel-strong: var(--surface-raised);
  --shadow: var(--e-2);
}

/* ── 액센트 변형: <html data-accent="..."> 한 단어로 팔레트 전환 ── */
:root,
[data-accent="mint"] {
  --accent: #3B82F6;
  --accent-rgb: 59, 130, 246;
  --accent-ink: #04231A;
  --accent-soft: rgba(63,217,164,.12);
}
[data-accent="lime"] {
  --accent: #3B82F6;
  --accent-rgb: 59, 130, 246;
  --accent-ink: #0B1E10;
  --accent-soft: rgba(199,240,90,.12);
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--bg-900);
  font-family: var(--ff-sans);
  font-size: var(--fs-md);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: -0.01em;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* 72px 그리드 오버레이 제거됨 — 원본에서 가장 알아보기 쉬운 tell이었음 */

a { color: inherit; text-decoration: none; }
button { font: inherit; }

/* 숫자는 전부 tabular — "시세 데스크" 정체성의 핵심 */
.num, table, .cell-chip, .cell-buy-price, .cell-sell-price, .cell-price,
.contact-metrics strong, .premium-badges strong {
  font-variant-numeric: tabular-nums;
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--r-1);
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

svg { display: block; }

.card-icon svg,
.why-icon svg,
.step-badge svg,
.game-icon svg,
.contact-channel svg,
.copy-button svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* tone-* : 클래스명은 JS/HTML 계약상 유지하되 무지개 → 거의 모노로 재매핑 */
/* 클래스명은 HTML 계약이라 유지. 색만 골드 없는 화려한 팔레트로 재매핑. */
.tone-gold   { --tone: var(--c-emerald); --tone-rgb: 59, 130, 246; }
.tone-red    { --tone: var(--c-coral);   --tone-rgb: 255, 122, 77; }
.tone-cyan   { --tone: var(--c-cyan);    --tone-rgb: 53, 214, 255; }
.tone-green  { --tone: var(--c-lime);    --tone-rgb: 184, 240, 74; }
.tone-violet { --tone: var(--c-violet);  --tone-rgb: 169, 123, 255; }

.container {
  width: min(var(--w-page), calc(100% - 48px));
  margin: 0 auto;
}

.narrow { width: min(var(--w-page), calc(100% - 48px)); }

.site-header {
  position: fixed;
  z-index: 60;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  column-gap: var(--s-10);
  height: 56px;
}
.site-header > .brand      { grid-column: 1; }
.site-header > .desktop-nav{ grid-column: 2; }
.site-header > .header-cta { grid-column: 4; justify-self: end; }
.site-header > .menu-toggle{ grid-column: 4; justify-self: end; }
.site-header {
  padding: 0 max(20px, calc((100vw - 1160px) / 2));
  color: #fff;
  background: rgba(2, 19, 13, 0.78);
  border-bottom: 1px solid rgba(var(--accent-rgb), 0.18);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 236px;
}

/* 로고 중화: 원본과 같은 골드/네이비 카지노칩 아트 → 액센트 플레이트 위 모노 마크.
   새 아트 없이 CSS만으로 골드·네이비를 둘 다 소거한다. */
.brand-mark {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: var(--r-2);
  background: var(--accent);
  overflow: hidden;
}

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.35);
  mix-blend-mode: luminosity;
}

.brand strong,
.brand small { display: block; line-height: 1.15; }
.brand strong { font-size: 17px; }
.brand small { color: rgba(255,255,255,0.58); font-size: 11px; }

.desktop-nav {
  display: flex;
  gap: 24px;
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  font-weight: 800;
}

.desktop-nav a { transition: color .2s ease, text-shadow .2s ease; }
.desktop-nav a:hover { color: var(--gold); text-shadow: 0 0 14px rgba(var(--accent-rgb),.72); }

.header-cta,
.btn,
.service-card a,
.game-grid a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--s-6);
  border-radius: var(--r-4);
  font-weight: 800;
  font-size: var(--fs-sm);
  letter-spacing: 0;
}

.header-cta {
  padding: 0 20px;
  color: #180900;
  background: linear-gradient(135deg, var(--gold), var(--accent));
  box-shadow: 0 0 24px rgba(var(--accent-rgb), 0.38);
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(var(--accent-rgb),.24);
  border-radius: 10px;
  background: rgba(255,255,255,.08);
}

.menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: #fff;
}

.mobile-nav {
  position: fixed;
  z-index: 55;
  top: 72px;
  left: 0;
  right: 0;
  display: none;
  padding: 14px 20px;
  background: rgba(2, 19, 13, 0.96);
  border-bottom: 1px solid var(--line);
}

.mobile-nav.open {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.mobile-nav a {
  padding: 12px;
  border: 1px solid rgba(var(--accent-rgb),.18);
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  text-align: left;
}

.hero {
  position: relative;
  min-height: 100vh;
  padding: 104px 0 0;
  overflow: hidden;
  background: var(--bg-900);
}


.spark {
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.9) 0 2%, rgba(var(--accent-rgb),.8) 5%, rgba(232,135,95,.35) 18%, transparent 58%);
  filter: blur(.2px);
}


/* 원본: 중앙 세로 스택(배너 940px 주인공). → 2단 split, 좌 카피 / 우 배너.
   DOM 순서는 그대로 두고 grid-template-areas로만 재배치 (JS 계약 무손상). */
.hero-stack {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-areas:
    "kick  media"
    "copy  media"
    "act   media"
    "badge badge";
  align-content: center;
  align-items: start;
  gap: var(--s-5) var(--s-16);
  justify-items: start;
  text-align: left;
  min-height: calc(100vh - 180px);
}
.hero-kicker    { grid-area: kick; }
.banner-frame   { grid-area: media; align-self: center; }
.hero-copy      { grid-area: copy; }
.hero-actions   { grid-area: act; }
.premium-badges { grid-area: badge; }

.hero-stack.reveal {
  opacity: 1;
  transform: none;
}

.hero-kicker {
  display: inline-flex;
  margin-bottom: 0;
  padding: var(--s-1) var(--s-3);
  border: 1px solid var(--line);
  border-radius: var(--r-1);
  color: var(--ink-mid);
  background: none;
  box-shadow: none;
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  letter-spacing: .04em;
  font-weight: 400;
}

/* 배너 강등: 원본과 같은 골드/레드 카지노 아트라 히어로 주인공 자리에서 내린다.
   + 채도 낮추고 그린 듀오톤을 씌워 모노그린 UI에 흡수 (새 아트 불필요) */
.banner-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1280 / 720;
  border: 1px solid var(--line);
  border-radius: var(--r-2);
  background: var(--bg-800);
  overflow: hidden;
  filter: saturate(.45) contrast(1.05);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 44px rgba(232,135,95, 0.3),
    0 28px 80px rgba(0,0,0,.65);
  overflow: hidden;
}

/* shine 스윕 → 그린 듀오톤 오버레이.
   골드/레드 카지노 아트를 모노그린 UI에 흡수시킨다 (새 아트 불필요). */
.banner-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--bg-700);
  mix-blend-mode: color;
  pointer-events: none;
}

.banner-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-copy {
  max-width: 920px;
  margin-top: 22px;
}

h1, h2, h3, p { margin-top: 0; }

/* 카지노 네온(트리플 text-shadow) 제거. 크고 타이트한 클린 타이포로. */
h1 {
  margin-bottom: var(--s-4);
  font-size: var(--fs-h1);
  line-height: 1.06;
  letter-spacing: var(--tracking-h);
  font-weight: 800;
  color: var(--ink-hi);
  text-shadow: none;
}

.hero-title-typewriter {
  white-space: pre-line;
}

.hero-title-cursor {
  display: inline-block;
  width: 3px;
  height: .9em;
  margin-left: 8px;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(var(--accent-rgb),.72);
  vertical-align: -0.08em;
  animation: cursorBlink .85s steps(1) infinite;
}

h2 {
  margin-bottom: 12px;
  font-size: clamp(28px, 3.3vw, 44px);
  line-height: 1.22;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: normal;
}

h3 { margin-bottom: 10px; font-size: 21px; }

.hero-copy p,
.section-heading p,
.glass-card p,
.why-grid p,
.review-row p,
.faq-answer p,
.contact-card > .contact-left { grid-column: 1 / 6; }
.contact-card > .contact-box  { grid-column: 7 / 13; }

.contact-card p {
  color: var(--muted);
}

.hero-copy p {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
}


.hero-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 30px 0;
  flex-wrap: wrap;
}

.btn {
  min-width: 180px;
  padding: 0 24px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.btn:hover,
.glass-card:hover,
.game-grid article:hover,
.why-grid article:hover,
.review-row article:hover {
  transform: translateY(-5px);
}

.btn-primary {
  color: var(--accent-ink);
  background: linear-gradient(135deg, var(--gold), var(--accent) 54%, var(--gold-2));
  box-shadow: 0 0 24px rgba(var(--accent-rgb),.45);
}

.btn-secondary {
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 20px rgba(255,255,255,.04);
}

/* 3열 카드 → 가로 스펙시트 1행, 헤어라인 구분 (카드 아님) */
.premium-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  gap: 0;
  margin: var(--s-10) 0 var(--s-12);
  border-top: 1px solid var(--line);
}
.premium-badges article {
  padding: var(--s-5) var(--s-5) 0 0;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: none;
  text-align: left;
}
.premium-badges article:last-child { border-right: 0; }
.premium-badges strong {
  display: block;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--ink-hi);
}
.premium-badges span {
  display: block;
  margin-top: var(--s-1);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-low);
}

/* (구 카드 규칙 제거됨 — 위 스펙시트 규칙이 유효) */

/* 히어로 내부 → 헤더 바로 아래 고정 마켓 티커.
   헤어라인 스트립 + 모노. "레이트 데스크" 시그니처. */
.notice-ticker {
  position: sticky;
  top: 56px;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: var(--s-4);
  padding: var(--s-2) max(24px, calc((100vw - var(--w-page)) / 2));
  border-bottom: 1px solid var(--line);
  background: var(--bg-800);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-mid);
  overflow: hidden;
}

.notice-ticker span {
  flex: 0 0 auto;
  padding: 2px var(--s-2);
  border-radius: var(--r-1);
  color: var(--accent-ink);
  background: var(--gold);
  font-size: 12px;
  font-weight: 950;
}

.notice-ticker div { overflow: hidden; white-space: nowrap; }
.notice-ticker p {
  display: inline-block;
  min-width: 100%;
  margin: 0;
  color: rgba(255,255,255,.82);
  animation: ticker 24s linear infinite;
}

.section {
  position: relative;
  padding: 104px 0;
  scroll-margin-top: 88px;
}

.section-casino {
  background: var(--bg-800);
  border-top: 1px solid var(--line);
}

#service {
  background: var(--bg-900);
  border-top: 1px solid var(--line);
}

#games {
  background: var(--bg-900);
  border-top: 1px solid var(--line);
}

/* 좌정렬 2단 에디토리얼 헤더.
   원본은 전 섹션이 중앙정렬 max-width:820px — 그게 템플릿 지문이었다.
   이 규칙 하나가 8개 섹션을 한 번에 탈중앙화한다. */
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: end;
  gap: var(--s-6) var(--s-12);
  max-width: none;
  margin: 0 0 var(--s-10);
  padding-bottom: var(--s-5);
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.section-heading > .eyebrow { grid-column: 1; grid-row: 1; }
.section-heading > h2 { grid-column: 1; grid-row: 2; margin: 0; }
.section-heading > p { grid-column: 2; grid-row: 2; margin: 0; align-self: end; }

h2 {
  font-size: var(--fs-h2);
  line-height: 1.12;
  letter-spacing: var(--tracking-h);
  font-weight: 800;
  color: var(--ink-hi);
}

h3 {
  font-size: var(--fs-h3);
  letter-spacing: var(--tracking-h);
  font-weight: 700;
  color: var(--ink-hi);
}

/* 빛나는 대시 2개(::before/::after) 제거 → 모노 대문자 라벨 + 우측으로 뻗는 1px 룰 */
.eyebrow {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin: 0 0 var(--s-3);
  color: var(--accent);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.eyebrow::before { display: none; }

.eyebrow::after {
  content: "";
  flex: 1;
  height: 1px;
  min-width: 24px;
  background: var(--line);
  box-shadow: none;
}

/* 중앙 라운드 골드 필 → 좌정렬 세그먼트 컨트롤. JS가 .active만 토글하므로 안전.
   ⚠️ .tab / .price-table 에 :nth-child 금지 — 시트 그룹 수가 4개가 아닐 수 있다. */
.tabs {
  display: flex;
  justify-content: flex-start;
  gap: 0;
  margin: 0 0 var(--s-6);
  flex-wrap: wrap;
  border-bottom: 1px solid var(--line);
}

/* 중앙 라운드 필 → 우측 정렬 마켓 상태줄(모노). 카드 아님. */
.price-update-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--s-2);
  min-height: 0;
  padding: 0;
  margin: 0 0 var(--s-3);
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-low);
}

.price-status-light {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 18px rgba(var(--accent-rgb),.75);
}

.price-update-meta[data-state="success"] .price-status-light {
  background: var(--green);
  box-shadow: 0 0 18px rgba(var(--accent-rgb),.72);
}

.price-update-meta[data-state="fallback"] .price-status-light {
  background: var(--red);
  box-shadow: 0 0 18px rgba(232,135,95,.65);
}

.price-update-meta strong {
  color: #fff;
  font-weight: 950;
}

.price-update-meta time {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

/* 시세 셀: 알약(pill) 전부 해제 → 숫자 그대로 읽히는 레이트보드.
   이 7개 클래스는 script.js(getPriceCellClass)가 런타임에 찍는다. 하나라도 빠지면 프로덕션 무스타일. */
.cell-label,
.cell-chip,
.cell-note {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  word-break: keep-all;
}

.cell-label {
  color: var(--ink-hi);
  font-weight: 700;
  text-shadow: none;
}

.cell-chip {
  color: var(--ink);
  font-family: var(--ff-mono);
}

.cell-inquiry {
  color: var(--pending);
  border-bottom: 1px dotted var(--line-strong);
  background: none;
}

.cell-price {
  color: var(--accent);
  font-family: var(--ff-mono);
  font-weight: 600;
  background: none;
}

/* 구매가 = 유일한 웜 컬러(코랄). 판매가 = 민트. 좌측 2px 틱으로 방향 표시 */
.cell-buy-price {
  color: var(--buy);
  font-family: var(--ff-mono);
  font-weight: 600;
  padding-left: var(--s-2);
  border-left: 2px solid var(--buy);
  background: none;
}

.cell-sell-price {
  color: var(--sell);
  font-family: var(--ff-mono);
  font-weight: 600;
  padding-left: var(--s-2);
  border-left: 2px solid var(--sell);
  background: none;
}

.cell-note {
  color: var(--ink-low);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  text-transform: uppercase;
}

.tab {
  min-width: 0;
  height: 40px;
  padding: 0 var(--s-5);
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--ink-mid);
  background: none;
  cursor: pointer;
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 600;
}

.tab.active {
  color: var(--ink-hi);
  border-bottom-color: var(--accent);
  background: none;
  box-shadow: none;
}

.price-board {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--r-2);
  background: var(--surface);
  box-shadow: var(--shadow), inset 0 0 38px rgba(var(--accent-rgb),.08), 0 0 36px rgba(232,135,95,.1);
}

.price-table {
  display: none;
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.price-table.active { display: table; }

.price-table th {
  padding: var(--s-3) var(--s-4);
  color: var(--ink-low);
  background: none;
  border-bottom: 1px solid var(--line);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  text-align: left;
}

.price-table td {
  padding: var(--s-4);
  border-bottom: 1px solid var(--line);
  text-align: left;
  color: var(--ink);
}

.price-table tr:hover td { background: var(--surface-raised); }

/* 위치 기반(td:nth-child) 색상 제거 — 시트 컬럼 수가 바뀌면 깨지는 취약 규칙이었다.
   색은 이제 JS가 찍는 cell-* 클래스가 담당한다. */
.price-table td:first-child {
  color: var(--ink-hi);
  font-weight: 700;
  text-shadow: none;
}

.mobile-price-cards { display: none; }

.table-note {
  margin: var(--s-4) 0 0;
  padding: 0 0 0 var(--s-4);
  border: 0;
  border-left: 2px solid var(--line-accent);
  border-radius: 0;
  color: var(--ink-mid);
  background: none;
  font-size: var(--fs-sm);
}

.service-grid,
.game-grid,
.why-grid,
.review-row {
  display: grid;
  gap: 18px;
}

/* 3열 균등 → 12칼럼 비대칭 벤토. 가운데 featured가 오른쪽 큰 블록으로. */
/* 카드 내부: 중앙정렬 스택 → 좌정렬, 아이콘은 제목과 같은 줄 */
.card-icon, .why-icon, .game-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: var(--r-4) !important;
  font-size: 24px !important;
  background: rgba(var(--tone-rgb), .12) !important;
  border: 1px solid rgba(var(--tone-rgb), .35) !important;
  box-shadow: 0 0 24px rgba(var(--tone-rgb), .18) !important;
  color: var(--tone, var(--accent)) !important;
}
.game-icon { width: 40px !important; height: 40px !important; font-size: 19px !important; }

.service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--s-5);
}
/* 6개 중앙정렬 글래스 카드(3열) = 가장 큰 잔존 템플릿 시그널.
   → 시세 워치리스트 행으로 전환. 카피가 이미 4필드(이름/부제/단위/CTA)라 행에 더 맞음. */
.game-grid {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
}
.game-grid > article {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--s-5);
  padding: var(--s-5) var(--s-2);
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
  text-align: left;
}
.game-grid > article:hover { background: var(--surface); }
/* 6열 span2 = 3-across 균등 → 2열 + 실제 세로 오프셋(계단식) */
.why-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-8) var(--s-12);
  align-items: start;
}
.why-grid > article {
  grid-column: auto !important;
  border: 0;
  border-top: 2px solid var(--accent);
  border-radius: 0;
  background: none;
  padding-top: var(--s-5);
  text-align: left;
}
.why-grid > article:nth-child(even) { transform: translateY(var(--s-8)); }
.why-grid > article:hover { background: none; border-top-color: var(--accent); }
/* 4열 균등 → 비대칭: 1개는 대형 풀인용(좌), 나머지 3개는 우측 스택 */
.review-row {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--s-5) var(--s-12);
  align-items: start;
}
.review-row > article {
  border: 0;
  border-radius: 0;
  background: none;
  border-left: 2px solid var(--line);
  padding-left: var(--s-5);
  text-align: left;
}
.review-row > article:hover { background: none; border-left-color: var(--accent); }
.review-row > article:nth-child(1) {
  grid-column: 1 / 7;
  grid-row: 1 / 4;
  border-left-color: var(--accent);
  font-size: var(--fs-lg);
}
.review-row > article:nth-child(2) { grid-column: 7 / 13; grid-row: 1; }
.review-row > article:nth-child(3) { grid-column: 7 / 13; grid-row: 2; }
.review-row > article:nth-child(4) { grid-column: 7 / 13; grid-row: 3; }

.glass-card,
.game-grid article,
.why-grid article,
.review-row article,
.step-lane article,
/* 박스 카드 → 풀블리드 12칼럼 밴드 (카드 크롬 제거) */
.contact-card {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  transition: background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);
}

.glass-card:hover,
.game-grid article:hover,
.why-grid article:hover,
.review-row article:hover {
  border-color: var(--line-accent);
  background: var(--surface-raised);
}

.service-card {
  position: relative;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
  min-height: 100%;
}

.service-card:nth-child(1),
.service-card:nth-child(3) {
  margin-top: 0;
}

.service-card.featured {
  border-color: rgba(var(--accent-rgb),.48);
  transform: none;
  box-shadow: var(--shadow), 0 0 42px rgba(var(--accent-rgb),.24), inset 0 0 34px rgba(var(--accent-rgb),.045);
}

.badge {
  position: absolute;
  top: 16px;
  right: 50%;
  transform: translateX(50%);
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--accent-ink);
  background: var(--gold);
  font-size: 12px;
  font-weight: 950;
}

.card-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  border-radius: 14px;
  color: var(--tone, var(--gold));
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.26), transparent 30%),
    rgba(var(--tone-rgb, 59, 130, 246), .12);
  border: 1px solid rgba(var(--tone-rgb, 59, 130, 246), .45);
  box-shadow: 0 0 24px rgba(var(--tone-rgb, 59, 130, 246), .36);
  font-size: 28px;
  font-weight: 950;
}

.service-card ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  color: var(--muted);
  list-style: none;
}

.service-card li {
  padding: 6px 10px;
  border: 1px solid rgba(var(--accent-rgb),.18);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  font-size: 13px;
  font-weight: 800;
}

.contact-points {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  color: var(--muted);
  list-style: none;
}

.contact-points li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.contact-points svg {
  width: 18px;
  height: 18px;
  color: var(--gold);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-card a,
.game-grid a {
  width: 100%;
  margin-top: auto;
  color: var(--accent-ink);
  background: linear-gradient(135deg, var(--gold), var(--accent));
}

/* 3열 + 빛나는 가로 커넥터 → 세로 타임라인 (배지 칼럼 + 텍스트) */
.step-lane {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(var(--accent-rgb),.07), transparent 20%, transparent 80%, rgba(143,160,150,.06)),
    rgba(2,19,13,.32);
}


.method-tabs {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: -12px 0 36px;
  flex-wrap: wrap;
}

.method-tab {
  min-width: 178px;
  height: 46px;
  border: 1px solid rgba(var(--accent-rgb),.24);
  border-radius: 999px;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.07);
  cursor: pointer;
  font-weight: 950;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.method-tab:hover {
  transform: translateY(-2px);
}

.method-tab.active {
  color: var(--accent-ink);
  border-color: var(--gold);
  background: linear-gradient(135deg, var(--gold), var(--accent) 54%, var(--gold-2));
  box-shadow: 0 0 26px rgba(var(--accent-rgb),.42), 0 0 14px rgba(232,135,95,.22);
}

.method-panel {
  display: none;
}

.method-panel.active {
  display: block;
}


.step-lane article {
  position: relative;
  padding: 32px 26px;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.09), transparent 38%),
    rgba(4,26,17,.74);
  text-align: left;
}

.step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 74px;
  margin: 0 auto 18px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--gold);
  background: radial-gradient(circle, rgba(var(--accent-rgb),.22), rgba(var(--accent-rgb),.08) 42%, transparent 70%);
  box-shadow: none;
}

.step-badge i {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  color: currentColor;
  background: transparent;
  filter: drop-shadow(0 0 12px rgba(var(--accent-rgb),.74)) drop-shadow(0 0 26px rgba(232,135,95,.22));
}

.step-badge svg {
  width: 44px;
  height: 44px;
  stroke-width: 2.2;
}

.step-lane h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
}

.step-number {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  height: 24px;
  padding: 0 9px;
  border: 1px solid rgba(var(--accent-rgb),.36);
  border-radius: 999px;
  color: #120800;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  background: linear-gradient(135deg, var(--gold), var(--accent));
  box-shadow: 0 0 16px rgba(var(--accent-rgb),.24);
}

.game-grid article {
  padding: 26px;
  text-align: left;
}

.game-icon {
  display: inline-grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin-bottom: 16px;
  border-radius: 50%;
  color: var(--tone, var(--gold));
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.28), transparent 24%),
    rgba(var(--tone-rgb, 59, 130, 246), .12);
  border: 1px solid rgba(var(--tone-rgb, 59, 130, 246), .38);
  box-shadow: 0 0 24px rgba(var(--tone-rgb, 59, 130, 246), .32);
  font-size: 30px;
  font-weight: 950;
}

.game-grid em {
  display: block;
  color: var(--gold);
  font-style: normal;
  font-weight: 900;
}

.why-grid article,
.review-row article {
  padding: 24px;
  text-align: left;
}

.why-grid article {
  grid-column: span 2;
  position: relative;
  min-height: 160px;
  padding: 30px 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.08), transparent 42%);
}

.why-grid article:nth-child(2),
.why-grid article:nth-child(5) {
  transform: none;
}

.review-row article:nth-child(even) {
  transform: none;
}

.why-icon {
  position: relative;
  top: auto;
  left: auto;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 18px;
  border-radius: 14px;
  color: var(--tone, var(--gold));
  background: rgba(var(--tone-rgb, 59, 130, 246), .1);
  border: 1px solid rgba(var(--tone-rgb, 59, 130, 246), .38);
  box-shadow: 0 0 24px rgba(var(--tone-rgb, 59, 130, 246), .24);
  font-size: 24px;
}

.stars {
  display: inline-flex;
  justify-content: center;
  min-width: 110px;
  margin-bottom: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(var(--accent-rgb),.08);
  color: var(--gold);
  text-shadow: 0 0 12px rgba(var(--accent-rgb),.42);
}

/* 4개 서브그리드 세로 스택 → 좌측 스티키 레일 + 우측 본문 (DOM 재중첩 0) */
.guide-section .container {
  display: grid;
  grid-template-columns: var(--w-rail) minmax(0, 1fr);
  gap: var(--s-12);
  align-items: start;
}
.guide-section .guide-heading,
.guide-section .section-heading {
  grid-column: 1;
  grid-row: 1 / -1;
  position: sticky;
  top: 88px;
  display: block;
  padding-bottom: 0;
  border-bottom: 0;
}
.guide-section .guide-overview,
.guide-section .guide-flow,
.guide-section .guide-game-strip,
.guide-section .guide-bottom-grid { grid-column: 2; }

.guide-section {
  color: var(--ink);
  background: var(--bg-700);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.guide-heading {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: left;
}

.guide-heading .eyebrow {
  color: var(--gold);
  text-shadow: 0 0 16px rgba(var(--accent-rgb),.45);
}

.guide-heading h2 {
  color: #fff;
  text-shadow: 0 0 26px rgba(255,255,255,.18), 0 5px 0 rgba(0,0,0,.42);
}

.guide-heading p {
  margin: 0 auto;
  color: var(--muted);
}

.guide-stack {
  display: grid;
  gap: 34px;
}

.guide-overview,
.guide-flow,
.guide-bottom-grid {
  display: grid;
  gap: 18px;
}

.guide-overview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  margin-bottom: 22px;
}

.guide-flow {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 22px;
}

.guide-game-strip {
  display: grid;
  gap: 16px;
  margin-bottom: 22px;
  padding: 22px;
  border: 1px solid rgba(var(--accent-rgb),.18);
  border-radius: 16px;
  background:
    radial-gradient(circle at 8% 0%, rgba(var(--accent-rgb),.10), transparent 38%),
    radial-gradient(circle at 94% 18%, rgba(143,160,150,.10), transparent 34%),
    rgba(255,255,255,.035);
}

.guide-bottom-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.guide-feature {
  position: relative;
  overflow: hidden;
}

.guide-feature::after {
  content: "";
  position: absolute;
  right: -72px;
  bottom: -72px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--accent-rgb),.2), transparent 68%);
  pointer-events: none;
}

.guide-priority {
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--accent-rgb),.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}

.guide-block {
  display: grid;
  gap: 16px;
}

.guide-title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(var(--accent-rgb),.2);
}

.guide-title span {
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  border-radius: 9px;
  color: #000;
  background: linear-gradient(135deg, var(--gold), var(--accent) 58%, var(--gold-2));
  box-shadow: 0 0 22px rgba(var(--accent-rgb),.34);
  font-size: 13px;
  font-weight: 950;
}

.guide-title h3 {
  margin: 0;
  color: #fff;
  font-size: 25px;
  line-height: 1.25;
}

.guide-title.compact h3 {
  font-size: 21px;
}

.guide-card,
.guide-mini-card,
.guide-check-card,
.guide-alert {
  border: 1px solid rgba(var(--accent-rgb),.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.08), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: 0 20px 54px rgba(0,0,0,.24), inset 0 0 22px rgba(255,255,255,.025);
  backdrop-filter: blur(14px);
}

.guide-card,
.guide-check-card {
  padding: 26px;
}

.guide-card h4,
.guide-mini-card h4,
.guide-check-card h4 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 17px;
}

.guide-card p,
.guide-mini-card p,
.guide-alert p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.guide-split,
.guide-two,
.guide-three {
  display: grid;
  gap: 16px;
}

.guide-split {
  grid-template-columns: repeat(2, 1fr);
  margin-top: 18px;
}

.guide-split div {
  display: grid;
  place-items: center;
  min-height: 110px;
  padding: 18px;
  border: 1px solid rgba(var(--accent-rgb),.34);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.18), transparent 45%),
    rgba(var(--accent-rgb),.06);
  text-align: left;
}

.guide-split div:nth-child(2) {
  border-color: rgba(var(--accent-rgb),.34);
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.16), transparent 45%),
    rgba(var(--accent-rgb),.055);
}

.guide-split i,
.guide-card-icon {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 8px;
  border-radius: 50%;
  color: var(--tone, var(--gold-2));
  background: rgba(var(--tone-rgb, 255, 159, 28), .11);
}

.guide-split i {
  color: var(--gold-2);
  background: rgba(var(--accent-rgb),.12);
}

.guide-split div:nth-child(2) i {
  color: #12a967;
  background: rgba(var(--accent-rgb),.12);
}

.guide-split strong,
.guide-split span {
  display: block;
}

.guide-split strong {
  color: #fff;
  font-weight: 950;
}

.guide-split span {
  color: var(--muted);
  font-size: 13px;
}

.guide-two {
  grid-template-columns: repeat(2, 1fr);
}

.guide-three {
  grid-template-columns: repeat(3, 1fr);
}

.guide-mini-card {
  padding: 24px;
}

.guide-mini-card.accent {
  border-left: 4px solid var(--green);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--accent-rgb),.13), transparent 42%),
    linear-gradient(180deg, rgba(var(--accent-rgb),.08), rgba(255,255,255,.035));
}

.guide-flow-card {
  position: relative;
  padding: 24px;
  border: 1px solid rgba(var(--accent-rgb),.2);
  border-radius: 16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--accent-rgb),.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: 0 20px 54px rgba(0,0,0,.22), inset 0 0 22px rgba(255,255,255,.025);
  overflow: hidden;
}

.guide-flow-card.sell {
  border-color: rgba(var(--accent-rgb),.22);
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--accent-rgb),.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}

.guide-flow-card ol {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: guide-step;
}

.guide-flow-card li {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 14px 14px 14px 54px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(2,19,13,.34);
  counter-increment: guide-step;
}

.guide-flow-card li::before {
  content: counter(guide-step, decimal-leading-zero);
  position: absolute;
  left: 14px;
  top: 14px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #000;
  background: linear-gradient(135deg, var(--gold), var(--accent));
  font-size: 11px;
  font-weight: 950;
}

.guide-flow-card b {
  color: #fff;
}

/* li 설명 span만 대상. .guide-title의 넘버 배지 span까지 먹으면 넘버가 흰색 됨 */
.guide-flow-card li span {
  color: var(--muted);
  font-size: 14px;
}

.guide-card-icon svg,
.guide-split svg,
.guide-alert svg,
.guide-check-card svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.guide-check-card ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.guide-check-card li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 0;
  color: var(--muted);
  border-bottom: 1px dashed rgba(255,255,255,.12);
}

.guide-check-card li:last-child {
  border-bottom: 0;
}

.guide-check-card li svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: var(--accent);
}

.guide-alert {
  display: flex;
  gap: 14px;
  padding: 20px;
}

.guide-alert i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
}

.guide-alert strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
}

.guide-alert.success {
  border-color: rgba(var(--accent-rgb),.32);
  border-left: 4px solid var(--accent);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--accent-rgb),.16), transparent 45%),
    linear-gradient(180deg, rgba(var(--accent-rgb),.08), rgba(255,255,255,.035));
}

.guide-alert.success i {
  color: var(--accent);
  background: rgba(var(--accent-rgb),.12);
}

.guide-alert.warn {
  border-color: rgba(var(--accent-rgb),.34);
  border-left: 4px solid var(--gold-2);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--accent-rgb),.18), transparent 45%),
    linear-gradient(180deg, rgba(var(--accent-rgb),.08), rgba(255,255,255,.035));
}

.guide-alert.warn i {
  color: var(--gold-2);
  background: rgba(var(--accent-rgb),.13);
}

/* FAQ: .container.narrow(820px 중앙) → 좌측 스티키 헤딩 + 우측 리스트.
   ⚠️ .faq-question 과 .faq-answer 의 형제 관계는 절대 건드리지 않는다(JS: nextElementSibling) */
#faq .container {
  display: grid;
  grid-template-columns: var(--w-rail) minmax(0, 1fr);
  gap: var(--s-12);
  align-items: start;
}
#faq .section-heading {
  grid-column: 1;
  position: sticky;
  top: 88px;
  display: block;
  border-bottom: 0;
  padding-bottom: 0;
}
#faq .faq-list { grid-column: 2; }

.faq-list { display: grid; gap: 10px; }

.faq-list {
  padding: 18px;
  border: 1px solid rgba(143,160,150,.14);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(143,160,150,.08), transparent 42%),
    rgba(2,19,13,.48);
  box-shadow: inset 0 0 28px rgba(143,160,150,.035);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 60px;
  padding: 0 18px;
  border: 1px solid rgba(var(--accent-rgb),.22);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
  cursor: pointer;
  text-align: left;
  font-weight: 950;
}

.faq-question span { color: var(--gold); font-size: 22px; }
.faq-answer { display: none; padding: 0 18px 18px; }
.faq-answer.open { display: block; }

.contact-section {
  background: var(--bg-800);
  border-top: 1px solid var(--line);
}

.contact-card {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--s-12);
  align-items: start;
  padding: 0;
  text-align: left;
  overflow: hidden;
}


.contact-left {
  position: relative;
  display: grid;
  justify-items: center;
  padding: 36px 18px;
}







.contact-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: min(100%, 430px);
  margin-top: 24px;
}

.contact-metrics div {
  display: grid;
  gap: 4px;
  padding: 14px 10px;
  border: 1px solid rgba(var(--accent-rgb),.2);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.12), transparent 48%),
    rgba(255,255,255,.045);
}

.contact-metrics strong {
  color: var(--gold);
  font-size: 22px;
  line-height: 1;
  text-shadow: 0 0 16px rgba(var(--accent-rgb),.42);
}

.contact-metrics span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.contact-box {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(var(--accent-rgb),.25);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-rgb),.18), transparent 42%),
    linear-gradient(180deg, rgba(12,42,29,.96), rgba(2,19,13,.92));
  color: #fff;
  box-shadow: 0 30px 80px rgba(0,0,0,.34), inset 0 0 32px rgba(255,255,255,.03);
  overflow: hidden;
}

.contact-channel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(var(--accent-rgb),.18);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: inset 0 0 20px rgba(255,255,255,.025);
  text-align: left;
}

.contact-channel i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  color: var(--tone, var(--gold));
  background: rgba(var(--tone-rgb, 59, 130, 246), .12);
  border: 1px solid rgba(var(--tone-rgb, 59, 130, 246), .28);
  font-size: 22px;
}

.contact-channel span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
}

.contact-channel strong {
  color: #fff;
  font-size: 20px;
  grid-column: 2;
  line-height: 1.15;
}

.contact-channel.highlight {
  border-color: rgba(var(--accent-rgb),.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--accent-rgb),.14), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}

.copy-status { min-height: 22px; margin: 8px 0 0; color: var(--gold); font-weight: 900; }

.copy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 96px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  color: #170900;
  background: linear-gradient(135deg, var(--gold), var(--accent));
  cursor: pointer;
  font-weight: 950;
}

.copy-button svg {
  width: 16px;
  height: 16px;
}

.floating-cta {
  position: fixed;
  z-index: 45;
  right: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  color: var(--accent-ink);
  background: linear-gradient(135deg, var(--gold), var(--accent));
  box-shadow: 0 0 28px rgba(var(--accent-rgb),.42);
  font-weight: 950;
}

.mobile-contact-bar { display: none; }

.site-footer {
  padding: 54px 0 94px;
  color: var(--ink-mid);
  background: var(--bg-900);
  border-top: 1px solid var(--line);
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--s-8) var(--s-12);
  align-items: start;
}
.footer-grid > .footer-brand { grid-column: 1 / 4; }
.footer-grid > .footer-links { grid-column: 5 / 13; }

.footer-brand {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: start;
}

.footer-brand img {
  width: 40px;
  height: 40px;
  border-radius: var(--r-2);
  object-fit: cover;
  background: var(--accent);
  filter: grayscale(1) contrast(1.35);
  mix-blend-mode: luminosity;
}

.footer-brand strong {
  display: block;
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
}

.footer-brand p {
  margin: 12px 0 0;
  color: rgba(255,255,255,.58);
  font-weight: 800;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.footer-links section {
  display: grid;
  align-content: start;
  gap: 12px;
}

.footer-links h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 15px;
}

.footer-links a,
.footer-links p {
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: 14px;
  font-weight: 800;
}

.footer-links a {
  transition: color .2s ease, text-shadow .2s ease;
}

.footer-links a:hover {
  color: var(--gold);
  text-shadow: 0 0 14px rgba(var(--accent-rgb),.48);
}

.footer-bottom {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  justify-items: center;
  margin-top: 12px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  text-align: left;
}

.footer-bottom p {
  margin: 0;
  color: rgba(255,255,255,.42);
  font-size: 13px;
  font-weight: 800;
}

.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .75s ease, transform .75s ease;
}

body.js-ready .reveal {
  opacity: 0.18;
  transform: translateY(18px);
}

body.js-ready .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}






@keyframes ticker {
  from { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}

@keyframes cursorBlink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}


@media (max-width: 980px) {
  .desktop-nav,
  .header-cta { display: none; }
  .menu-toggle { display: block; }
  .hero { padding-top: 98px; }
  .service-grid,
  .game-grid,
  .why-grid,
  .review-row,
  .step-lane,
  .contact-card { grid-template-columns: repeat(2, 1fr); }
  .why-grid article {
    grid-column: auto;
  }
      .contact-card { grid-template-columns: 1fr; }
  .service-card:nth-child(1),
  .service-card:nth-child(3),
  .service-card.featured,
  .why-grid article:nth-child(2),
  .why-grid article:nth-child(5),
  .review-row article:nth-child(even) {
    margin-top: 0;
    transform: none;
  }
  .guide-overview,
  .guide-flow,
  .guide-bottom-grid {
    grid-template-columns: 1fr;
  }
  .guide-three { grid-template-columns: repeat(2, 1fr); }
  .price-board {
    overflow: hidden;
  }
  .price-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .price-table th,
  .price-table td {
    padding: 12px 6px;
    font-size: 12px;
    line-height: 1.3;
  }
  .price-table th:nth-child(1),
  .price-table td:nth-child(1) { width: 24%; }
  .price-table th:nth-child(2),
  .price-table td:nth-child(2) { width: 18%; }
  .price-table th:nth-child(3),
  .price-table td:nth-child(3),
  .price-table th:nth-child(4),
  .price-table td:nth-child(4) { width: 22%; }
  .price-table th:nth-child(5),
  .price-table td:nth-child(5) { width: 14%; }
  .cell-label,
  .cell-chip,
  .cell-note {
    min-height: 28px;
    padding: 5px 7px;
    font-size: 11px;
    white-space: normal;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .container,
  .narrow { width: min(100% - 28px, 1160px); }
  .site-header { height: 64px; padding: 0 14px; }
  .brand { min-width: 0; }
  .brand strong { font-size: 14px; }
  .brand small { font-size: 10px; }
  .mobile-nav { top: 64px; }
  .hero { min-height: auto; padding-top: 88px; }
  main { padding-bottom: 86px; }
  .hero-kicker { font-size: 13px; }
  .banner-frame { border-radius: 12px; }
  h1 { font-size: 34px; }
  h2 { font-size: 27px; }
  .hero-copy p { font-size: 16px; }
  .hero-actions,
  .tabs,
  .method-tabs { flex-direction: column; width: 100%; }
  .btn,
  .tab,
  .method-tab { width: 100%; }
  .premium-badges,
  .service-grid,
  .why-grid,
  .review-row,
  .step-lane,
  .contact-card { grid-template-columns: 1fr; }
  .game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 76px;
  }
  .game-grid article {
    min-height: 216px;
    padding: 18px 12px;
    scroll-margin-bottom: 104px;
  }
  .game-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
    font-size: 22px;
  }
  .game-grid h3 {
    font-size: 18px;
    line-height: 1.25;
  }
  .game-grid p,
  .game-grid em {
    font-size: 13px;
  }
  .game-grid a {
    min-height: 40px;
    font-size: 14px;
  }
  .why-grid article {
    grid-column: auto;
  }
  .premium-badges { margin-bottom: 44px; }
  .section { padding: 72px 0; }
  .price-update-meta {
    width: 100%;
    flex-wrap: wrap;
  }
  .tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .tab {
    width: auto;
    min-width: 0;
    height: 42px;
    padding: 0 8px;
    font-size: 14px;
  }
  .price-board {
    display: block;
    overflow: hidden;
    border-radius: 14px;
  }
  .price-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .price-table th,
  .price-table td {
    padding: 10px 4px;
    font-size: 11px;
    line-height: 1.25;
  }
  .price-table th:nth-child(1),
  .price-table td:nth-child(1) { width: 24%; }
  .price-table th:nth-child(2),
  .price-table td:nth-child(2) { width: 18%; }
  .price-table th:nth-child(3),
  .price-table td:nth-child(3),
  .price-table th:nth-child(4),
  .price-table td:nth-child(4) { width: 22%; }
  .price-table th:nth-child(5),
  .price-table td:nth-child(5) { width: 14%; }
  .cell-label,
  .cell-chip,
  .cell-note {
    min-height: 26px;
    padding: 5px 6px;
    border-radius: 999px;
    font-size: 10px;
    white-space: normal;
    word-break: keep-all;
  }
  .mobile-price-cards { display: none; }
  .contact-card { padding: 24px; }
  .contact-left {
    padding: 22px 0 8px;
  }
  .contact-metrics {
    grid-template-columns: 1fr;
  }
  .contact-points li {
    justify-content: flex-start;
  }
  .contact-channel {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: left;
  }
  .contact-channel strong {
    grid-column: auto;
  }
  .guide-heading {
    margin-bottom: 30px;
  }
  .guide-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .guide-title h3 {
    font-size: 21px;
  }
  .guide-card,
  .guide-check-card,
  .guide-mini-card,
  .guide-alert {
    padding: 20px;
  }
  .guide-split,
  .guide-two,
  .guide-three,
  .guide-overview,
  .guide-flow,
  .guide-bottom-grid {
    grid-template-columns: 1fr;
  }
  .guide-alert {
    flex-direction: column;
    align-items: flex-start;
  }
  .service-card,
  .why-grid article,
  .review-row article,
  .step-lane article {
    padding: 24px 20px;
  }
  .service-card ul {
    gap: 6px;
  }
  .service-card li {
    font-size: 12px;
  }
  .floating-cta { display: none; }
  .mobile-contact-bar {
    position: fixed;
    z-index: 70;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(var(--accent-rgb),.26);
    border-radius: 14px;
    background: rgba(2,19,13,.9);
    backdrop-filter: blur(16px);
  }
  .mobile-contact-bar a {
    display: grid;
    place-items: center;
    min-height: 42px;
    border-radius: 10px;
    color: var(--accent-ink);
    background: var(--gold);
    font-weight: 950;
  }
  .site-footer { padding-bottom: 162px; }
  .footer-grid {
    gap: 28px;
  }
  .footer-links {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .footer-brand {
    grid-template-columns: 46px 1fr;
  }
  .footer-brand img {
    width: 46px;
    height: 46px;
    border-radius: 12px;
  }
}

/* 원본은 scroll-behavior만 껐고 키프레임 6종이 계속 돌았다(a11y 구멍). 전역 차단으로 교체. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  html { scroll-behavior: auto !important; }
  .notice-ticker p,
  .hero-title-cursor { animation: none !important; }
}

/* ── 서비스/게임 CTA: 풀폭 슬랩 버튼 → 텍스트 링크 + 화살표(hover 4px 슬라이드) ── */
.service-card a,
.game-grid a {
  justify-content: flex-start;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
  color: var(--accent);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.service-card a::after,
.game-grid a::after {
  content: "→";
  display: inline-block;
  margin-left: var(--s-2);
  transition: transform var(--dur-2) var(--ease);
}
.service-card a:hover::after,
.game-grid a:hover::after { transform: translateX(4px); }

/* featured 카드가 2행을 span 하며 생기는 빈 공간 해소 */
.service-grid > article { align-content: start; }
.service-card { display: grid; align-content: start; gap: var(--s-3); }

/* '추천' 배지: 중앙 민트 필 → 좌상단 각진 모노 태그 */
.badge {
  position: static !important;
  transform: none !important;
  justify-self: start;
  align-self: start;
  padding: 2px var(--s-2) !important;
  border-radius: var(--r-1) !important;
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  font-family: var(--ff-mono);
  font-size: 10px !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none !important;
}

/* 게임 워치리스트 행 내부 정렬 */
.game-grid article h3 { margin: 0; font-size: var(--fs-md); }
.game-grid article p  { margin: 0; font-size: var(--fs-sm); color: var(--ink-low); }
.game-grid article em {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  font-style: normal;
  color: var(--ink-mid);
  white-space: nowrap;
}

/* ============================================================
   반응형 — 신 레이아웃 레이어
   원본은 980/640 두 개뿐이었다(그 자체가 지문). 1180 중간 정거장 추가.
   ============================================================ */

/* ── 1180: 12칼럼 그리드들이 좁아지기 시작하는 지점 ── */
@media (max-width: 1180px) {
  .hero-stack {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "kick" "copy" "media" "act" "badge";
    gap: var(--s-5);
    min-height: 0;
  }
  .banner-frame { width: min(100%, 560px); }

  /* 스티키 레일 해제 → 헤딩이 위로 */
  #faq .container,
  .guide-section .container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-8);
  }
  #faq .section-heading,
  .guide-section .section-heading,
  .guide-section .guide-heading {
    grid-column: 1;
    grid-row: auto;
    position: static;
  }
  #faq .faq-list,
  .guide-section .guide-overview,
  .guide-section .guide-flow,
  .guide-section .guide-game-strip,
  .guide-section .guide-bottom-grid { grid-column: 1; }

  /* 벤토 → 2열 균등(단 여전히 비대칭 아님, 좌정렬 유지) */
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid > article:nth-child(1),
  .service-grid > article:nth-child(2),
  .service-grid > article:nth-child(3) { grid-column: auto; grid-row: auto; }

  /* 후기 비대칭 → 2열 */
  .review-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-row > article:nth-child(1),
  .review-row > article:nth-child(2),
  .review-row > article:nth-child(3),
  .review-row > article:nth-child(4) { grid-column: auto; grid-row: auto; font-size: inherit; }

  .contact-card { grid-template-columns: minmax(0, 1fr); gap: var(--s-10); }
  .contact-card > .contact-left,
  .contact-card > .contact-box { grid-column: 1; }

  .footer-grid > .footer-brand { grid-column: 1 / 5; }
  .footer-grid > .footer-links { grid-column: 1 / 13; }
}

/* ── 980: 섹션 헤딩 2단 해제 ── */
@media (max-width: 980px) {
  .section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-3);
  }
  .section-heading > p { grid-column: 1; grid-row: 3; }

  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-grid > article:nth-child(even) { transform: none; }

  /* 게임 워치리스트: CTA는 다음 줄로 */
  .game-grid > article {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    row-gap: var(--s-2);
  }
  .game-grid > article a { grid-column: 2 / -1; }
}

/* ── 640: 모바일 ── */
@media (max-width: 640px) {
  .container, .narrow { width: calc(100% - 32px); }

  .site-header {
    grid-template-columns: auto 1fr auto;
    column-gap: var(--s-4);
    height: 52px;
  }
  .notice-ticker { top: 52px; padding: var(--s-2) 16px; }

  .service-grid,
  .why-grid,
  .review-row,
  .premium-badges { grid-template-columns: minmax(0, 1fr); }
  .premium-badges article { border-right: 0; border-bottom: 1px solid var(--line); padding-bottom: var(--s-4); }
  .premium-badges article:last-child { border-bottom: 0; }
  .why-grid > article:nth-child(even) { transform: none; }

  .game-grid > article {
    grid-template-columns: 28px minmax(0, 1fr);
    row-gap: var(--s-2);
  }
  .game-grid > article em,
  .game-grid > article a { grid-column: 2; }

  /* 탭: 가로 스크롤 세그먼트 */
  .tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tab { flex: 0 0 auto; padding: 0 var(--s-4); }

  /* 시세표: 원본은 11px로 찌그러뜨렸다. → 가로 스크롤 + 첫 칼럼 고정 */
  .price-board { overflow-x: auto; }
  .price-table { min-width: 620px; font-size: var(--fs-sm); }
  .price-table th:first-child,
  .price-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--bg-800);
  }

  /* 죽어 있던 모바일 카드 경로 활성화.
     정적 fallback(.mobile-price-cards의 맨 article)은 모양이 달라 :has() 로 가드 —
     JS가 .mobile-price-group 을 만들어 넣었을 때만 카드로 전환한다. */
  .mobile-price-cards:has(.mobile-price-group) { display: block; }
  .mobile-price-cards:has(.mobile-price-group) + .price-board,
  .price-board:has(+ .mobile-price-cards .mobile-price-group) { display: none; }
  .mobile-price-group { display: none; }
  .mobile-price-group.active { display: grid; gap: var(--s-3); }
  .mobile-price-group > article {
    border: 1px solid var(--line);
    border-radius: var(--r-2);
    background: var(--surface);
    padding: var(--s-4);
  }
  .mobile-price-group > article > div {
    display: flex;
    justify-content: space-between;
    gap: var(--s-3);
    padding: var(--s-2) 0;
    border-bottom: 1px dashed var(--line);
  }
  .mobile-price-group > article > div:last-child { border-bottom: 0; }
  .mobile-price-group > article > div > span {
    font-family: var(--ff-mono);
    font-size: var(--fs-xs);
    color: var(--ink-low);
  }
  .mobile-price-group > article > div > strong { font-variant-numeric: tabular-nums; }

  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-grid > .footer-brand,
  .footer-grid > .footer-links { grid-column: 1; }
}

/* ============================================================
   RICHNESS PASS — 미니멀로 너무 밀었던 것 복구.
   레이아웃 구조(벤토·워치리스트·좌정렬·스티키레일)는 그대로 두고
   타이포 크기 / 여백 / 컬러 / 깊이만 되살린다. 골드는 계속 배제.
   ============================================================ */

/* 카드 여백·표면 복구 */
.glass-card,
.game-grid article,
.why-grid article,
.review-row article,
.step-lane article,
.service-grid > article {
  padding: var(--s-6);
}
.service-grid > article {
  border: 1px solid var(--line);
  border-radius: var(--r-4);
  background: var(--surface);
  transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}
.service-grid > article:hover {
  transform: translateY(-3px);
  border-color: rgba(var(--tone-rgb), .5);
  box-shadow: 0 18px 48px -18px rgba(var(--tone-rgb), .35);
}
.service-grid > article.featured {
  border-color: rgba(var(--accent-rgb), .45);
  box-shadow: inset 0 0 60px rgba(var(--accent-rgb), .06);
}

/* 헤딩 굵기·크기 회복 */
h1 { font-weight: 900; line-height: 1.08; }
h2 { font-weight: 900; }
h3 { font-weight: 800; font-size: var(--fs-h3); }
.section-heading > p { font-size: var(--fs-md); color: var(--ink); line-height: 1.7; }
.hero-copy p { font-size: var(--fs-lg); color: var(--ink); }

/* h1 강조: 골드 네온 대신 에메랄드→시안 그라데이션 텍스트 */
.hero-copy h1 {
  background: linear-gradient(100deg, var(--ink-hi) 0%, var(--ink-hi) 45%, var(--c-emerald) 75%, var(--c-cyan) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-title-cursor { background: var(--c-emerald); box-shadow: 0 0 14px rgba(59,130,246,.8); }

/* CTA: 플랫 민트 → 에메랄드→시안 그라데이션 + 글로우 */
.btn-primary,
.header-cta,
.floating-cta,
.mobile-contact-bar a {
  background: linear-gradient(120deg, var(--c-emerald), var(--c-cyan)) !important;
  color: #04231A !important;
  border: 0 !important;
  box-shadow: 0 10px 30px -8px rgba(59,130,246,.55) !important;
}
.btn-primary:hover,
.header-cta:hover,
.floating-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -8px rgba(53,214,255,.65) !important;
}
.btn-secondary {
  border: 1px solid var(--line-strong) !important;
  background: var(--surface) !important;
  color: var(--ink-hi) !important;
}
.btn-secondary:hover { border-color: var(--c-cyan) !important; color: var(--c-cyan) !important; }

/* 서비스/게임 CTA 링크도 컬러 살리기 */
.service-card a, .game-grid a {
  font-size: var(--fs-sm) !important;
  font-weight: 800;
  color: var(--c-emerald) !important;
}

/* eyebrow: 섹션마다 다른 컬러로 리듬 */
.eyebrow { font-size: var(--fs-xs); font-weight: 700; }
#price   .eyebrow { color: var(--c-cyan); }
#service .eyebrow { color: var(--c-emerald); }
#howto   .eyebrow { color: var(--c-violet); }
#games   .eyebrow { color: var(--c-coral); }
#faq     .eyebrow { color: var(--c-pink); }
#contact .eyebrow { color: var(--c-violet); }

/* 시세 셀: 화려하게 (구매=코랄, 판매=시안, 액센트=에메랄드) */
.price-table { font-size: var(--fs-sm); }
.price-table th { font-size: var(--fs-xs); }
.cell-label { font-size: var(--fs-md); font-weight: 800; }
.cell-chip  { font-size: var(--fs-sm); }
.cell-buy-price, .cell-sell-price, .cell-price { font-size: var(--fs-md); font-weight: 700; }
.cell-buy-price  { border-left-color: var(--c-coral); color: var(--c-coral); text-shadow: 0 0 16px rgba(255,122,77,.35); }
.cell-sell-price { border-left-color: var(--c-cyan);  color: var(--c-cyan);  text-shadow: 0 0 16px rgba(53,214,255,.35); }
.cell-price      { color: var(--c-emerald); }
.cell-note       { color: var(--c-violet); font-size: var(--fs-xs); }

/* 탭: 활성 인디케이터 그라데이션 */
.tab { font-size: var(--fs-xs); }
.tab.active { border-bottom-color: transparent; background: linear-gradient(var(--bg-800), var(--bg-800)) padding-box,
              linear-gradient(90deg, var(--c-emerald), var(--c-cyan)) border-box; border-bottom: 2px solid transparent; color: var(--ink-hi); }
.tab.active { box-shadow: inset 0 -2px 0 0 var(--c-emerald); }

/* WHY 카드: 위쪽 2px 룰을 톤 컬러로 */
.why-grid > article { border-top-color: rgba(var(--tone-rgb), .8) !important; }
.why-grid > article h3 { font-size: var(--fs-h3); }

/* 후기 별점 컬러 */
.stars { color: var(--c-lime) !important; background: none !important; text-shadow: none !important; }

/* 프리미엄 배지 크기 복구 */
.premium-badges strong { font-size: var(--fs-h3); font-weight: 900; }
.premium-badges span { font-size: var(--fs-sm); }

/* 게임 워치리스트 행 크게 */
.game-grid > article { padding: var(--s-5) var(--s-3) !important; }
.game-grid article h3 { font-size: var(--fs-lg); }
.game-grid article p { font-size: var(--fs-sm); }

/* 연락처 메트릭 크게 */
.contact-metrics strong { font-size: var(--fs-h2); font-weight: 900; color: var(--c-emerald); }

/* 배너 듀오톤 완화 — 너무 흑백이었음. 살짝만 톤 맞춤 */
.banner-frame { filter: saturate(1) contrast(1.03) brightness(1.02); }
.banner-frame::after { background: transparent; opacity: 0; }

/* 섹션 밴드에 컬러 글로우 살짝 (골드 아님) */
.section-casino { box-shadow: inset 0 1px 0 0 rgba(var(--accent-rgb), .12); }

/* ── 마감 수정 ── */

/* 서비스 카드: flex+align-items:center 잔재로 제목이 가운데/오른쪽으로 밀렸음 */
.service-card {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: flex-start;
  text-align: left !important;
  gap: var(--s-3);
  padding: var(--s-6) !important;
  min-height: 0 !important;
}
.service-card > * { width: 100%; }
.service-card h3 { margin: var(--s-2) 0 0; }
.service-card p  { margin: 0; color: var(--ink); }
.service-card ul { margin: var(--s-2) 0 0; }
.service-card a  { margin-top: auto; padding-top: var(--s-4); }

/* featured가 2행 span 하며 생기던 빈공간 → 콘텐츠를 위아래로 분산 */

/* CTA 화살표 (이스케이프 대신 리터럴) */
.service-card a::after,
.game-grid a::after {
  content: "→";
  display: inline-block;
  margin-left: var(--s-2);
  transition: transform var(--dur-2) var(--ease);
}

/* 태그 칩: 컬러 살리기 */
.service-card ul li,
.service-card ul span {
  border-color: rgba(var(--tone-rgb), .3) !important;
  color: var(--ink) !important;
  background: rgba(var(--tone-rgb), .08) !important;
}

/* 티커: 텍스트가 공지 칩과 겹침 → 좌측 여백 확보 */
.notice-ticker > div { flex: 1; min-width: 0; overflow: hidden; }

/* 추천 배지가 width:100% 상속받아 늘어남 → auto */
.service-card > .badge { width: auto !important; align-self: flex-start; }
/* 태그 칩 좌정렬 */
.service-card ul { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: flex-start; padding: 0; list-style: none; }

/* 게임 워치리스트: 자식 5개(icon/h3/p/em/a)를 명시 배치.
   자동배치로 두면 a가 32px 아이콘 칼럼으로 밀려 세로로 쪼개진다. */
.game-grid > article {
  grid-template-columns: 44px minmax(0, 1fr) auto auto !important;
  grid-template-rows: auto auto;
  column-gap: var(--s-5);
  row-gap: 2px;
  align-items: center;
}
.game-grid > article > .game-icon { grid-column: 1; grid-row: 1 / 3; }
.game-grid > article > h3         { grid-column: 2; grid-row: 1; align-self: end; }
.game-grid > article > p          { grid-column: 2; grid-row: 2; align-self: start; }
.game-grid > article > em         { grid-column: 3; grid-row: 1 / 3; text-align: right; }
.game-grid > article > a          { grid-column: 4; grid-row: 1 / 3; white-space: nowrap; margin: 0 !important; padding: 0 !important; }

/* ============================================================
   서비스 카드 — 깔끔한 균등 3열. 벤토(빈 공간·높이 제각각) 폐기.
   내부 리듬 고정: 아이콘 → 제목 → 설명 → 태그 → CTA(바닥 정렬)
   ============================================================ */
.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: var(--s-5) !important; }
.service-grid > article { grid-column: auto !important; grid-row: auto !important; }

.service-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  gap: 0;
  height: 100%;
  min-height: 0 !important;
  padding: var(--s-8) var(--s-6) var(--s-6) !important;
  text-align: left !important;
  border: 1px solid var(--line);
  border-radius: var(--r-4);
  background: var(--surface);
  transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}
.service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--tone-rgb), .55);
  box-shadow: 0 20px 50px -20px rgba(var(--tone-rgb), .4);
}

/* 상단 톤 컬러 라인 — 카드마다 색이 다르니 리듬이 생긴다 */
.service-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: var(--r-4) var(--r-4) 0 0;
  background: linear-gradient(90deg, var(--tone), transparent 85%);
}

/* 내부 리듬 — 고정 간격 */
.service-card > .card-icon { margin: 0 0 var(--s-5); flex: 0 0 auto; }
.service-card > h3 { margin: 0 0 var(--s-3); font-size: var(--fs-h3); font-weight: 800; }
.service-card > p  { margin: 0 0 var(--s-5); font-size: var(--fs-sm); color: var(--ink); line-height: 1.65; }
.service-card > ul {
  margin: 0 0 var(--s-6);
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.service-card > ul li {
  padding: 5px var(--s-3);
  border: 1px solid rgba(var(--tone-rgb), .28);
  border-radius: var(--r-pill);
  background: rgba(var(--tone-rgb), .08);
  color: var(--ink);
  font-size: var(--fs-xs);
  font-weight: 600;
  white-space: nowrap;
}
/* CTA는 항상 카드 바닥 — 카드 높이가 달라도 아래가 딱 맞는다 */
.service-card > a {
  margin: auto 0 0 !important;
  padding: var(--s-4) 0 0 !important;
  border-top: 1px solid var(--line);
  justify-content: space-between;
  width: 100%;
  color: var(--tone) !important;
  font-size: var(--fs-sm) !important;
  font-weight: 800;
}

/* 추천 배지 — 우상단 고정 */
.badge {
  position: absolute !important;
  top: var(--s-4);
  right: var(--s-4);
  left: auto !important;
  transform: none !important;
  width: auto !important;
  padding: 3px var(--s-2) !important;
  border-radius: var(--r-pill) !important;
  background: var(--tone) !important;
  color: #04231A !important;
  font-size: 11px !important;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 0 18px rgba(var(--tone-rgb), .5) !important;
}

/* featured: 튀되 크기는 동일 */
.service-card.featured {
  border-color: rgba(var(--tone-rgb), .5);
  background: linear-gradient(180deg, rgba(var(--tone-rgb), .10), rgba(255,255,255,.02));
}

/* ── tone 승격 ──────────────────────────────────────────────
   tone-* 클래스는 아이콘 span에만 붙어 있다(HTML 계약).
   그래서 --tone / --tone-rgb 가 카드(article)까지 안 올라와
   카드 상단 라인·태그 칩·배지 색이 죽었다. :has() 로 끌어올린다.
   ─────────────────────────────────────────────────────────── */
.service-card:has(.tone-gold),   .why-grid article:has(.tone-gold),   .game-grid article:has(.tone-gold)   { --tone: var(--c-emerald); --tone-rgb: 59, 130, 246; }
.service-card:has(.tone-red),    .why-grid article:has(.tone-red),    .game-grid article:has(.tone-red)    { --tone: var(--c-coral);   --tone-rgb: 255, 122, 77; }
.service-card:has(.tone-cyan),   .why-grid article:has(.tone-cyan),   .game-grid article:has(.tone-cyan)   { --tone: var(--c-cyan);    --tone-rgb: 53, 214, 255; }
.service-card:has(.tone-green),  .why-grid article:has(.tone-green),  .game-grid article:has(.tone-green)  { --tone: var(--c-lime);    --tone-rgb: 184, 240, 74; }
.service-card:has(.tone-violet), .why-grid article:has(.tone-violet), .game-grid article:has(.tone-violet) { --tone: var(--c-violet);  --tone-rgb: 169, 123, 255; }

/* 폴백: tone 없는 카드도 죽지 않게 */
.service-card, .why-grid article, .game-grid article { --tone: var(--c-emerald); --tone-rgb: 59, 130, 246; }

/* CTA·태그의 한글이 모노 폰트 + letter-spacing 먹어서 자간이 벌어졌음 → 한글은 본문 폰트로 */
.service-card > a,
.game-grid > article > a {
  font-family: var(--ff-sans) !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}
.service-card > ul li { font-family: var(--ff-sans); letter-spacing: -0.01em; }

/* ============================================================
   정렬 통일 — 카드 크롬을 푼 섹션들이 정렬이 안 맞았다.
   서비스 카드와 같은 리듬으로 맞춘다: 좌정렬 / 동일 높이 / 고정 간격.
   ============================================================ */

/* ── WHY: 계단식 오프셋 제거, 3열 균등 카드로 정렬 ── */
.why-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--s-5) !important;
  align-items: stretch !important;
}
.why-grid > article {
  transform: none !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
  gap: var(--s-3);
  height: 100%;
  padding: var(--s-6) !important;
  text-align: left !important;
  border: 1px solid var(--line) !important;
  border-top: 3px solid var(--tone) !important;
  border-radius: var(--r-4) !important;
  background: var(--surface) !important;
  transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);
}
.why-grid > article:hover {
  transform: translateY(-4px) !important;
  background: var(--surface-raised) !important;
}
.why-grid > article > .why-icon { margin: 0 0 var(--s-2); }
.why-grid > article > h3 { margin: 0; }
.why-grid > article > p  { margin: 0; font-size: var(--fs-sm); color: var(--ink); line-height: 1.65; }

/* ── 아이콘: 어디서든 좌정렬 (원본 중앙정렬 잔재 제거) ── */
.card-icon, .why-icon, .game-icon {
  display: grid !important;
  place-items: center !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ── 후기: 비대칭 대신 정렬된 4열 (풀인용 잔재 제거) ── */
.review-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--s-5) !important;
  align-items: stretch !important;
}
.review-row > article {
  grid-column: auto !important;
  grid-row: auto !important;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  height: 100%;
  padding: var(--s-6) !important;
  font-size: inherit !important;
  text-align: left !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--c-lime) !important;
  border-radius: var(--r-4) !important;
  background: var(--surface) !important;
}
.review-row > article:hover { background: var(--surface-raised) !important; }
.review-row > article > * { margin: 0 !important; }
.review-row .stars { font-size: var(--fs-sm); }

/* ── 프리미엄 배지: 3열 균등 + 세로 정렬 맞춤 ── */
.premium-badges article {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--s-1);
  padding: var(--s-5) var(--s-5) var(--s-5) 0 !important;
}

/* ── 연락처 메트릭: 3열 균등 정렬 ── */
.contact-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-5);
  align-items: start;
}
.contact-metrics div {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  padding: var(--s-4) 0;
  border-top: 1px solid var(--line);
  text-align: left;
}

/* ── 스텝(이용방법): 배지 칼럼 정렬 ── */
.step-lane > article {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: start;
  gap: var(--s-5);
  padding: var(--s-5) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: none !important;
  text-align: left !important;
}
.step-lane > article:last-child { border-bottom: 0 !important; }
.step-lane > article > * { margin: 0; }
.step-lane > article > .step-badge { grid-column: 1; grid-row: 1 / 4; }

/* ── 연락처 좌측 열: 중앙정렬 + 불릿 계단식 어긋남 → 전부 좌정렬 ── */
.contact-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
  text-align: left !important;
}
.contact-left > * { width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
.contact-left h2 { margin: 0 0 var(--s-4); }
.contact-left > p { margin: 0 0 var(--s-8); color: var(--ink); }

/* 불릿 리스트: 계단식 들여쓰기 제거, 좌측 정렬 */
.contact-left ul,
.contact-left .contact-points {
  display: grid;
  gap: var(--s-3);
  margin: var(--s-6) 0 0;
  padding: 0;
  list-style: none;
  justify-items: start !important;
}
.contact-left li,
.contact-left .contact-points > * {
  display: flex !important;
  align-items: center;
  gap: var(--s-2);
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  justify-content: flex-start !important;
}

/* 메트릭 3개: 균등 폭 + 좌정렬 */
.contact-metrics {
  width: 100%;
  margin: 0;
}
.contact-metrics div {
  align-items: flex-start;
  text-align: left !important;
}
.contact-metrics strong { line-height: 1.05; }
.contact-metrics span { font-size: var(--fs-xs); color: var(--ink-low); }

/* 후기 별점 좌정렬 */
.review-row .stars { text-align: left !important; align-self: flex-start; }

/* ============================================================
   가독성 복구 + 색 다양화
   ============================================================ */

/* ── 이용방법 스텝: 중앙정렬 h3 + 관통 라인 제거 → 깔끔한 좌정렬 행 ── */
.step-lane { display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; }
.step-lane::before, .step-lane::after { display: none !important; content: none !important; }

.step-lane > article {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-rows: auto auto;
  column-gap: var(--s-5);
  row-gap: var(--s-2);
  align-items: start !important;
  padding: var(--s-6) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: none !important;
  text-align: left !important;
}
.step-lane > article:last-child { border-bottom: 0 !important; }
.step-lane > article > .step-badge { grid-column: 1; grid-row: 1 / 3; margin: 0 !important; }
.step-lane > article > h3 { grid-column: 2; grid-row: 1; margin: 0 !important; text-align: left !important; display: flex; align-items: center; gap: var(--s-3); }
.step-lane > article > p  { grid-column: 2; grid-row: 2; margin: 0 !important; text-align: left !important; color: var(--ink); font-size: var(--fs-sm); }

/* 스텝 배지: 각 단계마다 다른 색 */
.step-badge {
  width: 48px !important;
  height: 48px !important;
  min-width: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: var(--r-4) !important;
  border: 1px solid rgba(var(--tone-rgb), .4) !important;
  background: rgba(var(--tone-rgb), .12) !important;
  box-shadow: 0 0 22px rgba(var(--tone-rgb), .2) !important;
  color: var(--tone) !important;
  font-size: 20px !important;
}
.step-badge i, .step-badge svg { color: inherit !important; }
.step-lane > article:nth-child(1) { --tone: var(--c-emerald); --tone-rgb: 59, 130, 246; }
.step-lane > article:nth-child(2) { --tone: var(--c-cyan);    --tone-rgb: 53, 214, 255; }
.step-lane > article:nth-child(3) { --tone: var(--c-violet);  --tone-rgb: 169, 123, 255; }

/* 스텝 번호: 알약 → 톤 컬러 모노 숫자 */
.step-number {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 22px;
  padding: 0 var(--s-2) !important;
  border-radius: var(--r-1) !important;
  background: var(--tone) !important;
  color: #EAF2FF !important;
  font-family: var(--ff-mono);
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* ── 프리미엄 배지: 박스 깨짐 수정 + 색 부여 + 크기 회복 ── */
.premium-badges {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--s-4) !important;
  width: 100% !important;
  margin: var(--s-10) 0 0 !important;
  border: 0 !important;
}
.premium-badges article {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  gap: var(--s-1);
  padding: var(--s-5) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--tone) !important;
  border-radius: var(--r-4) !important;
  background: var(--surface) !important;
  text-align: left !important;
}
.premium-badges article:nth-child(1) { --tone: var(--c-emerald); --tone-rgb: 59, 130, 246; }
.premium-badges article:nth-child(2) { --tone: var(--c-cyan);    --tone-rgb: 53, 214, 255; }
.premium-badges article:nth-child(3) { --tone: var(--c-lime);    --tone-rgb: 184, 240, 74; }
.premium-badges strong {
  font-family: var(--ff-sans) !important;
  font-size: var(--fs-h3) !important;
  font-weight: 900 !important;
  color: var(--tone) !important;
  letter-spacing: -0.02em !important;
}
.premium-badges span {
  font-family: var(--ff-sans) !important;
  font-size: var(--fs-sm) !important;
  color: var(--ink) !important;
  letter-spacing: -0.01em !important;
}

/* ── 색 다양화: 섹션마다 톤을 다르게 ── */
#price   { --sec: var(--c-cyan);    --sec-rgb: 53, 214, 255; }
#service { --sec: var(--c-emerald); --sec-rgb: 59, 130, 246; }
#howto   { --sec: var(--c-violet);  --sec-rgb: 169, 123, 255; }
#games   { --sec: var(--c-coral);   --sec-rgb: 255, 122, 77; }
#faq     { --sec: var(--c-pink);    --sec-rgb: 255, 95, 168; }
#contact { --sec: var(--c-violet);  --sec-rgb: 169, 123, 255; }
.section { --sec: var(--c-emerald); --sec-rgb: 59, 130, 246; }

/* 섹션 상단에 톤 컬러 라인 → 스크롤하며 색 리듬 */
.section { position: relative; }
.section::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--sec), transparent 55%);
  opacity: .7;
}

/* 섹션 헤딩 밑줄도 톤 컬러 */
.section-heading { border-bottom-color: rgba(var(--sec-rgb), .25) !important; }
.eyebrow::after { background: linear-gradient(90deg, rgba(var(--sec-rgb), .5), transparent) !important; }

/* method 탭 활성 = 섹션 톤 */
.method-tab.active {
  background: linear-gradient(120deg, var(--c-violet), var(--c-pink)) !important;
  color: #10061F !important;
  border-color: transparent !important;
  box-shadow: 0 8px 24px -8px rgba(169,123,255,.5) !important;
}

/* FAQ 아코디언 = 핑크 액센트 */
#faq .faq-question:hover { color: var(--c-pink); }
#faq .faq-question span { color: var(--c-pink); }

/* 가이드 섹션 = 바이올렛 */
.guide-section { --sec: var(--c-violet); --sec-rgb: 169, 123, 255; }
.guide-card-icon { color: var(--c-violet) !important; }

/* 스텝 h3가 그리드 셀에서 가운데로 밀림 (구 규칙 justify 잔재) → 강제 좌측 */
.step-lane > article > h3 {
  justify-self: start !important;
  justify-content: flex-start !important;
  width: 100%;
  text-align: left !important;
}
.step-lane > article > p {
  justify-self: start !important;
  width: 100%;
  text-align: left !important;
}
.step-lane h3, .step-lane p { margin-left: 0 !important; margin-right: 0 !important; }

/* ============================================================
   타이포 전환 — 동글동글 · 감성  +  전면 중앙정렬
   ============================================================ */

/* 제목·강조는 Jua (동글동글). 본문은 Pretendard(가독성) 유지 */
h1, h2, h3,
.hero-kicker,
.premium-badges strong,
.contact-metrics strong,
.cell-label,
.step-number,
.badge,
.btn, .header-cta, .floating-cta, .mobile-contact-bar a,
.tab, .method-tab,
.faq-question,
.brand strong {
  font-family: var(--ff-display) !important;
  font-weight: 400 !important;      /* Jua는 단일 굵기 — 900 주면 가짜볼드로 뭉갬 */
  letter-spacing: 0 !important;
}

/* 숫자·영문 라벨은 Quicksand(둥근) */
.eyebrow,
.cell-chip, .cell-buy-price, .cell-sell-price, .cell-price, .cell-note,
.price-table th,
.notice-ticker,
.premium-badges span,
.game-grid article em {
  font-family: var(--ff-mono) !important;
  font-weight: 700;
}

/* Jua는 자체가 두꺼워서 크기 살짝 조정 */
h1 { line-height: 1.25 !important; }
h2 { line-height: 1.3 !important; }
h3 { line-height: 1.35 !important; }
body { letter-spacing: 0; }

/* ── 전면 중앙정렬 ────────────────────────────────────────── */

/* 섹션 헤딩: 2단 좌정렬 → 중앙 스택 */
.section-heading {
  display: block !important;
  max-width: 780px;
  margin: 0 auto var(--s-12) !important;
  padding-bottom: var(--s-6);
  text-align: center !important;
}
.section-heading > .eyebrow {
  justify-content: center;
  margin-bottom: var(--s-3);
}
.section-heading > .eyebrow::after { display: none !important; }
.section-heading > h2 { margin: 0 0 var(--s-3) !important; }
.section-heading > p  { margin: 0 auto !important; max-width: 620px; }

/* 히어로: split → 중앙 스택 */
.hero-stack {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "kick" "media" "copy" "act" "badge" !important;
  justify-items: center !important;
  text-align: center !important;
  gap: var(--s-6) !important;
}
.banner-frame { width: min(100%, 860px) !important; margin: 0 auto; }
.hero-copy { max-width: 860px; }
.hero-actions { justify-content: center; }

/* 카드 내부: 중앙정렬 */
.service-card,
.why-grid > article,
.review-row > article {
  align-items: center !important;
  text-align: center !important;
}
.service-card > .card-icon,
.why-grid > article > .why-icon { margin: 0 auto var(--s-4) !important; }
.service-card > ul { justify-content: center; }
.service-card > a { justify-content: center; gap: var(--s-2); }
.review-row .stars { align-self: center !important; text-align: center !important; }
.review-row > article { border-left: 0 !important; border-top: 3px solid var(--c-lime) !important; }

/* 아이콘 중앙 */
.card-icon, .why-icon {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 프리미엄 배지 중앙 */
.premium-badges article {
  align-items: center !important;
  text-align: center !important;
  border-left: 0 !important;
  border-top: 3px solid var(--tone) !important;
}

/* 스텝: 아이콘 위 · 텍스트 아래 중앙 */
.step-lane > article {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  text-align: center !important;
  row-gap: var(--s-3);
}
.step-lane > article > .step-badge { grid-column: 1 !important; grid-row: 1 !important; margin: 0 auto !important; }
.step-lane > article > h3 { grid-column: 1 !important; grid-row: 2 !important; justify-self: center !important; justify-content: center !important; text-align: center !important; }
.step-lane > article > p  { grid-column: 1 !important; grid-row: 3 !important; justify-self: center !important; text-align: center !important; max-width: 560px; }

/* 게임 워치리스트는 행이라 좌우 배치 유지(중앙정렬하면 표가 깨짐) */

/* 시세 상태줄 중앙 */
.price-update-meta { justify-content: center !important; }
.tabs { justify-content: center !important; }

/* 연락처 좌측 열 중앙 */
.contact-left {
  align-items: center !important;
  text-align: center !important;
}
.contact-left ul, .contact-left .contact-points { justify-items: center !important; }
.contact-metrics div { align-items: center !important; text-align: center !important; }

/* FAQ / 가이드 스티키 레일 해제 → 중앙 */
#faq .container,
.guide-section .container {
  display: block !important;
}
#faq .section-heading,
.guide-section .section-heading,
.guide-section .guide-heading {
  position: static !important;
  text-align: center !important;
  margin: 0 auto var(--s-12) !important;
}
#faq .faq-list { max-width: 900px; margin: 0 auto; }

/* 푸터 중앙 */
.footer-bottom { text-align: center !important; }

/* 히어로: 배너가 주인공이 되면 원본 템플릿 꼴 → 카피를 위로, 배너는 축소해서 아래 */
.hero-stack {
  grid-template-areas: "kick" "copy" "act" "media" "badge" !important;
  gap: var(--s-5) !important;
}
.banner-frame {
  width: min(100%, 620px) !important;
  margin: var(--s-6) auto 0 !important;
  border-radius: var(--r-4) !important;
}
.hero-copy { margin-top: var(--s-2); }
.hero-copy h1 { margin-bottom: var(--s-4); }
.premium-badges { margin-top: var(--s-10) !important; }

/* ============================================================
   상담 신청 설문폼
   ============================================================ */
#inquiry { --sec: var(--c-cyan); --sec-rgb: 53, 214, 255; background: var(--bg-800); border-top: 1px solid var(--line); }

.iq-form {
  max-width: 780px;
  margin: 0 auto;
  display: grid;
  gap: var(--s-6);
}

.iq-step {
  margin: 0;
  padding: var(--s-6);
  border: 1px solid var(--line);
  border-radius: var(--r-4);
  background: var(--surface);
  text-align: center;
}
.iq-step:focus-within { border-color: rgba(var(--sec-rgb), .45); }

.iq-step legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  margin: 0 auto var(--s-4);
  padding: 0;
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  color: var(--ink-hi);
}
.iq-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 22px;
  border-radius: var(--r-1);
  background: var(--c-cyan);
  color: #EAF2FF;
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 700;
}

/* 선택지 */
.iq-opts { display: grid; gap: var(--s-2); justify-content: center; }
.iq-opts-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.iq-opts-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iq-opts-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.iq-opt { position: relative; display: block; cursor: pointer; }
.iq-opt input {
  position: absolute;
  opacity: 0;
  width: 100%; height: 100%;
  margin: 0;
  cursor: pointer;
}
.iq-opt span {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: var(--s-2) var(--s-3);
  border: 1px solid var(--line);
  border-radius: var(--r-4);
  background: var(--bg-900);
  color: var(--ink);
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  text-align: center;
  line-height: 1.25;
  transition: border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease), color var(--dur-2) var(--ease), transform var(--dur-1) var(--ease);
}
.iq-opt:hover span { border-color: var(--line-strong); transform: translateY(-2px); }
.iq-opt input:checked + span {
  border-color: transparent;
  background: linear-gradient(120deg, var(--c-emerald), var(--c-cyan));
  color: #EAF2FF;
  box-shadow: 0 10px 26px -10px rgba(59,130,246,.6);
}
.iq-opt input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }

/* 입력 */
.iq-input {
  width: 100%;
  max-width: 420px;
  min-height: 50px;
  margin: var(--s-4) auto 0;
  padding: 0 var(--s-4);
  display: block;
  border: 1px solid var(--line);
  border-radius: var(--r-4);
  background: var(--bg-900);
  color: var(--ink-hi);
  font-family: var(--ff-sans);
  font-size: var(--fs-md);
  text-align: center;
}
.iq-input::placeholder { color: var(--ink-low); }
.iq-input:focus { outline: none; border-color: var(--c-cyan); }
.iq-input:disabled { opacity: .45; cursor: not-allowed; }
.iq-input[hidden] { display: none; }

.iq-hint { margin: var(--s-2) 0 0; font-size: var(--fs-xs); color: var(--ink-low); }

/* 에러 */
.iq-step.iq-err { border-color: var(--c-coral); }
.iq-step.iq-err legend { color: var(--c-coral); }

/* 제출 */
.iq-submit { display: grid; justify-items: center; gap: var(--s-3); }
.iq-go { min-width: 280px; }
.iq-status { margin: 0; min-height: 20px; font-size: var(--fs-sm); color: var(--c-coral); }
.iq-status.ok { color: var(--c-emerald); }

/* 결과 */
.iq-result {
  padding: var(--s-6);
  border: 1px solid rgba(var(--sec-rgb), .4);
  border-radius: var(--r-4);
  background: var(--surface);
  text-align: center;
}
.iq-result[hidden] { display: none; }
.iq-result-head { display: grid; gap: var(--s-1); margin-bottom: var(--s-4); }
.iq-result-head strong { font-family: var(--ff-display); font-size: var(--fs-lg); color: var(--c-emerald); }
.iq-result-head span { font-size: var(--fs-sm); color: var(--ink-mid); }
.iq-summary {
  margin: 0 auto var(--s-5);
  max-width: 460px;
  padding: var(--s-4);
  border: 1px dashed var(--line-strong);
  border-radius: var(--r-3);
  background: var(--bg-900);
  color: var(--ink-hi);
  font-family: var(--ff-sans);
  font-size: var(--fs-sm);
  line-height: 1.8;
  text-align: left;
  white-space: pre-wrap;
  word-break: keep-all;
}
.iq-actions { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: center; }

@media (max-width: 780px) {
  .iq-opts-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iq-opts-3 { grid-template-columns: minmax(0, 1fr); }
  .iq-go { min-width: 0; width: 100%; }
}

/* ============================================================
   문의폼 가독성 개선
   - legend가 fieldset 보더에 걸쳐 잘려 보이던 것 → 안쪽 헤더로
   - 어두운 선택지(다크 온 다크) → 대비 높이고 클릭 가능해 보이게
   - 과한 여백 축소, 글씨 키움
   ============================================================ */

.iq-form { gap: var(--s-4); max-width: 720px; }

.iq-step {
  padding: 0 !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--r-4);
  background: var(--bg-900) !important;
  overflow: hidden;
}

/* legend를 쓰지 않고 안쪽 헤더 바로 — 보더에 안 걸침 */
.iq-step legend {
  float: left;                 /* legend를 일반 블록처럼 */
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: var(--s-3);
  margin: 0 !important;
  padding: var(--s-4) var(--s-5) !important;
  border-bottom: 1px solid var(--line);
  background: var(--surface-flat);
  font-family: var(--ff-display);
  font-size: var(--fs-md) !important;
  color: var(--ink-hi);
  text-align: left;
}
.iq-step legend + * { clear: both; }

.iq-num {
  min-width: 26px;
  height: 24px;
  border-radius: var(--r-2);
  background: var(--c-cyan);
  color: #EAF2FF;
  font-size: 12px;
  font-weight: 700;
}

/* 본문 영역 패딩 */
.iq-step .iq-opts,
.iq-step .iq-input,
.iq-step .iq-hint { margin-left: var(--s-5); margin-right: var(--s-5); }
.iq-step .iq-opts { margin-top: var(--s-5); margin-bottom: var(--s-5); }
.iq-step .iq-input { margin-top: var(--s-4); margin-bottom: var(--s-5); max-width: none; }
.iq-step .iq-opts + .iq-input { margin-top: 0; }
.iq-step .iq-hint { margin-top: calc(var(--s-3) * -1); margin-bottom: var(--s-5); }

/* 선택지 — 대비 확 올림 */
.iq-opt span {
  min-height: 54px;
  padding: var(--s-3);
  border: 1.5px solid var(--line-strong);
  border-radius: var(--r-4);
  background: var(--surface-raised);
  color: var(--ink-hi);
  font-size: var(--fs-md);
  font-weight: 400;
}
.iq-opt:hover span {
  border-color: var(--c-cyan);
  background: rgba(53,214,255,.10);
  color: var(--ink-hi);
}
.iq-opt input:checked + span {
  border-color: transparent;
  background: linear-gradient(120deg, var(--c-emerald), var(--c-cyan));
  color: #EAF2FF;
  font-weight: 400;
  box-shadow: 0 8px 22px -8px rgba(59,130,246,.7);
}
/* 선택 표시 체크 */
.iq-opt input:checked + span::after {
  content: "✓";
  margin-left: var(--s-2);
  font-size: 13px;
}

/* 입력칸 — 밝게 */
.iq-input {
  min-height: 54px;
  border: 1.5px solid var(--line-strong);
  border-radius: var(--r-4);
  background: var(--surface-raised);
  color: var(--ink-hi);
  font-size: var(--fs-md);
  text-align: center;
}
.iq-input::placeholder { color: var(--ink-mid); opacity: 1; }
.iq-input:focus {
  border-color: var(--c-cyan);
  background: rgba(53,214,255,.08);
  box-shadow: 0 0 0 3px rgba(53,214,255,.15);
}
.iq-input:disabled { opacity: .4; }

.iq-hint { color: var(--ink-mid); font-size: var(--fs-sm); text-align: center; }

/* 에러 — 눈에 띄게 */
.iq-step.iq-err {
  border-color: var(--c-coral) !important;
  box-shadow: 0 0 0 3px rgba(255,122,77,.12);
}
.iq-step.iq-err legend {
  background: rgba(255,122,77,.12);
  color: var(--c-coral);
  border-bottom-color: rgba(255,122,77,.35);
}
.iq-step.iq-err .iq-num { background: var(--c-coral); }

/* 제출 */
.iq-submit { margin-top: var(--s-2); }
.iq-go { min-height: 58px; font-size: var(--fs-md); min-width: 320px; }
.iq-status { font-size: var(--fs-sm); }

/* 결과 요약 — 읽기 쉽게 */
.iq-summary {
  max-width: 520px;
  padding: var(--s-5);
  border: 1.5px solid rgba(59,130,246,.35);
  border-radius: var(--r-4);
  background: var(--bg-900);
  font-size: var(--fs-md);
  line-height: 2;
}

@media (max-width: 780px) {
  .iq-step legend { padding: var(--s-3) var(--s-4) !important; }
  .iq-step .iq-opts, .iq-step .iq-input, .iq-step .iq-hint { margin-left: var(--s-4); margin-right: var(--s-4); }
  .iq-opt span { min-height: 50px; font-size: var(--fs-sm); }
  .iq-go { min-width: 0; width: 100%; }
}

/* ── 문의폼 마감 ── */

/* 1) 선택 시 체크(✓) 제거 — 색 변화만으로 충분 */
.iq-opt input:checked + span::after { content: none !important; }

/* 2) 마지막 항목과 제출 버튼 사이 간격 */
.iq-submit {
  margin-top: var(--s-10) !important;
  padding-top: var(--s-6);
  border-top: 1px solid var(--line);
}

/* 3) 좌우 간격·정렬 통일 */
.iq-form { padding: 0 var(--s-2); }

.iq-step legend { padding: var(--s-4) var(--s-6) !important; }

.iq-step .iq-opts,
.iq-step .iq-input,
.iq-step .iq-hint {
  margin-left: var(--s-6) !important;
  margin-right: var(--s-6) !important;
}
.iq-step .iq-opts { margin-top: var(--s-6) !important; margin-bottom: var(--s-6) !important; }
.iq-step .iq-input { margin-top: var(--s-4) !important; margin-bottom: var(--s-6) !important; }
.iq-step .iq-opts + .iq-input { margin-top: 0 !important; }
.iq-step .iq-hint { margin-top: calc(var(--s-2) * -1) !important; margin-bottom: var(--s-6) !important; }

/* 선택지 사이 간격 넓힘 */
.iq-opts { gap: var(--s-3) !important; }

/* 결과 영역도 같은 좌우 여백 */
.iq-result { margin-top: var(--s-6); }

/* ── 정렬 근본 수정 ────────────────────────────────────────
   fieldset은 기본 min-width:min-content 라 자식 폭이 튄다.
   자식마다 margin 주던 방식 → fieldset padding 으로 통일.
   ──────────────────────────────────────────────────────── */
.iq-step {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
  padding: 0 var(--s-6) var(--s-6) !important;
}

/* legend를 헤더 바로: 좌우 padding만큼 음수 마진으로 폭 확장 */
.iq-step > legend {
  float: left;
  box-sizing: border-box;
  width: calc(100% + var(--s-6) * 2);
  margin: 0 calc(var(--s-6) * -1) var(--s-6) !important;
  padding: var(--s-4) var(--s-6) !important;
}
.iq-step > legend + * { clear: both; }
.iq-step::after { content: ""; display: table; clear: both; }

/* 자식 마진 전부 해제 — padding이 여백을 담당 */
.iq-step .iq-opts,
.iq-step .iq-input,
.iq-step .iq-hint {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.iq-step .iq-opts { margin-top: 0 !important; margin-bottom: 0 !important; }
.iq-step .iq-input { margin-top: var(--s-4) !important; margin-bottom: 0 !important; max-width: none !important; }
.iq-step .iq-hint { margin-top: var(--s-3) !important; margin-bottom: 0 !important; }

/* ============================================================
   Contact: 좌 = 소개+메트릭+6개 리스트(채널3+포인트3) / 우 = 설문폼
   ============================================================ */
#contact .contact-card {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: var(--s-10);
  align-items: start;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* 좌측 */
#contact .contact-left {
  align-items: stretch !important;
  text-align: left !important;
}
#contact .contact-left > .eyebrow { justify-content: flex-start !important; }
#contact .contact-metrics { margin: var(--s-6) 0; }

/* 6개 리스트 = 같은 크기 행 */
#contact .contact-points {
  display: grid !important;
  gap: var(--s-2) !important;
  margin: 0 !important;
  padding: 0;
  list-style: none;
  justify-items: stretch !important;
}
#contact .contact-points li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s-3);
  min-height: 52px;
  margin: 0 !important;
  padding: var(--s-2) var(--s-4);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-4);
  background: var(--surface);
  text-align: left !important;
  justify-content: flex-start !important;
  color: var(--ink);
  font-size: var(--fs-sm);
}
#contact .contact-points li > svg { width: 18px; height: 18px; color: var(--c-emerald); }

/* 복사형 3개(전화·텔레·카톡): 라벨 작게 위 + 값 아래 + 복사버튼 */
#contact .contact-points li.cp-copy { grid-template-columns: 22px minmax(0, 1fr) auto; }
#contact .cp-copy .cp-label {
  grid-column: 2; grid-row: 1;
  font-family: var(--ff-mono);
  font-size: 11px;
  color: var(--ink-low);
  line-height: 1.1;
}
#contact .cp-copy .copy-value {
  grid-column: 2; grid-row: 2;
  font-family: var(--ff-sans);
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--ink-hi);
  line-height: 1.2;
}
#contact .cp-copy > svg { grid-column: 1; grid-row: 1 / 3; }
#contact .cp-copy .copy-button {
  grid-column: 3; grid-row: 1 / 3;
  min-height: 34px; min-width: 34px;
  padding: 0 var(--s-2) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--r-2) !important;
  background: var(--bg-900) !important;
  color: var(--ink-mid) !important;
  box-shadow: none !important;
  font-size: 0;
}
#contact .cp-copy .copy-button svg { width: 15px; height: 15px; }
#contact .cp-copy .copy-button:hover { border-color: var(--c-cyan) !important; color: var(--c-cyan) !important; transform: none !important; }

#contact .copy-status { margin: var(--s-3) 0 0; text-align: center; font-size: var(--fs-sm); color: var(--c-emerald); min-height: 18px; }

/* 우측: 설문폼이 채우는 박스 */
#contact .contact-form-box { padding: 0; border: 0; background: none; }
#contact .contact-form-box .iq-form { max-width: none; margin: 0; padding: 0; }

@media (max-width: 900px) {
  #contact .contact-card { grid-template-columns: minmax(0, 1fr); }
}

/* ── contact 정리: 좌측 리스트 2열 + 폼이 우측 칸 안에 고정 ── */

/* 그리드 셀이 콘텐츠 폭에 밀려 삐져나오지 않게 */
#contact .contact-card > .contact-left,
#contact .contact-card > .contact-form-box { min-width: 0; }

/* 좌측 6개 리스트를 2열 가로 배치 */
#contact .contact-points {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--s-2) var(--s-3) !important;
}
#contact .contact-points li { min-width: 0; }
#contact .contact-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* 우측 폼: 컨테이너 폭 안에 갇히도록 */
#contact .contact-form-box { min-width: 0; width: 100%; overflow: hidden; }
#contact .contact-form-box .iq-form { width: 100%; max-width: 100%; min-width: 0; }
#contact .iq-step { max-width: 100%; }

/* ============================================================
   콤팩트 드롭다운 폼 + 좌측 채널/포인트 좌우 분리
   ============================================================ */

/* ── 좌측 리스트: 연락채널(전화·텔레·카톡) 왼칸 / 포인트 오른칸 ── */
#contact .contact-points {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(3, auto) !important;
  gap: var(--s-2) var(--s-3) !important;
}
/* cp-copy(채널) 3개 = 1열, 나머지 포인트 3개 = 2열 → grid-auto-flow:column + rows:3 이 자동 배치 */

/* ── 콤팩트 폼 ── */
#contact .iq-form { display: grid; gap: var(--s-4); max-width: 100%; }
.iq-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.iq-field { display: grid; gap: var(--s-2); min-width: 0; }
.iq-field > label {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-mid);
  letter-spacing: .04em;
}

.iq-field select,
.iq-field .iq-input {
  width: 100%;
  max-width: none;   /* 베이스 .iq-input의 420px 캡 해제 → row와 정렬 */
  margin: 0;         /* 베이스 margin auto 해제 → 좌측 정렬 */
  min-height: 52px;
  padding: 0 var(--s-4);
  border: 1.5px solid var(--line-strong);
  border-radius: var(--r-4);
  background: var(--surface-raised);
  color: var(--ink-hi);
  font-family: var(--ff-sans);
  font-size: var(--fs-md);
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}
/* select 화살표 */
.iq-field select {
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-mid) 50%), linear-gradient(135deg, var(--ink-mid) 50%, transparent 50%);
  background-position: right 20px center, right 14px center;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: var(--s-10);
  cursor: pointer;
}
.iq-field select:focus,
.iq-field .iq-input:focus {
  outline: none;
  border-color: var(--c-cyan);
  background-color: rgba(53,214,255,.08);
  box-shadow: 0 0 0 3px rgba(53,214,255,.15);
}
.iq-field select option { background: var(--bg-800); color: var(--ink-hi); }
.iq-field .iq-input::placeholder { color: var(--ink-low); }
.iq-field .iq-input:disabled { opacity: .4; cursor: not-allowed; }
.iq-field.iq-err select,
.iq-field.iq-err .iq-input { border-color: var(--c-coral); }
.iq-field[hidden] { display: none; }

/* 제출 */
.iq-submit { display: grid; justify-items: center; gap: var(--s-2); margin-top: var(--s-2); }
.iq-go { width: 100%; min-height: 56px; }
.iq-status { margin: 0; min-height: 18px; font-size: var(--fs-sm); color: var(--c-coral); text-align: center; }
.iq-status.ok { color: var(--c-emerald); }

/* 결과 */
.iq-result { padding: var(--s-5); border: 1.5px solid rgba(59,130,246,.35); border-radius: var(--r-4); background: var(--bg-900); text-align: center; }
.iq-result[hidden] { display: none; }
.iq-result-head { display: grid; gap: var(--s-1); margin-bottom: var(--s-4); }
.iq-result-head strong { font-family: var(--ff-display); font-size: var(--fs-lg); color: var(--c-emerald); }
.iq-result-head span { font-size: var(--fs-sm); color: var(--ink-mid); }
.iq-summary { margin: 0 auto var(--s-4); max-width: 460px; padding: var(--s-4); border: 1px dashed var(--line-strong); border-radius: var(--r-3); background: var(--bg-800); color: var(--ink-hi); font-size: var(--fs-sm); line-height: 1.9; text-align: left; white-space: pre-wrap; word-break: keep-all; }
.iq-actions { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: center; }

@media (max-width: 560px) {
  #contact .contact-points { grid-template-columns: minmax(0,1fr) !important; grid-auto-flow: row !important; grid-template-rows: none !important; }
  .iq-row { grid-template-columns: minmax(0, 1fr); }
}

/* ── 파란박스(연락 리스트) 카드 내용 가운데 정렬 ── */
#contact .contact-points li {
  grid-template-columns: 20px auto !important;
  justify-content: center !important;
  align-content: center;
  gap: var(--s-2) var(--s-3);
  text-align: center;
  padding: var(--s-3) var(--s-4);
}
#contact .contact-points li > svg { grid-column: 1; }
/* 일반 포인트 3개: 아이콘+텍스트 중앙 */
#contact .contact-points li:not(.cp-copy) { grid-template-columns: auto auto !important; }

/* 복사행(전화·텔레·카톡): 라벨+값 묶어 가운데, 복사버튼은 우측 고정 */
#contact .contact-points li.cp-copy {
  grid-template-columns: auto 1fr auto !important;
  justify-items: center;
}
#contact .cp-copy > svg { grid-column: 1; grid-row: 1 / 3; align-self: center; }
#contact .cp-copy .cp-label { grid-column: 2; grid-row: 1; text-align: center; }
#contact .cp-copy .copy-value { grid-column: 2; grid-row: 2; text-align: center; }
#contact .cp-copy .copy-button { grid-column: 3; grid-row: 1 / 3; }

/* ── 폼 가독성: 여백·정렬 개선, 박스에 딱 안 붙게 여유 ── */
#contact .contact-form-box {
  padding: var(--s-6) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-4) !important;
  background: var(--surface) !important;
  overflow: visible !important;
}
#contact .iq-form { gap: var(--s-5); }
.iq-row { gap: var(--s-5); }
.iq-field > label { margin-bottom: var(--s-2); font-family: var(--ff-sans); font-size: 26px; color: var(--ink-hi); font-weight: 700; letter-spacing: 0; }
.iq-field select,
.iq-field .iq-input { min-height: 54px; font-size: var(--fs-md); }
.iq-submit { margin-top: var(--s-4); padding-top: var(--s-5); border-top: 1px solid var(--line); }

/* 빈 select는 placeholder처럼 흐리게 */
.iq-field select:invalid { color: var(--ink-low); }

/* ============================================================
   배경 세련화 — 딥 에메랄드 베이스에 명도 밴드 + 코너 액센트 글로우
   (섹션별 --sec 토큰을 활용해 그린 위에 색 리듬을 얹는다)
   ============================================================ */

/* body: 딥 비네트로 가장자리를 눌러 화면에 깊이 부여 */
body {
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(59,130,246,.06), transparent 55%),
    radial-gradient(100% 60% at 50% 110%, rgba(53,214,255,.05), transparent 60%),
    var(--bg-900) !important;
  background-attachment: fixed;
}

/* 섹션 = 교차 밴드 + 상단 헤어라인 + 한쪽 코너 액센트 글로우 */
.section { position: relative; isolation: isolate; }
.section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(70% 120% at 85% -20%, rgba(var(--sec-rgb, 59,130,246), .10), transparent 60%);
}

/* 밴드 배정 — 인접 섹션이 다른 톤이 되도록 (명도 + 미세 hue) */
#price   { background: var(--bg-780) !important; }   /* 쿨 틸 — 시세=데이터 */
#service { background: var(--bg-900) !important; }
#howto   { background: var(--bg-880) !important; }   /* 웜 포레스트 */
#games   { background: var(--bg-800) !important; }
#faq     { background: var(--bg-880) !important; }
#contact { background: var(--bg-800) !important; }

/* 헤더/티커/푸터 최심부로 깊이 */
.notice-ticker { background: var(--bg-950) !important; }
.site-footer { background: var(--bg-950) !important; }

/* 가이드 섹션(바이올렛)도 톤 */
.guide-section { background: var(--bg-780) !important; }

/* 표면(카드) 채도 살짝 올려 배경과 분리 */
:root {
  --surface: linear-gradient(180deg, rgba(59,130,246,.055), rgba(255,255,255,.018));
  --surface-raised: linear-gradient(180deg, rgba(59,130,246,.10), rgba(255,255,255,.035));
  --surface-flat: rgba(59,130,246,.04);
}

/* 섹션 상단 헤어라인을 섹션 톤 컬러로 (스크롤 시 색 리듬) */
.section::before {
  background: linear-gradient(90deg, rgba(var(--sec-rgb, 59,130,246), .55), transparent 45%) !important;
  opacity: .8 !important;
}

/* ============================================================
   배경 화려하게 재조정 — 칙칙함 해소
   ============================================================ */

/* body 글로우 더 밝고 크게 (은은 → 존재감) */
body {
  background:
    radial-gradient(85% 50% at 12% 0%, rgba(59,130,246,.09), transparent 55%),
    radial-gradient(80% 55% at 92% 6%, rgba(53,214,255,.10), transparent 55%),
    radial-gradient(90% 55% at 50% 108%, rgba(255,95,168,.11), transparent 60%),
    var(--bg-900) !important;
  background-attachment: fixed;
}

/* 히어로 = 사이트 첫인상. 컬러 글로우로 화려하게 */
.hero {
  position: relative;
  isolation: isolate;
  background: var(--bg-900) !important;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(55% 45% at 80% 10%, rgba(53,214,255,.20), transparent 62%),
    radial-gradient(50% 45% at 10% 28%, rgba(255,95,168,.16), transparent 60%),
    radial-gradient(48% 42% at 55% 100%, rgba(59,130,246,.15), transparent 60%);
}

/* 배너 뒤 은은한 광원 → 배너가 배경에 붕 뜨지 않게 */
.banner-frame {
  box-shadow: 0 30px 90px -30px rgba(59,130,246,.35), 0 0 0 1px rgba(59,130,246,.18) !important;
}

/* 섹션 코너 글로우 강화 (기존보다 밝게·크게) */
.section::after {
  background:
    radial-gradient(62% 95% at 88% -12%, rgba(var(--sec-rgb, 59,130,246), .24), transparent 62%),
    radial-gradient(52% 85% at 8% 112%, rgba(var(--sec-rgb, 59,130,246), .13), transparent 62%) !important;
}

/* 베이스 밴드 = 깔끔한 뉴트럴 다크(그린 펠트 폐기). 그린은 액센트 글로우로만 */
:root {
  --bg-900: #0A0E0D;
  --bg-880: #0C110F;
  --bg-800: #0D1412;
  --bg-780: #0A1315;
  --bg-700: #121A17;
}

/* ============================================================
   비율 교정 — de-card 리스트가 1320px 밴드에 1열로 늘어나
   좌우 공백 과다. 폭 제한 + 요소 확대 + 세로여백 축소.
   ============================================================ */

/* 세로 밴드 과대 → 축소 (104 → 80). 폭 제한은 전 화면 안전(모바일은 컨테이너가 더 좁음) */
.section { padding: 80px 0 !important; }
.step-lane      { max-width: 720px !important;  margin-inline: auto !important; }
.game-grid      { max-width: 960px !important;  margin-inline: auto !important; }
.premium-badges { max-width: 1040px !important; margin-inline: auto !important; }

/* 요소 확대·행 여백은 데스크톱 전용 — 모바일 레이아웃(트랙 28px 등) 보존 */
@media (min-width: 981px) {
  /* 이용방법: 아이콘 왼쪽 · 오른쪽 2줄(넘버+제목 / 설명) 좌정렬 행.
     (중앙 스택 블록 3392를 되돌림) */
  .step-lane > article {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    justify-items: start !important;
    align-items: center !important;
    text-align: left !important;
    column-gap: var(--s-6) !important;
    row-gap: var(--s-1) !important;
    padding: var(--s-10) var(--s-5) !important;
  }
  .step-badge {
    width: 60px !important;
    height: 60px !important;
    font-size: 26px !important;
  }
  .step-lane > article > .step-badge {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    margin: 0 !important;
  }
  .step-lane > article > h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    align-self: end !important;
    text-align: left !important;
    font-size: var(--fs-h3) !important;
  }
  .step-lane > article > p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: start !important;
    max-width: none !important;
    text-align: left !important;
    font-size: var(--fs-md) !important;
    line-height: 1.65;
  }

  /* 거래 게임: 1fr 제거 → 고정 트랙 + 중앙정렬로 요소 밀착. 폰트 확대 */
  .game-grid > article {
    grid-template-columns: 52px 220px auto auto !important;
    justify-content: center !important;
    padding: var(--s-6) var(--s-4) !important;
    column-gap: var(--s-6) !important;
  }
  .game-grid > article > .game-icon { width: 52px !important; height: 52px !important; }
  .game-grid article h3 { font-size: 24px !important; }
  .game-grid article p  { font-size: 18px !important; }
  .game-grid article em { font-size: 16px !important; }
  .game-grid > article > a { font-size: 16px !important; }

  /* 후기: 4열 납작 → 넉넉 */
  .review-row > article { padding: var(--s-6) !important; }
}

/* ============================================================
   시세표 — 세련된 레이트보드. 셀 2배, 랜딩 팔레트로 절제된 컬러.
   (구매=코랄 · 판매=시안 · 기준=에메랄드 · 문의=바이올렛 · 헤더=시안)
   ============================================================ */

/* 셀 내용 2배 (전 화면) */
.cell-label { font-size: 34px !important; color: var(--ink-hi) !important; }
.cell-chip  { font-size: 26px !important; color: var(--ink-mid) !important; }
.cell-buy-price, .cell-sell-price, .cell-price, .cell-inquiry { font-size: 32px !important; }
.cell-note  { font-size: 22px !important; }

/* 보드: 밑에서 은은히 차오르는 시안 광 + 절제된 테두리 */
.price-board {
  border: 1px solid rgba(53,214,255,.2) !important;
  border-radius: var(--r-3) !important;
  background:
    linear-gradient(180deg, rgba(53,214,255,.05), transparent 30%),
    var(--bg-900) !important;
  box-shadow: 0 30px 80px -40px rgba(53,214,255,.5), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* 헤더: 딥 다크 바 + 시안 라벨 + 얇은 이중선 */
.price-table th {
  color: var(--c-cyan) !important;
  background: rgba(53,214,255,.07) !important;
  border-bottom: 1px solid rgba(53,214,255,.45) !important;
  box-shadow: inset 0 -3px 0 -1px rgba(53,214,255,.12) !important;
  letter-spacing: .02em !important;
}

/* 행: 얇은 구분선 + 짝수행 미세 틴트 + hover 시안 */
.price-table td { border-bottom: 1px solid rgba(255,255,255,.05) !important; }
.price-table tbody tr:nth-child(even) td { background: rgba(53,214,255,.035); }
.price-table tbody tr:last-child td { border-bottom: 0 !important; }
.price-table tr:hover td { background: rgba(53,214,255,.09) !important; }

/* 가격/문의 = 알약 대신 컬러 텍스트 + 앞점(●). 깔끔한 레이트보드 톤 */
.cell-buy-price, .cell-sell-price, .cell-price, .cell-inquiry {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  font-family: var(--ff-mono) !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  gap: 10px !important;
}
.cell-buy-price::before, .cell-sell-price::before,
.cell-price::before, .cell-inquiry::before {
  content: "";
  width: 9px; height: 9px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px currentColor;
  flex: 0 0 auto;
}
.cell-buy-price  { color: var(--c-coral)   !important; text-shadow: 0 0 20px rgba(255,122,77,.35) !important; }
.cell-sell-price { color: var(--c-cyan)    !important; text-shadow: 0 0 20px rgba(53,214,255,.35) !important; }
.cell-price      { color: var(--c-emerald) !important; text-shadow: 0 0 20px rgba(59,130,246,.3)  !important; }
.cell-inquiry    { color: var(--c-violet)  !important; border-bottom: 0 !important; }

/* 탭: 세그먼트. 활성 = 시안 밑줄 + 시안 글자, 비활성 = 뮤트 */
.tab { color: var(--ink-mid) !important; }
.tab.active { color: var(--c-cyan) !important; border-bottom-color: var(--c-cyan) !important; }

/* 상태등 = 톤 컬러 (성공=에메랄드/기본=시안) */
.price-update-meta strong { color: var(--ink-hi) !important; }

/* 표 폰트 = 섹션 제목·탭과 동일한 Jua(둥근). 숫자 포함 전부 통일 */
.price-table th,
.cell-label, .cell-chip, .cell-note,
.cell-buy-price, .cell-sell-price, .cell-price, .cell-inquiry {
  font-family: var(--ff-display) !important;
  font-weight: 400 !important;      /* Jua 단일 굵기 — 700 주면 가짜볼드로 뭉갬 */
  letter-spacing: 0 !important;
}

/* 열·내용 전부 가운데 정렬 */
.price-table th { text-align: center !important; }
.price-table td { text-align: center !important; }
.price-table td:first-child { text-align: center !important; }
.cell-label, .cell-chip, .cell-note,
.cell-buy-price, .cell-sell-price, .cell-price, .cell-inquiry {
  justify-content: center !important;
}

/* 헤더·탭·상태 확대 — 데스크톱 전용(모바일 표 오버플로 방지) */
@media (min-width: 981px) {
  .price-table { min-width: 1080px !important; }
  .price-table th { font-size: 27px !important; padding: var(--s-5) var(--s-5) !important; }
  .price-table td { padding: var(--s-5) !important; }
  .tab {
    font-size: 26px !important;
    height: auto !important;
    padding: var(--s-3) var(--s-6) !important;
  }
  .price-update-meta { font-size: 25px !important; }
  .price-update-meta time { font-size: 22px !important; }
  .price-status-light { width: 18px !important; height: 18px !important; }
}

/* ============================================================
   연락처(빨강) 채널 항목 — 라벨 텍스트 제거(아이콘으로 충분) +
   값 크기를 파랑 리스트와 동일(fs-sm)하게. 단일행 중앙 + 복사버튼 우측.
   ============================================================ */
#contact .cp-copy .cp-label { display: none !important; }
#contact .contact-points li.cp-copy {
  position: relative;
  grid-template-columns: auto auto !important;   /* 아이콘 + 값 (파랑 항목과 동일 구조) */
  grid-auto-flow: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--s-2) var(--s-3) !important;
}
#contact .cp-copy > svg { grid-column: auto !important; grid-row: auto !important; align-self: center !important; }
#contact .cp-copy .copy-value {
  grid-column: auto !important;
  grid-row: auto !important;
  font-size: var(--fs-sm) !important;   /* 파랑 li와 동일 크기 */
  line-height: 1.2 !important;
}
#contact .cp-copy .copy-button {
  position: absolute !important;        /* 그리드 흐름에서 빼서 중앙정렬 방해 안 함 */
  right: var(--s-3) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

/* ============================================================
   보너스머니 짬뽕 — 하단 섹션을 에어머니식(균등 카드)으로.
   상단(히어로·시세·서비스·이용방법)은 올머니 리디자인 유지, 여긴 되돌림.
   ============================================================ */
@media (min-width: 981px) {
  /* 거래 게임: 워치리스트 행 → 3열 균등 카드 (에어머니 스타일) */
  .game-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; max-width: none !important; gap: 18px !important; justify-content: stretch !important; }
  .game-grid > article {
    grid-template-columns: 1fr !important; grid-auto-flow: row !important;
    justify-items: center !important; text-align: center !important; justify-content: center !important;
    padding: 30px 20px !important; row-gap: 8px !important;
    border: 1px solid var(--line) !important; border-radius: 14px !important; background: var(--surface) !important;
  }
  .game-grid > article > .game-icon { grid-column: 1 !important; grid-row: auto !important; width: 56px !important; height: 56px !important; margin: 0 auto 6px !important; }
  .game-grid > article > h3 { grid-column: 1 !important; grid-row: auto !important; font-size: 21px !important; }
  .game-grid > article > p  { grid-column: 1 !important; grid-row: auto !important; }
  .game-grid > article > em { grid-column: 1 !important; grid-row: auto !important; text-align: center !important; }
  .game-grid > article > a  { grid-column: 1 !important; grid-row: auto !important; margin-top: 6px !important; }
}
/* 후기: 비대칭 → 4열 균등 카드 + 상단 액센트 바 (에어머니 스타일) */
.review-row { grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 16px !important; }
.review-row > article {
  grid-column: auto !important; grid-row: auto !important;
  padding: 22px !important; text-align: left !important;
  border: 1px solid var(--line) !important; border-top: 3px solid var(--accent) !important; border-radius: 12px !important;
  background: var(--surface) !important;
}
.review-row .stars { text-align: left !important; align-self: flex-start !important; }
@media (max-width: 980px){ .review-row { grid-template-columns: repeat(2,1fr) !important; } .game-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 640px){ .review-row { grid-template-columns: 1fr !important; } }
