.reference-page { min-width: 0; background: #fff; color: #1e1e1e; }
.reference-page a,
.reference-page a:visited { color: inherit; text-decoration: none; }
.reference-page :focus-visible { outline: 3px solid rgba(31, 185, 159, .38) !important; outline-offset: 3px; }
.reference-page .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.reference-page .reference-skip-link { position: fixed; z-index: 1100; top: 12px; left: 12px; padding: 10px 14px; border-radius: 8px; background: #1e1e1e; color: #fff; transform: translateY(-150%); }
.reference-page .reference-skip-link:focus { transform: translateY(0); }
.reference-page h1, .reference-page h2, .reference-page h3, .reference-page [id] { scroll-margin-top: 24px; }
.reference-page a, .reference-page button, .reference-page input, .reference-page select, .reference-page textarea { touch-action: manipulation; -webkit-tap-highlight-color: rgba(62, 212, 190, .16); }
.reference-page #header { border-bottom: 1px solid #f0f0f0; }
.reference-page #header > div { position: relative; }
.reference-page #header .func a { display: block; }
.reference-page #header .nav a { display: inline-block; }
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item > a,
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub a { text-align: left; }
.reference-page #footer a:hover { color: #167863; }
.reference-page .section_category a:hover,
.reference-page .section_sub a:hover,
.reference-page .section_paging a:hover { color: #167863; }
.reference-page .section_search select { background-color: #fff; }
.reference-page h1, .reference-page h2, .reference-page h3 { overflow-wrap: break-word; word-break: keep-all; text-wrap: balance; }
.reference-page p { overflow-wrap: break-word; word-break: keep-all; }
.reference-page .reference-alert { max-width: 860px; margin: 0 auto 30px; padding: 14px 18px; border-radius: 5px; background: #fff0ed; color: #91372f; font-size: 15px; }
.reference-page .reference-alert.success { background: #e8faf5; color: #1d6556; }

.home-reference .section_intro .slug-field { position: relative; }
.home-reference .section_intro .form input { box-sizing: border-box; }
.home-reference .section_banner .bannner_slider { overflow: hidden; }
.home-reference .section_utilize .utilize_item_thum { overflow: hidden; }
.home-reference .section_utilize .utilize_item_thum img { width: 100%; height: 100%; object-fit: cover; }
.home-reference .section_utilize .utilize_item { min-width: 0; box-sizing: border-box; }
.home-reference .section_now .now_title { background: #0867f8; }
.home-reference .section_now h2 { width: 100%; margin-top: 70px; color: #000; text-align: center; font-size: 42px; font-weight: 300; }
.home-reference .section_now p { margin-top: 20px; }

.forum-reference .section_category article { position: relative; }
.forum-reference .section_forum .forum_item { display: block; box-sizing: border-box; }
.forum-reference .section_forum .forum_profile_img { background-image: url(../images/profile_img.png); }
.forum-reference .section_forum .forum_title { text-align: left; }
.forum-reference .section_form .form_box { overflow: hidden; }
.forum-reference .section_form fieldset { border: 0; }
.forum-reference .section_form .form_val { box-sizing: border-box; }
.forum-reference .section_form .form_val input[type="text"],
.forum-reference .section_form .form_val textarea { box-sizing: border-box; }
.forum-reference .section_form .form_file .form_val { justify-content: space-between; }
.forum-reference .section_form .form_category_item input:checked { border: 0; background: url(../images/icon_input_checked.svg) center / cover no-repeat; }
.forum-reference .section_form .form_category_item input:checked::before { display: none; }
.forum-reference .section_form .file_in { color: #808080; cursor: pointer; }
.forum-reference .section_form .file_add { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #ddd; background: #fff; color: #1e1e1e; cursor: pointer; }
.forum-reference .section_form .form_btn a { min-width: 130px; height: 50px; display: grid; place-items: center; border: 1px solid #ddd; border-radius: 40px; color: #1e1e1e; font-size: 16px; }
.forum-reference .section_paging { margin-bottom: 10px; }
.forum-reference .reference-detail { width: 100%; max-width: 860px; margin: 0 auto; padding: 0; box-sizing: border-box; }
.forum-reference.forum-detail-page #wrap { padding-bottom: 96px; }
.forum-reference .back-link { margin-top: 0; }
.forum-reference .forum-detail { padding: 40px 0 0; border: 0; border-radius: 0; }
.forum-reference .forum-detail h1 { margin: 22px 0 16px; font-size: 40px; }
.forum-reference .forum-detail__content { min-height: 0; padding: 42px 0 70px; }

.insight-reference .section_category article { position: relative; }
.insight-reference .section_insight .insight_item { box-sizing: border-box; color: inherit; }
.insight-reference .section_insight .insight_thum { overflow: hidden; }
.insight-reference .section_insight .insight_thum img { display: block; aspect-ratio: 1; object-fit: cover; }
.insight-reference .section_insight .insight_info_btn span { width: auto; height: 40px; padding: 0 30px; display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: 40px; color: #1e1e1e; font-size: 15px; font-weight: 500; }
.insight-reference #main-content { clear: both; }
.insight-reference .reference-detail { width: 100%; max-width: 860px; margin: 0 auto; box-sizing: border-box; }
.insight-reference .insight-detail { padding: 80px 0 140px; }
.insight-reference .insight-detail__hero { height: 440px; border-radius: 22px; box-sizing: border-box; }
.insight-reference .insight-detail__hero > strong { font-size: clamp(54px, 7vw, 78px); }
.insight-reference .insight-detail__body { padding-top: 50px; }
.insight-reference .insight-detail h1 { font-size: clamp(40px, 5vw, 54px); }

.reference-page .section_paging .paging_item[aria-disabled="true"] { opacity: .35; cursor: default; }

@media (min-width: 761px) {
    .forum-reference .section_search,
    .insight-reference .section_search { padding-bottom: 110px; }
    .forum-reference .section_category article,
    .insight-reference .section_category article { padding-bottom: 10px; }
    .forum-reference .section_category .category_item.on::before,
    .insight-reference .section_category .category_item.on::before { bottom: -11px; }
    .insight-reference .section_sub article { padding: 20px 0; flex-wrap: nowrap; }
    .insight-reference .section_sub .sub_item a { padding: 0; }
    .insight-reference #wrap { padding-bottom: 270px; }
    .forum-reference .section_forum .forum_item { min-height: 250px; }
    .forum-reference .section_forum .forum_title { margin-top: 22px; }
    .forum-reference .section_forum .forum_info { margin-top: 24px; }
    .forum-reference #wrap { padding-bottom: 374px; }
    .forum-reference .section_form { padding-top: 160px; }
    .forum-reference .section_form article { gap: 0; }
    .forum-reference .section_form .form_category,
    .forum-reference .section_form .form_title,
    .forum-reference .section_form .form_desc { padding-top: 20px; padding-bottom: 20px; }
    .forum-reference .section_form .desc_txt { height: 198px; }
    .forum-reference .section_form .form_file { height: 60px; min-height: 60px; padding: 15px 0; border: 0; border-radius: 0; box-sizing: border-box; }
}

.info-reference #main-content { clear: both; }
.info-reference #wrap { max-width: 860px; margin: 0 auto; padding: 110px 28px 160px; }
.info-reference .info-hero { max-width: 760px; }
.info-reference .info-hero > p { color: #3abca9; font-size: 16px; font-weight: 700; }
.info-reference .info-hero h1 { margin-top: 20px; font-size: 44px; line-height: 1.24; letter-spacing: -2px; }
.info-reference .info-hero > div { max-width: 680px; margin-top: 28px; color: #666; font-size: 20px; line-height: 1.8; }
.info-reference .info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 70px; }
.info-reference .info-grid article { min-height: 210px; padding: 30px; border: 1px solid #e5e5e5; border-radius: 20px; background: #fafafa; }
.info-reference .info-grid article > span { width: 12px; height: 12px; display: block; border-radius: 50%; background: #3ed4be; }
.info-reference .info-grid h2 { margin-top: 52px; font-size: 22px; line-height: 1.35; }
.info-reference .info-grid p { margin-top: 16px; color: #666; font-size: 15px; line-height: 1.75; }
.info-reference .info-note { margin-top: 28px; padding: 18px 22px; border-radius: 12px; background: #f3f3f3; color: #666; font-size: 14px; line-height: 1.7; }
.info-reference .info-cta { margin-top: 110px; padding: 60px 24px; border-radius: 26px; background: #f4fbfa; text-align: center; }
.info-reference .info-cta h2 { font-size: 34px; }
.info-reference .info-cta p { margin-top: 18px; color: #666; font-size: 17px; }
.info-reference .info-cta > div { display: flex; justify-content: center; gap: 12px; margin-top: 34px; }
.info-reference .info-cta a { min-width: 150px; padding: 15px 24px; border: 1px solid #1e1e1e; border-radius: 50px; font-size: 15px; font-weight: 600; }
.info-reference .info-cta a:first-child { border-color: #1e1e1e; background: #1e1e1e; color: #fff; }

.account-reference #main-content { clear: both; }
.account-reference .account-shell { max-width: 860px; min-height: 0; margin: 0 auto; padding: 110px 28px 160px; display: block; }
.account-reference .account-shell--compact { max-width: 616px; }
.account-reference .account-card { max-width: 560px; margin: 0 auto; display: block; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.account-reference .account-card__form { padding: 0; }
.account-reference .section-heading--left { margin-bottom: 42px; }
.account-reference .section-heading--left h1,
.account-reference .account-simple h1 { margin: 14px 0 16px; font-size: 42px; line-height: 1.2; letter-spacing: -.04em; }
.account-reference .section-heading--left p,
.account-reference .account-simple > p { margin: 0; color: #686b66; font-size: 16px; line-height: 1.7; }
.account-reference .account-simple { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.account-reference .account-simple > p { margin-bottom: 38px; }
.account-reference .account-form { gap: 20px; }
.account-reference .account-consent { display: grid; gap: 10px; margin: 2px 0 0; padding: 16px; border: 1px solid #dedfdb; border-radius: 12px; }
.account-reference .account-consent legend { padding: 0 6px; color: #252724; font-size: 13px; font-weight: 750; }
.account-reference .account-consent > div { display: flex; align-items: flex-start; gap: 9px; color: #5f625d; font-size: 13px; line-height: 1.5; }
.account-reference .account-consent label { cursor: pointer; }
.account-reference .account-consent > div a { margin-left: auto; white-space: nowrap; }
.account-reference .account-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #28c8b4; }
.account-reference .account-consent a { color: #176f65; text-decoration: underline; text-underline-offset: 2px; }
.account-reference .field input,
.account-reference .slug-input { height: 56px; }
.account-reference .field-action .button { min-height: 56px; }

@media (max-width: 1000px) {
    .reference-page #header > div { padding: 0 28px; }
    .reference-page #header .logo a img { width: 126px; }
    .reference-page #header .nav { margin-left: 34px; }
    .reference-page #header .nav a { margin-left: 20px; font-size: 16px; }
    .reference-page #footer > div { padding-left: 28px; padding-right: 28px; }
    .reference-page #footer .ft_nav .ft_nav_list { padding-left: 60px; gap: 28px; }
    .home-reference .section_intro article,
    .home-reference .section_banner article,
    .home-reference .section_utilize article,
    .home-reference .section_now article { padding-left: 28px; padding-right: 28px; box-sizing: border-box; }
    .forum-reference .section_search article,
    .forum-reference .section_category article,
    .forum-reference .section_forum article,
    .forum-reference .section_paging article,
    .forum-reference .section_form article,
    .insight-reference .section_search article,
    .insight-reference .section_category article,
    .insight-reference .section_sub article,
    .insight-reference .section_insight > article,
    .insight-reference .section_paging article { max-width: none; margin-left: 28px; margin-right: 28px; }
}

@media (max-width: 760px) {
    .reference-page #header { height: 112px; align-items: flex-start; }
    .reference-page #header > div { height: 112px; padding: 18px 20px 0; align-items: flex-start; flex-wrap: wrap; }
    .reference-page #header .logo a img { width: 108px; }
    .reference-page #header .func { margin-left: auto; }
    .reference-page #header .func a { width: 42px; height: 42px; border-radius: 14px; background-size: 21px; }
    .reference-page #header .nav { order: 3; width: 100%; margin: 9px 0 0; padding-bottom: 2px; display: flex; justify-content: center; gap: 24px; overflow-x: auto; scrollbar-width: none; }
    .reference-page #header .nav::-webkit-scrollbar { display: none; }
    .reference-page #header .nav a { flex: 0 0 auto; margin: 0; font-size: 14px; }
    .reference-page #footer > div { padding: 48px 20px; }
    .reference-page #footer .ft_nav { display: grid; gap: 35px; }
    .reference-page #footer .ft_nav .ft_nav_func { width: 115px; }
    .reference-page #footer .ft_nav .ft_nav_list { width: 100%; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px 20px; }
    .reference-page #footer .ft_nav .ft_nav_list .ft_nav_item > a { font-size: 15px; }
    .reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub a { font-size: 13px; }
    .reference-page #footer .ft_info { margin-top: 55px; }
    .reference-page #footer .ft_info .ft_info_txt { justify-content: flex-start; flex-wrap: wrap; font-size: 12px; }
    .reference-page #footer .ft_info .ft_info_copy { justify-content: flex-start; font-size: 12px; }

    .home-reference #wrap { padding-top: 75px; }
    .home-reference .section_intro h1 { font-size: 42px; }
    .home-reference .section_intro p { margin-top: 24px; font-size: 18px; }
    .home-reference .section_intro .form { margin-top: 45px; flex-direction: column; }
    .home-reference .section_intro .form .in_box,
    .home-reference .section_intro .form .in_box input { width: 100%; }
    .home-reference .section_intro .form button { width: 100%; margin: 10px 0 0; }
    .home-reference .section_intro .tag { margin-top: 45px; gap: 14px 22px; flex-wrap: wrap; }
    .home-reference .section_intro .tag .item { font-size: 16px; }
    .home-reference .section_banner { margin-top: 70px; }
    .home-reference .section_utilize { margin-top: 120px; }
    .home-reference .section_utilize .utilize_title { font-size: 32px; }
    .home-reference .section_utilize .utilize_contents { margin-top: 50px; flex-direction: column; }
    .home-reference .section_utilize .utilize_contents .utilize_item { padding: 28px; }
    .home-reference .section_now { margin-top: 120px; margin-bottom: 120px; }
    .home-reference .section_now .now_title { height: 58px; padding: 10px 24px; font-size: 18px; }
    .home-reference .section_now h2 { margin-top: 45px; font-size: 34px; }

    .forum-reference #wrap,
    .insight-reference #wrap { padding-top: 70px; padding-bottom: 140px; }
    .forum-reference .sub_header,
    .insight-reference .sub_header { font-size: 27px; }
    .forum-reference .section_search { padding-bottom: 70px; }
    .forum-reference .section_search .search_box { width: 100%; }
    .forum-reference .section_search .search_box select { width: 105px; padding-left: 15px; font-size: 15px; }
    .forum-reference .section_search .search_box input { width: calc(100% - 105px); padding-left: 16px; font-size: 15px; }
    .forum-reference .section_category article { gap: 24px; padding-right: 0; }
    .forum-reference .section_category .category_item a { font-size: 16px; }
    .forum-reference .section_category .category_write_btn { position: static; margin-left: auto; padding: 0 25px; }
    .forum-reference .section_forum article { gap: 12px; }
    .forum-reference .section_forum .forum_item { width: 100%; padding: 28px; }
    .forum-reference .section_forum .forum_item .forum_title { font-size: 21px; }
    .forum-reference .section_form { padding-top: 100px; }
    .forum-reference .section_form .form_category,
    .forum-reference .section_form .form_title,
    .forum-reference .section_form .form_desc,
    .forum-reference .section_form .form_file { align-items: flex-start; flex-direction: column; gap: 14px; }
    .forum-reference .section_form .form_label,
    .forum-reference .section_form .form_val { width: 100%; padding: 0 18px; box-sizing: border-box; }
    .forum-reference .section_form .form_val { flex-wrap: wrap; gap: 12px; }
    .forum-reference .section_form .form_val .form_category_item { margin-left: 0; }
    .forum-reference .section_form .form_btn button,
    .forum-reference .section_form .form_btn a { min-width: 0; padding: 0 32px; }

    .insight-reference .section_search { padding-bottom: 65px; }
    .insight-reference .section_category article,
    .insight-reference .section_sub article { gap: 24px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
    .insight-reference .section_category article::-webkit-scrollbar,
    .insight-reference .section_sub article::-webkit-scrollbar { display: none; }
    .insight-reference .section_category .category_item,
    .insight-reference .section_sub .sub_item { flex: 0 0 auto; }
    .insight-reference .section_category .category_item a { font-size: 16px; }
    .insight-reference .section_insight .insight_item { align-items: flex-start; }
    .insight-reference .section_insight .insight_item .insight_info { width: 58%; padding-right: 18px; }
    .insight-reference .section_insight .insight_item .insight_thum { width: 42%; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_title { font-size: 20px; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_desc { margin-top: 12px; font-size: 14px; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_tag { margin-top: 12px; gap: 8px 12px; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_tag .insight_tag { font-size: 12px; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_btn { margin-top: 20px; }

    .forum-reference .reference-detail,
    .insight-reference .reference-detail { padding-left: 20px; padding-right: 20px; }
    .forum-reference .forum-detail { padding-top: 30px; }
    .forum-reference .forum-detail h1 { font-size: 34px; }
    .insight-reference .insight-detail { padding-top: 60px; padding-bottom: 110px; }
    .insight-reference .insight-detail__hero { height: 360px; }

    .account-reference .account-shell { padding: 80px 20px 120px; }
    .account-reference .section-heading--left h1,
    .account-reference .account-simple h1 { font-size: 34px; }

    .info-reference #wrap { padding: 90px 20px 120px; }
    .info-reference .info-hero h1 { font-size: 40px; }
    .info-reference .info-hero > div { font-size: 18px; }
    .info-reference .info-grid { grid-template-columns: 1fr; margin-top: 60px; }
    .info-reference .info-grid article { min-height: 0; }
    .info-reference .info-grid h2 { margin-top: 48px; }
    .info-reference .info-cta { margin-top: 90px; padding: 52px 20px; }
    .info-reference .info-cta h2 { font-size: 29px; }
}

@media (max-width: 480px) {
    .reference-page #header .nav { justify-content: flex-start; gap: 21px; }
    .home-reference .section_intro h1 { font-size: 35px; }
    .home-reference .section_intro .form .in_box input { height: 68px; padding-left: 86px; font-size: 18px; }
    .home-reference .section_intro .form .in_box label { width: 86px; height: 68px; line-height: 68px; padding-left: 20px; font-size: 18px; }
    .home-reference .section_intro .form button { height: 62px; font-size: 19px; }
    .home-reference .section_utilize .utilize_contents .utilize_item_thum { height: auto; aspect-ratio: 1; }
    .insight-reference .section_insight .insight_item { gap: 22px; flex-direction: column-reverse; }
    .insight-reference .section_insight .insight_item .insight_info,
    .insight-reference .section_insight .insight_item .insight_thum { width: 100%; padding: 0; }
    .info-reference .info-hero h1 { font-size: 34px; letter-spacing: -1px; }
    .info-reference .info-cta > div { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .reference-page .reference-skip-link { transition: none; }
}

/* Public UI polish: one readable scale for navigation, controls, cards and spacing. */
.reference-page {
    --ui-control: 52px;
    --ui-button: 44px;
    --ui-card-radius: 18px;
    --ui-text: #202522;
    --ui-muted: #68706b;
    --ui-border: #e2e7e4;
    --ui-surface: #f7f9f8;
    --ui-accent: #1fb99f;
    --ui-accent-deep: #167863;
    color: var(--ui-text);
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
}
.reference-page input::placeholder,
.reference-page textarea::placeholder { color: #8a918d; opacity: 1; }
.reference-page #header { height: 78px; background: rgba(255, 255, 255, .96); }
.reference-page #header > div { max-width: 1440px; padding: 0 36px; }
.reference-page #header .logo a img { width: 126px; }
.reference-page #header .nav { margin-left: 42px; }
.reference-page #header .nav a { min-height: 44px; margin-left: 24px; display: inline-flex; align-items: center; font-size: 15px; font-weight: 600; line-height: 1.3; }
.reference-page #header .nav a.on { color: var(--ui-accent-deep); }
.reference-page #header .func a { width: 44px; height: 44px; border-radius: 14px; background-size: 22px; }
.reference-page button,
.reference-page input,
.reference-page select,
.reference-page textarea { line-height: 1.4; }
.reference-page button,
.reference-page .button,
.reference-page .category_write_btn,
.reference-page .now_title,
.reference-page .insight_info_btn span,
.reference-page .section_form .form_btn a,
.reference-page .info-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    line-height: 1.15;
}
.reference-page button:disabled,
.reference-page .button:disabled { opacity: .58; cursor: wait; filter: none; }
.reference-page .button { min-height: var(--ui-button); font-size: 14px; }
.reference-page button:hover,
.reference-page .button:hover,
.reference-page .category_write_btn:hover,
.reference-page .now_title:hover,
.reference-page .insight_info_btn a:hover span,
.reference-page .section_form .form_btn a:hover,
.reference-page .info-cta a:hover { filter: brightness(.96); }

.reference-page #footer > div { padding-top: 50px; padding-bottom: 46px; }
.reference-page #footer .ft_nav .ft_nav_func { width: 112px; }
.reference-page #footer .ft_nav .ft_nav_func .ft_nav_lan { margin-top: 26px; }
.reference-page #footer .ft_nav .ft_nav_func .ft_nav_lan select { height: 42px; padding-left: 14px; font-size: 13px; background-position: calc(100% - 18px) center; }
.reference-page #footer .ft_nav .ft_nav_list { width: calc(100% - 112px); padding-left: 72px; gap: 32px; }
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item { gap: 15px; }
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item > a { font-size: 14px; }
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub { gap: 13px; }
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub a { min-height: 30px; display: flex; align-items: center; font-size: 13px; line-height: 1.45; }
.reference-page #footer .ft_info { margin-top: 62px; }
.reference-page #footer .ft_info .ft_info_txt,
.reference-page #footer .ft_info .ft_info_copy { color: var(--ui-muted); font-size: 13px; line-height: 1.6; }

.home-reference #wrap { padding-top: 96px; }
.home-reference .section_intro h1 { font-size: 50px; line-height: 1.2; letter-spacing: -.035em; }
.home-reference .section_intro p { margin-top: 24px; color: var(--ui-muted); font-size: 18px; line-height: 1.55; }
.home-reference .section_intro .form { margin-top: 48px; }
.home-reference .section_intro .form .in_box input { width: 370px; height: 58px; padding: 0 24px 0 84px; border-width: 2px; font-size: 17px; line-height: 1.4; }
.home-reference .section_intro .form .in_box label { width: 84px; height: 58px; padding-left: 24px; font-size: 17px; line-height: 58px; }
.home-reference .section_intro .form button { width: 158px; height: 58px; font-size: 16px; }
.home-reference .section_intro .form .in_box input { border-color: #d8dad6; background: #fff; box-shadow: 0 2px 8px rgba(30, 30, 30, .03); }
.home-reference .section_intro .tag { margin-top: 40px; gap: 32px; }
.home-reference .section_intro .tag .item { display: inline-flex; align-items: center; gap: 9px; color: #4f524d; font-size: 15px; line-height: 1.5; }
.home-reference .section_intro .tag .item::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #3ed4be; }
.home-reference .section_banner { margin-top: 72px; }
.home-reference .section_banner .bannner_slider { aspect-ratio: 15 / 7; border: 1px solid #e4e5e1; border-radius: 22px; background: #f7f6f2; box-shadow: 0 8px 24px rgba(26, 43, 38, .05); }
.home-reference .section_banner .bannner_slider .blank { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-reference .section_utilize { margin-top: 120px; }
.home-reference .section_utilize .utilize_title { font-size: 32px; line-height: 1.35; }
.home-reference .section_utilize .utilize_contents { margin-top: 52px; gap: 18px; align-items: stretch; }
.home-reference .section_utilize .utilize_contents .utilize_item { padding: 28px; border-color: #e4e5e1; border-radius: var(--ui-card-radius); box-shadow: 0 3px 10px rgba(30, 30, 30, .04); }
.home-reference .section_utilize .utilize_contents .utilize_item:hover { border-color: #bfeadf; box-shadow: 0 6px 18px rgba(28, 75, 63, .07); }
.home-reference .section_utilize .utilize_contents .utilize_item_thum { height: 250px; border-radius: 10px; }
.home-reference .section_utilize .utilize_contents .utilize_item_title { height: 2.7em; margin-top: 22px; font-size: 20px; line-height: 1.35; }
.home-reference .section_utilize .utilize_contents .utilize_item_sub { height: auto; min-height: 3.2em; margin-top: 8px; display: -webkit-box; overflow: hidden; white-space: normal; font-size: 14px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-reference .section_utilize .utilize_contents .utilize_item_tag { margin-top: 8px; font-size: 14px; }
.home-reference .section_utilize .utilize_contents .utilize_item_tag .tag { margin: 0 7px; font-size: 14px; }
.home-reference .section_utilize .utilize_contents .utilize_item_btn { margin-top: 22px; }
.home-reference .section_utilize .utilize_contents .utilize_item_btn > a { width: 120px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; line-height: 1.2; }
.home-reference .section_now { margin-top: 120px; margin-bottom: 120px; }
.home-reference .section_now article { max-width: 860px; padding: 58px 24px; border: 1px solid #dff0eb; border-radius: 26px; background: #f4fbf9; }
.home-reference .section_now .now_title { height: 50px; margin-top: 0; padding: 0 28px; font-size: 16px; }
.home-reference .section_now h2 { margin-top: 42px; font-size: 34px; line-height: 1.25; }
.home-reference .section_now p { margin-top: 14px; color: var(--ui-muted); font-size: 16px; line-height: 1.6; }

.forum-reference #wrap,
.insight-reference #wrap { padding-top: 80px; padding-bottom: 180px; }
.forum-reference .sub_header,
.insight-reference .sub_header { font-size: 30px; line-height: 1.3; letter-spacing: -.025em; }
.forum-reference .section_search,
.insight-reference .section_search { padding-bottom: 80px; }
.reference-page .section_search .search_box { width: 560px; height: var(--ui-control); margin-top: 34px; display: flex; float: none; overflow: hidden; }
.reference-page .section_search .search_box:focus-within { box-shadow: 0 0 0 3px rgba(62, 212, 190, .12); }
.reference-page .section_search .search_box select { width: 112px; padding: 0 34px 0 18px; font-size: 15px; background-position: calc(100% - 18px) center; }
.reference-page .section_search .search_box input { min-width: 0; width: auto; flex: 1; padding: 0 18px 0 22px; font-size: 15px; background-image: none; }
.reference-page .section_search .search_box button { flex: 0 0 68px; height: 40px; margin: 7px; border: 0; border-radius: 10px; background: #1e1e1e; color: #fff; font-size: 13px; font-weight: 700; line-height: 1; cursor: pointer; }
.reference-page .section_category article { min-height: 44px; align-items: center; gap: 32px; padding-bottom: 12px; }
.reference-page .section_category .category_item { flex: 0 0 auto; }
.reference-page .section_category .category_item a { min-height: 44px; display: inline-flex; align-items: center; font-size: 16px; font-weight: 500; line-height: 1.3; }
.reference-page .section_category .category_item.on::before { bottom: -13px; height: 2px; }
.reference-page .section_category .category_item.on::before { background: var(--ui-accent); }
.forum-reference .section_category article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding-bottom: 0; }
.forum-reference .forum-category-list { min-width: 0; padding-bottom: 12px; display: flex; align-items: center; gap: 28px; overflow-x: auto; scrollbar-width: none; }
.forum-reference .forum-category-list::-webkit-scrollbar { display: none; }
.forum-reference .section_category .category_write_btn { position: static; top: auto; min-width: 100px; height: 44px; padding: 0 24px; font-size: 14px; }
.forum-reference .section_forum { padding-top: 32px; }
.forum-reference .section_forum article { gap: 16px; align-items: stretch; }
.forum-reference .section_forum .forum_item { width: calc(50% - 8px); min-height: 220px; padding: 30px; border: 1px solid transparent; border-radius: var(--ui-card-radius); }
.forum-reference .section_forum .forum_item:hover { border-color: #d8e9e4; background: #edf8f5; }
.forum-reference .section_forum .forum_item .forum_func { height: 36px; }
.forum-reference .section_forum .forum_profile_img { width: 36px; height: 36px; }
.forum-reference .section_forum .forum_profile_nick,
.forum-reference .section_forum .forum_date { font-size: 14px; }
.forum-reference .section_forum .forum_title { height: 2.7em; margin-top: 20px; font-size: 21px; line-height: 1.35; }
.forum-reference .section_forum .forum_info { margin-top: 18px; gap: 9px; }
.forum-reference .section_forum .forum_info .forum_category { font-size: 14px; }
.forum-reference .section_forum .forum_info { justify-content: space-between; }
.forum-reference .section_forum .forum_read { color: #777a74; font-size: 13px; font-weight: 600; }
.reference-page .section_paging article { padding-top: 34px; gap: 16px; align-items: center; }
.reference-page .section_paging .paging_item { min-width: 40px; min-height: 40px; display: inline-grid; place-items: center; font-size: 14px; line-height: 1; }
.reference-page .section_paging .paging_item .arrow { width: 8px; margin: 0 12px; }
.forum-reference .section_form { padding-top: 120px; }
.forum-reference .section_form .form_box { border-radius: 8px; }
.forum-reference .section_form .form_category,
.forum-reference .section_form .form_title,
.forum-reference .section_form .form_desc { padding-top: 17px; padding-bottom: 17px; }
.forum-reference .section_form .form_label { width: 112px; font-size: 14px; }
.forum-reference .section_form .form_val { width: calc(100% - 112px); }
.forum-reference .section_form .form_val .form_category_item label,
.forum-reference .section_form .title_txt,
.forum-reference .section_form .desc_txt,
.forum-reference .section_form .file_in { font-size: 14px; }
.forum-reference .section_form .desc_txt { height: 160px; line-height: 1.7; }
.forum-reference .section_form .form_file { height: 56px; min-height: 56px; padding: 13px 0; }
.forum-reference .section_form .form_btn { margin-top: 32px; }
.forum-reference .section_form .form_btn button,
.forum-reference .section_form .form_btn a { min-width: 118px; height: var(--ui-button); padding: 0 28px; font-size: 14px; }

.insight-reference .section_sub article { gap: 28px; padding: 16px 0; }
.insight-reference .section_sub .sub_item a { min-height: 44px; display: inline-flex; align-items: center; color: #4f5752; font-size: 14px; font-weight: 500; line-height: 1.4; }
.insight-reference .section_sub .sub_item.on a { color: var(--ui-accent-deep); }
.insight-reference .section_insight .insight_item { padding: 24px 0; }
.insight-reference .section_insight .insight_item .insight_info { width: calc(100% - 280px); padding-right: 34px; }
.insight-reference .section_insight .insight_item .insight_thum { width: 280px; border-radius: 14px; background: #f4f4f1; box-shadow: 0 4px 12px rgba(30, 30, 30, .05); }
.insight-reference .section_insight .insight_item .insight_info .insight_info_title { font-size: 21px; line-height: 1.35; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_desc { margin-top: 14px; font-size: 14px; line-height: 1.65; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_tag { margin-top: 14px; gap: 8px 14px; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_tag .insight_tag { font-size: 13px; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_btn { margin-top: 24px; }
.insight-reference .section_insight .insight_info_btn a { display: inline-flex; }
.insight-reference .section_insight .insight_info_btn span { height: 38px; padding: 0 22px; font-size: 13px; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_tag .insight_tag,
.insight-reference .insight-detail__meta a,
.insight-reference .insight-detail__meta a:visited { min-height: 34px; padding: 6px 11px; display: inline-flex; align-items: center; box-sizing: border-box; border-radius: 999px; background: #edf8f4; color: var(--ui-accent-deep); font-size: 13px; font-weight: 700; line-height: 1.2; }
.insight-reference .insight-detail__meta a:hover { background: #dff3ed; color: #1d6658; }

.forum-reference .reference-detail,
.insight-reference .reference-detail { max-width: 820px; }
.forum-reference .forum-detail { padding-top: 32px; }
.forum-reference .forum-detail h1 { margin: 18px 0 14px; font-size: 34px; line-height: 1.3; }
.forum-reference .forum-detail__image { width: 100%; height: auto; }
.forum-reference .forum-detail__content { padding: 32px 0 24px; font-size: 15px; line-height: 1.85; }
.forum-reference .forum-detail__actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding-top: 18px; border-top: 1px solid #e4e5e1; }
.forum-reference .forum-detail__actions form { margin: 0; }
.forum-reference .forum-detail__actions button { min-height: 44px; padding: 0; border: 0; background: transparent; color: #a43f38; font-size: 14px; font-weight: 700; cursor: pointer; }
.forum-reference .forum-detail__actions button:hover { color: #7f2822; text-decoration: underline; text-underline-offset: 3px; }
.forum-reference .back-link,
.forum-reference .forum-detail__actions a,
.insight-reference .back-link { min-height: 44px; display: inline-flex; align-items: center; color: var(--ui-accent-deep); font-size: 14px; font-weight: 700; }
.insight-reference .insight-detail { padding: 64px 0 110px; }
.insight-reference .insight-detail__hero { position: relative; height: 300px; padding: 0; display: block; border-radius: var(--ui-card-radius); background: #202320; }
.insight-reference .insight-detail__hero::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(15, 20, 17, .82), rgba(15, 20, 17, .18)); }
.insight-reference .insight-detail__hero::after { display: none; }
.insight-reference .insight-detail__hero > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.insight-reference .insight-detail__hero > div { position: absolute; z-index: 2; inset: 0; padding: 28px 30px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; }
.insight-reference .insight-detail__hero span,
.insight-reference .insight-detail__hero small { font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.insight-reference .insight-detail__hero strong { max-width: 650px; font-size: clamp(34px, 5vw, 46px); line-height: 1.15; letter-spacing: -.045em; text-wrap: balance; }
.insight-reference .insight-detail__body { padding-top: 34px; }
.insight-reference .insight-detail h1 { margin-top: 18px; font-size: clamp(32px, 4vw, 38px); line-height: 1.28; }
.insight-reference .insight-detail__lead { font-size: 16px; line-height: 1.75; }
.insight-reference .insight-detail ol { margin: 42px 0; }
.insight-reference .insight-detail li { padding: 22px 0; }
.insight-reference .insight-detail li p { font-size: 15px; line-height: 1.75; }
.insight-reference .insight-detail__cta { padding: 30px; border-radius: var(--ui-card-radius); }
.insight-reference .insight-detail__cta strong { font-size: 20px; }

.account-reference .site-header__inner { height: 72px; }
.account-reference .site-logo img { width: 120px; }
.account-reference .button { min-height: 48px; font-size: 14px; line-height: 1.15; }
.account-reference .button--small { min-height: 40px; font-size: 13px; }
.account-reference .account-shell { max-width: 760px; padding: 80px 24px 110px; }
.account-reference .account-shell--compact { max-width: 568px; }
.account-reference .account-card { max-width: 520px; }
.account-reference .section-heading--left { margin-bottom: 32px; }
.account-reference .section-heading--left h1,
.account-reference .account-simple h1 { margin: 12px 0 12px; font-size: 36px; line-height: 1.25; }
.account-reference .section-heading--left p,
.account-reference .account-simple > p { font-size: 15px; line-height: 1.65; }
.account-reference .account-simple > p { margin-bottom: 30px; }
.account-reference .account-form { gap: 16px; }
.account-reference .field input,
.account-reference .slug-input { height: 50px; }
.account-reference .field-action .button { min-height: 50px; }
.account-reference .field > span,
.account-reference .field > label,
.account-reference .field small,
.account-reference .form-message,
.account-reference .form-helper a { font-size: 13px; line-height: 1.5; }
.account-reference .field input,
.account-reference .slug-input input { color: var(--ui-text); font-size: 15px; }

.info-reference #wrap { max-width: 820px; padding: 88px 24px 120px; }
.info-reference .info-hero h1 { margin-top: 16px; font-size: 40px; line-height: 1.25; }
.info-reference .info-hero > div { margin-top: 22px; font-size: 18px; line-height: 1.7; }
.info-reference .info-hero > p { color: var(--ui-accent-deep); }
.info-reference .info-status { max-width: 680px; margin-top: 24px; padding: 14px 16px; display: flex; align-items: center; gap: 12px; border: 1px solid #d8ebe5; border-radius: 12px; background: #f3faf8; color: #4d5c57; font-size: 13px; line-height: 1.55; }
.info-reference .info-status strong { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; background: #dff4ed; color: var(--ui-accent-deep); font-size: 13px; }
.info-reference .info-grid { gap: 14px; margin-top: 54px; }
.info-reference .info-grid article { min-height: 190px; padding: 24px; border-color: #e4e5e1; border-radius: var(--ui-card-radius); background: #fff; box-shadow: 0 2px 8px rgba(30, 30, 30, .035); }
.info-reference .info-grid h2 { margin-top: 42px; font-size: 20px; }
.info-reference .info-grid p { margin-top: 12px; font-size: 14px; line-height: 1.65; }
.info-reference .info-cta { margin-top: 80px; padding: 48px 22px; border-radius: 22px; }
.info-reference .info-cta h2 { font-size: 30px; }
.info-reference .info-cta p { margin-top: 14px; font-size: 15px; }
.info-reference .info-cta > div { margin-top: 28px; }
.info-reference .info-cta a { min-width: 140px; height: var(--ui-button); padding: 0 22px; font-size: 14px; }

@media (max-width: 1000px) {
    .reference-page #header > div { padding: 0 24px; }
    .reference-page #footer .ft_nav .ft_nav_list { padding-left: 48px; gap: 24px; }
    .home-reference .section_intro article,
    .home-reference .section_banner article,
    .home-reference .section_utilize article,
    .home-reference .section_now article { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 760px) {
    .reference-page #header { height: 104px; }
    .reference-page #header > div { height: 104px; padding: 16px 20px 0; }
    .reference-page #header .logo a img { width: 104px; }
    .reference-page #header .func a { width: 40px; height: 40px; border-radius: 13px; background-size: 20px; }
    .reference-page #header .nav { margin: 2px 0 0; justify-content: center; gap: 8px; overflow: visible; }
    .reference-page #header .nav a { min-height: 40px; padding: 0 8px; font-size: 13px; }
    .reference-page #footer > div { padding-top: 44px; padding-bottom: 40px; }
    .reference-page #footer .ft_nav { display: grid; gap: 30px; }
    .reference-page #footer .ft_nav .ft_nav_func { width: 112px; }
    .reference-page #footer .ft_nav .ft_nav_list { width: 100%; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
    .reference-page #footer .ft_info { margin-top: 44px; }

    .home-reference #wrap { padding-top: 56px; }
    .home-reference .section_intro h1 { font-size: 34px; line-height: 1.22; }
    .home-reference .section_intro p { margin-top: 18px; font-size: 16px; }
    .home-reference .section_intro .form { margin-top: 32px; }
    .home-reference .section_intro .form .in_box,
    .home-reference .section_intro .form .in_box input { width: 100%; }
    .home-reference .section_intro .form .in_box input { height: 54px; padding-left: 78px; font-size: 15px; }
    .home-reference .section_intro .form .in_box label { width: 78px; height: 54px; padding-left: 20px; font-size: 15px; line-height: 54px; }
    .home-reference .section_intro .form button { width: 100%; height: 52px; margin: 10px 0 0; font-size: 15px; }
    .home-reference .section_intro .tag { margin-top: 30px; gap: 12px 20px; }
    .home-reference .section_intro .tag .item { font-size: 14px; }
    .home-reference .section_banner { margin-top: 52px; }
    .home-reference .section_banner .bannner_slider { aspect-ratio: 4 / 3; border-radius: 16px; }
    .home-reference .section_utilize { margin-top: 88px; }
    .home-reference .section_utilize .utilize_title { font-size: 27px; }
    .home-reference .section_utilize .utilize_contents { margin-top: 36px; gap: 14px; }
    .home-reference .section_utilize .utilize_contents .utilize_item { padding: 22px; }
    .home-reference .section_utilize .utilize_contents .utilize_item_thum { height: auto; aspect-ratio: 16 / 10; }
    .home-reference .section_now { margin: 88px 0; }
    .home-reference .section_now article { padding: 44px 20px; border-radius: 20px; }
    .home-reference .section_now .now_title { height: 46px; padding: 0 22px; font-size: 14px; }
    .home-reference .section_now h2 { margin-top: 32px; font-size: 28px; }
    .home-reference .section_now p { font-size: 14px; }

    .forum-reference #wrap,
    .insight-reference #wrap { padding-top: 56px; padding-bottom: 110px; }
    .forum-reference .sub_header,
    .insight-reference .sub_header { font-size: 24px; }
    .forum-reference .section_search,
    .insight-reference .section_search { padding-bottom: 52px; }
    .reference-page .section_search .search_box { height: 48px; margin-top: 28px; }
    .reference-page .section_category article,
    .reference-page .section_sub article { gap: 20px; }
    .reference-page .section_category .category_item a { font-size: 15px; }
    .forum-reference .forum-category-list { gap: 20px; }
    .forum-reference .section_category .category_write_btn { height: 44px; min-width: 84px; padding: 0 18px; font-size: 13px; }
    .forum-reference .section_forum { padding-top: 26px; }
    .forum-reference .section_forum .forum_item { width: 100%; min-height: 196px; padding: 24px; }
    .forum-reference .section_forum .forum_item .forum_title { font-size: 19px; }
    .forum-reference .section_form { padding-top: 84px; }

    .insight-reference .section_sub article { padding: 14px 0; }
    .insight-reference .section_insight .insight_item { padding: 22px 0; }
    .insight-reference .section_insight .insight_item .insight_info { width: 58%; padding-right: 18px; }
    .insight-reference .section_insight .insight_item .insight_thum { width: 42%; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_title { font-size: 19px; }

    .forum-reference .forum-detail h1 { font-size: 30px; }
    .forum-reference.forum-detail-page #wrap { padding-bottom: 72px; }
    .insight-reference .insight-detail { padding-top: 48px; padding-bottom: 90px; }
    .insight-reference .insight-detail__hero { height: 260px; }
    .insight-reference .insight-detail h1 { font-size: 32px; }

    .account-reference .site-header__inner { height: 68px; }
    .account-reference .account-shell { padding: 60px 20px 90px; }
    .account-reference .section-heading--left h1,
    .account-reference .account-simple h1 { font-size: 30px; }

    .info-reference #wrap { padding: 68px 20px 96px; }
    .info-reference .info-hero h1 { font-size: 34px; }
    .info-reference .info-hero > div { font-size: 16px; }
    .info-reference .info-status { align-items: flex-start; }
    .info-reference .info-grid { margin-top: 44px; }
    .info-reference .info-grid article { min-height: 0; }
    .info-reference .info-cta { margin-top: 66px; padding: 42px 18px; }
    .info-reference .info-cta h2 { font-size: 27px; }
}

@media (max-width: 480px) {
    .forum-reference .section_category article { min-height: 44px; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; overflow: visible; }
    .forum-reference .section_category .category_item.on::before { bottom: -13px; }
    .forum-reference .section_forum .forum_item { padding: 22px; }
    .insight-reference .section_insight .insight_item { gap: 18px; flex-direction: column-reverse; }
    .insight-reference .section_insight .insight_item .insight_info,
    .insight-reference .section_insight .insight_item .insight_thum { width: 100%; padding: 0; }
    .insight-reference .section_insight .insight_item .insight_thum { height: 220px; aspect-ratio: auto; }
    .insight-reference .section_insight .insight_item .insight_thum img { height: 100%; aspect-ratio: auto; }
    .insight-reference .insight-detail__hero { height: 230px; }
    .insight-reference .insight-detail__hero > div { padding: 22px; }
    .insight-reference .insight-detail__hero strong { font-size: 29px; }
    .account-reference .account-shell { padding-left: 16px; padding-right: 16px; }
    .info-reference .info-status { flex-direction: column; gap: 8px; }
}

@media (max-width: 760px) {
    .reference-page #footer .ft_info .ft_info_txt,
    .reference-page #footer .ft_info .ft_info_copy,
    .reference-page .field small,
    .reference-page .form-message,
    .reference-page .form-helper a,
    .reference-page .eyebrow,
    .reference-page .section-heading > span,
    .forum-reference .forum-detail__meta,
    .forum-reference .forum-detail__author,
    .insight-reference .insight-detail__meta > span,
    .insight-reference .insight-detail__hero span,
    .insight-reference .insight-detail__hero small { font-size: 12px; }
    .forum-reference .forum-category-list {
        -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 22px), transparent 100%);
        mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 22px), transparent 100%);
    }
    .insight-reference .section_sub article {
        -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 22px), transparent 100%);
        mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 22px), transparent 100%);
    }
    .reference-page .section_paging .paging_item { min-width: 44px; min-height: 44px; }
    .insight-reference .insight-detail__meta a { min-height: 40px; }
}

@media (min-width: 761px) {
    .reference-page .caption,
    .reference-page .nav-badge,
    .reference-page .user-menu__panel span,
    .reference-page .eyebrow,
    .reference-page .slug-claim small,
    .reference-page .phone-card__top,
    .reference-page .phone-card__cover small,
    .reference-page .phone-card__links span,
    .reference-page .logo-strip,
    .reference-page .section-heading > span,
    .reference-page .step-card__number,
    .reference-page .step-card__visual b,
    .reference-page .use-card > span,
    .reference-page .use-card small,
    .reference-page .final-cta p,
    .reference-page .site-footer__legal,
    .reference-page .forum-card__top span,
    .reference-page .forum-card__top time,
    .reference-page .forum-card__bottom,
    .reference-page .radio-chips span,
    .reference-page .field small,
    .reference-page .file-field b,
    .reference-page .forum-detail__meta,
    .reference-page .forum-detail__author,
    .reference-page .insight-card__type,
    .reference-page .insight-card__content > div,
    .reference-page .insight-card__content > b,
    .reference-page .insight-detail__hero > span,
    .reference-page .insight-detail__hero > small,
    .reference-page .insight-detail__meta,
    .reference-page .account-preview > span,
    .reference-page .field-action .button,
    .reference-page .form-message,
    .reference-page .form-helper a,
    .reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub a,
    .reference-page #footer .ft_info .ft_info_txt,
    .reference-page #footer .ft_info .ft_info_copy,
    .insight-reference .section_insight .insight_item .insight_info .insight_info_tag .insight_tag,
    .insight-reference .insight-detail__meta a,
    .insight-reference .insight-detail__hero span,
    .insight-reference .insight-detail__hero small { font-size: 13px; }
}

/* Service screens share a measured vertical rhythm; published pages do not load this file. */
.reference-page { --service-top: 72px; --service-bottom: 96px; --service-section: 80px; }
.home-reference #wrap, .forum-reference #wrap, .insight-reference #wrap { padding-top: var(--service-top); }
.forum-reference #wrap, .insight-reference #wrap { padding-bottom: var(--service-bottom); }
.info-reference #wrap { padding-top: var(--service-top); padding-bottom: var(--service-bottom); }
.account-reference .account-shell { padding-top: var(--service-top); padding-bottom: var(--service-bottom); }
.home-reference .section_utilize, .home-reference .section_now { margin-top: var(--service-section); }
.home-reference .section_now { margin-bottom: var(--service-bottom); }
.home-reference .section_utilize .utilize_contents { margin-top: 36px; }
.home-reference .section_intro p, .home-reference .section_now p { line-height: 1.7; }
.home-reference .section_intro .slug-guidance { margin: 12px 0 0; color: #626b66; font-size: 13px; font-weight: 400; line-height: 1.6; }
.home-reference .section_utilize .utilize_contents .utilize_item_sub { display: block; min-height: 3.6em; overflow: visible; -webkit-line-clamp: unset; font-size: 15px; line-height: 1.8; }
.forum-reference .section_search, .insight-reference .section_search { padding-bottom: 48px; }
.forum-reference .section_form { padding-top: 72px; }
.forum-reference .forum-detail__content, .insight-reference .insight-detail__content { font-size: 16px; line-height: 1.85; }
.insight-reference .insight-detail { padding-top: var(--service-top); padding-bottom: var(--service-bottom); }
.insight-reference .section_insight .insight_item .insight_info .insight_info_desc { font-size: 15px; line-height: 1.8; }
.info-reference .info-hero > div { line-height: 1.75; }
.info-reference .info-grid { margin-top: 40px; }
.info-reference .info-grid h2 { margin-top: 28px; }
.info-reference .info-grid p { font-size: 15px; line-height: 1.8; }
.info-reference .info-cta { margin-top: var(--service-section); padding-top: 40px; padding-bottom: 40px; }
.info-reference .info-cta h2 { line-height: 1.35; }
.info-reference .info-cta p { line-height: 1.75; }
.info-reference .info-cta a { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; line-height: 1.4; }
.account-reference .field small, .account-reference .form-message, .account-reference .form-helper a { font-size: 13px; line-height: 1.65; }
.reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub a { min-height: 32px; display: inline-flex; align-items: center; line-height: 1.5; }
@media (max-width: 760px) {
 .reference-page { --service-top: 48px; --service-bottom: 64px; --service-section: 56px; }
 .home-reference .section_utilize .utilize_contents { margin-top: 28px; }
 .home-reference .section_intro .tag { margin-top: 28px; }
 .forum-reference .section_search, .insight-reference .section_search { padding-bottom: 32px; }
 .forum-reference .section_form { padding-top: 48px; }
 .info-reference .info-grid { margin-top: 32px; }
 .info-reference .info-grid h2 { margin-top: 20px; }
 .account-reference .account-shell { padding-left: 20px; padding-right: 20px; }
 .reference-page #footer .ft_nav .ft_nav_list .ft_nav_item .sub a { font-size: 13px; min-height: 36px; }
}

/* Mobile navigation resets desktop margins and stays inside narrow viewports. */
@media (max-width:760px) {
 .reference-page #header .nav { min-width:0; overflow-x:auto; overflow-y:hidden; justify-content:safe center; }
 .reference-page #header .nav a { margin-left:0; white-space:nowrap; }
}

/* Public experience refresh: mobile product showcase and community feed. */
.home-reference #wrap.home-shell { width: min(1240px, calc(100% - 48px)); padding-top: 72px; padding-bottom: 120px; }
.forum-reference .forum-kicker { margin-bottom: 14px; color: var(--ui-accent-deep); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.forum-reference .forum-intro { max-width: 620px; margin: 18px auto 0; color: #69706c; font-size: 15px; line-height: 1.75; text-align: center; }
.forum-reference .forum-write-action,
.forum-reference .forum-write-action:visited { border: 1px solid #171a19; background: #171a19; color: #fff; font-weight: 750; }
.forum-reference .section_forum article { display: grid; grid-template-columns: 1fr; gap: 12px; }
.forum-reference .section_forum .forum_item { width: 100%; min-height: 0; padding: 26px 28px; border: 1px solid #e4e8e6; border-radius: 18px; background: #fff; }
.forum-reference .section_forum .forum_item:hover { border-color: #a8dacf; background: #f6fbf9; }
.forum-reference .section_forum .forum_profile_img { width: 38px; height: 38px; display: grid; place-items: center; background: #dff6ef; background-image: none; color: #176b5b; font-size: 14px; font-weight: 800; }
.forum-reference .forum-demo-badge { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: #eff3f1; color: #707773; font-size: 10px; font-style: normal; font-weight: 750; }
.forum-reference .section_forum .forum_title { height: auto; margin-top: 18px; font-size: 21px; }
.forum-reference .forum_excerpt { max-width: 700px; margin-top: 9px; color: #69706c; font-size: 14px; line-height: 1.65; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.forum-reference .section_forum .forum_info { margin-top: 20px; }
.forum-reference .forum-detail__author { display: flex; align-items: center; gap: 8px; }
.insight-reference .insight-kicker { margin-bottom: 14px; color: var(--ui-accent-deep); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-align: center; }
.insight-reference .insight-intro { max-width: 610px; margin: 18px auto 0; color: #69706c; font-size: 15px; line-height: 1.75; text-align: center; }
.insight-reference .section_insight > article { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.insight-reference .section_insight .insight_item { min-width: 0; padding: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e1e6e3; border-radius: 20px; background: #fff; }
.insight-reference .section_insight .insight_item .insight_thum { order: -1; width: 100%; height: 245px; border-radius: 0; box-shadow: none; }
.insight-reference .section_insight .insight_item .insight_thum img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.insight-reference .section_insight .insight_item .insight_info { width: auto; padding: 25px; }
.insight-reference .insight_type { color: var(--ui-accent-deep); font-size: 12px; font-weight: 800; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_title { margin-top: 8px; font-size: 21px; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_desc { min-height: 7.4em; }
.insight-reference .section_insight .insight_item .insight_info .insight_info_btn { margin-top: 20px; }
.info-reference .premium-plan-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.info-reference.premium-reference #wrap { max-width: 1120px; }
.info-reference .premium-plan-card { min-width: 0; padding: 26px; display: flex; flex-direction: column; border: 1px solid #dfe4e1; border-radius: 20px; background: #fff; }
.info-reference .premium-plan-card.is-recommended { border-color: #56cbb5; box-shadow: 0 12px 32px rgba(37, 116, 98, .1); }
.info-reference .premium-plan-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.info-reference .premium-plan-card header h2 { font-size: 25px; line-height: 1.2; }
.info-reference .premium-plan-card header strong { margin-top: 10px; display: block; font-size: 16px; }
.info-reference .premium-plan-card header em { padding: 6px 9px; border-radius: 999px; background: #dff7f0; color: #176d5c; font-size: 11px; font-style: normal; font-weight: 800; }
.info-reference .premium-plan-card > p { min-height: 5.2em; margin-top: 22px; color: #666d69; font-size: 14px; line-height: 1.7; }
.info-reference .premium-plan-limits { margin-top: 20px; padding: 13px; border-radius: 10px; background: #f3f6f4; color: #3d4642; font-size: 12px; font-weight: 750; line-height: 1.55; }
.info-reference .premium-plan-card ul { margin-top: 22px; display: grid; gap: 12px; }
.info-reference .premium-plan-card li { position: relative; padding-left: 20px; color: #4f5652; font-size: 13px; line-height: 1.55; }
.info-reference .premium-plan-card li::before { content: '✓'; position: absolute; left: 0; color: #1ba789; font-weight: 900; }
.info-reference .premium-plan-card > a { min-height: 46px; margin-top: auto; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #191c1b; border-radius: 12px; color: #191c1b; font-size: 13px; font-weight: 750; }
.info-reference .premium-plan-card.is-recommended > a { background: #191c1b; color: #fff; }
.info-reference .premium-terms { margin-top: 20px; padding: 20px 22px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; border-radius: 14px; background: #f4f7f5; }
.info-reference .premium-terms strong { font-size: 13px; }
.info-reference .premium-terms p { color: #686f6b; font-size: 13px; line-height: 1.65; }
.info-reference .premium-terms a { color: #176d5c; font-size: 12px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 760px) {
    .home-reference #wrap.home-shell { width: min(100% - 32px, 620px); padding-top: 48px; padding-bottom: 76px; }
    .forum-reference .forum-intro { font-size: 14px; text-align: left; }
    .forum-reference .section_forum .forum_item { padding: 22px; }
    .forum-reference .section_forum .forum_func { height: auto; align-items: flex-start; justify-content: space-between; }
    .forum-reference .section_forum .forum_profile { flex-wrap: wrap; }
    .forum-reference .section_forum .forum_date { margin-top: 10px; font-size: 12px; }
    .insight-reference .insight-intro { text-align: left; }
    .insight-reference .section_insight > article { grid-template-columns: 1fr; }
    .insight-reference .section_insight .insight_item { flex-direction: column; gap: 0; }
    .insight-reference .section_insight .insight_item .insight_thum { width: 100%; height: 240px; }
    .insight-reference .section_insight .insight_item .insight_info { width: auto; padding: 22px; }
    .insight-reference .section_insight .insight_item .insight_info .insight_info_desc { min-height: 0; }
    .info-reference .premium-plan-grid { grid-template-columns: 1fr; margin-top: 36px; }
    .info-reference .premium-plan-card > p { min-height: 0; }
    .info-reference .premium-plan-card > a { margin-top: 26px; }
    .info-reference .premium-terms { grid-template-columns: 1fr; gap: 8px; }
}

/* Service text contrast; customer-authored page colors stay outside this scope. */
.reference-page input::placeholder, .reference-page textarea::placeholder { color:#626b66; opacity:1; }
.home-reference .section_intro .form label { color:#626b66; font-weight:500; }
.home-reference .section_intro .form button { color:#123f37; }
.home-reference .section_intro .form button:hover { color:#123f37; }
.account-reference .slug-input b, .account-reference .form-message { color:#626b66; }
.account-reference .form-message.error { color:#9b3530; }
.account-reference .form-message.success { color:#216657; }
.forum-reference .section_forum .forum_read { color:#5b635d; }
.forum-reference .forum-detail__meta > span, .insight-reference .insight-detail li span { color:#1d7160; }
.reference-page .legal-dialog__header p { font-size:12px; line-height:1.6; }
.reference-page :focus-visible { outline-color:#167863 !important; }

/* Forum moderation stays in-product and keeps the post itself visually primary. */
.forum-reference .forum-detail__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.forum-reference .forum-detail__toolbar .back-link { margin: 0; }
.forum-reference .forum-report-trigger { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d9deda; border-radius: 999px; background: #fff; color: #626965; font-size: 13px; font-weight: 700; cursor: pointer; }
.forum-reference .forum-report-trigger:hover { border-color: #b7c0bc; background: #f6f8f7; color: #272c2a; }
.forum-report-dialog { width: min(520px, calc(100vw - 32px)); margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 20px; background: #fff; color: #1e2321; box-shadow: 0 24px 70px rgba(15, 32, 27, .22); }
.forum-report-dialog::backdrop { background: rgba(18, 25, 23, .52); backdrop-filter: blur(3px); }
.forum-report-form { padding: 30px; display: grid; gap: 22px; }
.forum-report-form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.forum-report-form > header span { color: #147966; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.forum-report-form > header h2 { margin-top: 6px; font-size: 24px; }
.forum-report-form > header p { margin-top: 8px; color: #69706c; font-size: 13px; line-height: 1.65; }
.forum-report-form > header button { flex: 0 0 auto; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f2f5f3; color: #4c5551; font-size: 25px; line-height: 1; cursor: pointer; }
.forum-report-form fieldset { padding: 0; display: grid; border: 1px solid #e0e5e2; border-radius: 14px; overflow: hidden; }
.forum-report-form fieldset legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.forum-report-form fieldset label { min-height: 48px; padding: 0 16px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid #edf0ee; cursor: pointer; }
.forum-report-form fieldset label:last-child { border-bottom: 0; }
.forum-report-form fieldset label:hover { background: #f5faf8; }
.forum-report-form fieldset input { width: 18px; height: 18px; accent-color: #1ba88b; }
.forum-report-form fieldset span { font-size: 14px; font-weight: 650; }
.forum-report-detail { display: grid; gap: 9px; color: #303633; font-size: 13px; font-weight: 750; }
.forum-report-detail small { color: #7d8581; font-size: 11px; font-weight: 500; }
.forum-report-detail textarea { width: 100%; min-height: 108px; padding: 13px 14px; resize: vertical; border: 1px solid #d9dfdc; border-radius: 12px; color: #202522; font: inherit; font-weight: 500; line-height: 1.65; box-sizing: border-box; }
.forum-report-notice { color: #737b77; font-size: 12px; line-height: 1.65; }
.forum-report-form > div:last-child { display: flex; justify-content: flex-end; gap: 9px; }
.forum-report-form > div:last-child button { min-height: 44px; padding: 0 18px; border: 1px solid #d7ddda; border-radius: 11px; background: #fff; color: #252a28; font-size: 13px; font-weight: 750; cursor: pointer; }
.forum-report-form > div:last-child button[type="submit"] { border-color: #202422; background: #202422; color: #fff; }
@media (max-width: 480px) {
    .forum-report-form { padding: 24px 20px; }
    .forum-report-form > div:last-child button { flex: 1; }
}

/* Complete product guide is visible before visitors browse individual articles. */
.insight-reference .insight-guide-feature { width: min(1080px, calc(100% - 56px)); margin: -20px auto 64px; padding: 34px 38px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); gap: 48px; border: 1px solid #cfe8e1; border-radius: 24px; background: #f1faf7; box-sizing: border-box; }
.insight-reference .insight-guide-feature > div > span { color: #147966; font-size: 12px; font-weight: 800; }
.insight-reference .insight-guide-feature h2 { margin-top: 9px; font-size: 28px; line-height: 1.3; letter-spacing: -.03em; }
.insight-reference .insight-guide-feature p { margin-top: 12px; color: #626a66; font-size: 14px; line-height: 1.7; }
.insight-reference .insight-guide-feature a { min-height: 44px; margin-top: 22px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; border-radius: 11px; background: #18201d; color: #fff; font-size: 13px; font-weight: 750; }
.insight-reference .insight-guide-feature ol { display: grid; align-content: center; gap: 0; }
.insight-reference .insight-guide-feature li { min-height: 50px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid #d8ebe5; color: #343b38; font-size: 14px; font-weight: 700; }
.insight-reference .insight-guide-feature li:last-child { border-bottom: 0; }
.insight-reference .insight-guide-feature li span { color: #19927a; font-size: 11px; font-weight: 850; }

@media (max-width: 760px) {
    .insight-reference .insight-guide-feature { width: min(100% - 40px, 620px); margin: -12px auto 46px; padding: 26px 22px; grid-template-columns: 1fr; gap: 28px; }
    .insight-reference .insight-guide-feature h2 { font-size: 24px; }
    .insight-reference .insight-guide-feature a { width: 100%; justify-content: center; box-sizing: border-box; }
}

/* Premium plan decision page. */
.info-reference.premium-reference #wrap { max-width: 1180px; padding-top: 64px; }
.premium-reference .info-hero { max-width: 780px; }
.premium-reference .info-hero h1 { max-width: 720px; font-size: clamp(38px, 4vw, 54px); letter-spacing: -.045em; }
.premium-reference .info-hero > div { margin-top: 18px; font-size: 17px; }
.premium-reference .premium-plan-grid { margin-top: 44px; gap: 18px; align-items: stretch; }
.premium-reference .premium-plan-card { min-height: 570px; padding: 30px; border-radius: 24px; }
.premium-reference .premium-plan-card.is-recommended { transform: translateY(-6px); }
.premium-reference .premium-plan-card header h2 { font-size: 28px; }
.premium-reference .premium-plan-card header strong { font-size: 17px; }
.premium-reference .premium-plan-audience { margin-top: 28px; color: #147966; font-size: 12px; font-weight: 800; }
.premium-reference .premium-plan-card > p { min-height: 5.1em; margin-top: 9px; }
.premium-reference .premium-plan-limits { margin-top: 18px; }
.premium-reference .premium-plan-card ul { margin-bottom: 28px; }
.premium-reference .premium-plan-card > a { min-height: 50px; }
.premium-reference .premium-terms { margin-top: 16px; }
.premium-reference .premium-comparison { margin-top: 96px; }
.premium-reference .premium-comparison > header p { color: #147966; font-size: 13px; font-weight: 800; }
.premium-reference .premium-comparison > header h2 { max-width: 720px; margin-top: 10px; font-size: 34px; line-height: 1.3; letter-spacing: -.035em; }
.premium-reference .premium-comparison > header span { max-width: 700px; margin-top: 14px; display: block; color: #69706c; font-size: 14px; line-height: 1.7; }
.premium-reference .premium-comparison__scroll { margin-top: 32px; overflow-x: auto; border: 1px solid #e0e5e2; border-radius: 20px; background: #fff; }
.premium-reference .premium-comparison table { width: 100%; min-width: 680px; border-collapse: collapse; }
.premium-reference .premium-comparison th,
.premium-reference .premium-comparison td { padding: 18px 22px; border-bottom: 1px solid #e8ecea; color: #4f5652; font-size: 14px; text-align: center; }
.premium-reference .premium-comparison th:first-child { width: 40%; color: #262b29; text-align: left; }
.premium-reference .premium-comparison thead th { background: #f4f7f5; color: #1d2421; font-size: 13px; font-weight: 800; }
.premium-reference .premium-comparison tbody tr:last-child th,
.premium-reference .premium-comparison tbody tr:last-child td { border-bottom: 0; }
.premium-reference .info-cta { margin-top: 96px; }

@media (max-width: 920px) {
    .premium-reference .premium-plan-grid { grid-template-columns: 1fr; }
    .premium-reference .premium-plan-card { min-height: 0; }
    .premium-reference .premium-plan-card.is-recommended { transform: none; }
    .premium-reference .premium-plan-card > p { min-height: 0; }
}

@media (max-width: 760px) {
    .info-reference.premium-reference #wrap { padding-top: 46px; }
    .premium-reference .info-hero h1 { font-size: 34px; }
    .premium-reference .premium-plan-card { padding: 25px 22px; }
    .premium-reference .premium-terms { padding: 18px; }
    .premium-reference .premium-comparison { margin-top: 72px; }
    .premium-reference .premium-comparison > header h2 { font-size: 28px; }
    .premium-reference .premium-comparison th,
    .premium-reference .premium-comparison td { padding: 16px 18px; }
    .forum-reference .section_category article { grid-template-columns: 1fr; gap: 12px; }
    .forum-reference .section_category .category_write_btn { width: 100%; box-sizing: border-box; }
}
