@font-face { font-display: swap; font-family: SUIT; font-style: normal; font-weight: 400; src: url('https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/static/woff2/SUIT-Regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: SUIT; font-style: normal; font-weight: 600; src: url('https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/static/woff2/SUIT-SemiBold.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: SUIT; font-style: normal; font-weight: 700; src: url('https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/static/woff2/SUIT-Bold.woff2') format('woff2'); }
.public-page, .public-page button, .public-page input, .public-page textarea, .public-page select { font-family: SUIT, "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.public-page h1, .public-page h2, .public-page h3, .public-page .public-brand, .public-page .public-category-nav a { font-family: SUIT, "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.public-page .hero-copy h1 { font-weight: 400; }
.public-page .hero-copy h1 strong { font-weight: 700; }
.public-page .section-kicker, .public-page .hero-copy p, .public-page .public-meta { font-family: SUIT, ui-monospace, monospace; }
.public-page main { margin: 0; max-width: none; padding: 0; }
.public-header nav a[href="/admin"] { display: none; }
.public-header { gap: 42px; padding-bottom: 28px; padding-top: 28px; }
.public-brand { flex: 0 0 auto; font-size: 1.12rem; }
.public-category-nav { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 30px; justify-content: flex-end; }
.public-category-nav a { border-bottom: 2px solid transparent; font-size: 1.16rem; font-weight: 680; padding: 10px 0 8px; transition: border-color .2s ease, color .2s ease; }
.nav-category-item { position: relative; }
.nav-category-trigger { display: block; }
.nav-category-dropdown { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; box-shadow: 0 18px 36px #17243c1c; display: grid; gap: 2px; left: 50%; min-width: 190px; opacity: 0; padding: 10px; pointer-events: none; position: absolute; top: calc(100% + 8px); transform: translate(-50%, -6px); transition: opacity .18s ease, transform .18s ease; z-index: 10; }
.nav-category-dropdown::before { content: ''; height: 10px; left: 0; position: absolute; right: 0; top: -10px; }
.nav-category-dropdown a { border: 0; color: #536175; display: block; font-size: .95rem; font-weight: 600; padding: 10px 12px; text-align: center; white-space: nowrap; }
.nav-category-dropdown a:hover, .nav-category-dropdown a.active { background: #f4ece4; border: 0; border-radius: 6px; color: #513a28; }
.nav-category-item:hover .nav-category-dropdown, .nav-category-item:focus-within .nav-category-dropdown { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.public-category-nav a:hover,
.public-category-nav a.active { border-bottom-color: #9c6b3e; color: #513a28; }
.public-header .public-category-nav > a,
.public-header .public-category-nav .nav-category-trigger { font-size: 1.1rem; font-weight: 720; }
.public-header .public-category-nav > a:hover,
.public-header .public-category-nav > a.active,
.public-header .public-category-nav .nav-category-trigger:hover,
.public-header .public-category-nav .nav-category-trigger.active { border-bottom-color: transparent; }
.public-hero { height: min(28vw, 360px); min-height: 260px; width: 100%; }
.public-page .blog-layout { display: block; max-width: 1200px; padding-top: 56px; }
.public-page .post-area { min-width: 0; width: 100%; }
.public-page:not(.public-detail-page) .public-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-detail-page .blog-layout { max-width: 960px; }
.public-meta > span {
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -.01em;
}
.public-page:not(.public-detail-page) .hero-copy h1,
.public-page:not(.public-detail-page) .hero-copy > span {
    animation: hero-copy-rise .75s cubic-bezier(.22, 1, .36, 1) both;
    opacity: 0;
    transform: translateY(32px);
}
.landing-hero { height: calc(100vh - 113px); min-height: 620px; }
.landing-hero .hero-copy { left: max(7vw, calc((100vw - 1200px) / 2)); text-align: left; top: 50%; transform: translateY(-50%); width: min(680px, 72vw); }
.landing-hero .landing-actions { justify-content: flex-start; }
.landing-actions { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
.landing-actions a { border-radius: 999px; font-size: .86rem; font-weight: 750; padding: 13px 22px; text-decoration: none; }
.landing-primary { background: #f3d5a0; color: #2d2014; }
.landing-secondary { border: 1px solid #ffffff66; color: #fff; }
.landing-intro, .landing-topics, .landing-latest { margin: 0 auto; max-width: 1080px; padding: 100px 26px; }
.landing-intro { display: grid; gap: 80px; grid-template-columns: 1fr 1fr; }
.landing-intro h2, .landing-section-heading h2 { color: #172134; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.07em; line-height: 1.18; margin: 0; }
.landing-intro h2 strong { color: #8b5e34; font-weight: 760; }
.landing-intro-copy { align-self: end; color: #647388; font-size: 1rem; line-height: 1.95; }
.landing-intro-copy p { margin: 0 0 18px; }
.landing-about { background: #f7f4ef; padding: 110px max(26px, calc((100vw - 1080px) / 2)); }
.landing-about-heading { margin-bottom: 48px; }
.landing-about-heading h2 { color: #172134; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.07em; line-height: 1.18; margin: 0; }
.landing-about-heading h2 strong { color: #8b5e34; font-weight: 760; }
.landing-about-grid { border-top: 1px solid #ded8cf; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.landing-about-grid article { border-bottom: 1px solid #ded8cf; min-height: 210px; padding: 28px 34px 30px 0; }
.landing-about-grid article:nth-child(odd) { border-right: 1px solid #ded8cf; padding-right: 50px; }
.landing-about-grid article:nth-child(even) { padding-left: 50px; }
.about-index { color: #ad8055; font-family: ui-monospace, monospace; font-size: .72rem; }
.landing-about-grid h3 { color: #263448; font-size: 1.25rem; letter-spacing: -.045em; margin: 20px 0 12px; }
.landing-about-grid p { color: #68778a; font-size: .95rem; line-height: 1.9; margin: 0; }
.landing-story { min-height: 430px; display: flex; align-items: center; }
.landing-story-inner { margin: 0 auto; max-width: 1080px; padding: 92px 26px; width: 100%; }
.landing-story .about-index { display: block; margin-top: 26px; }
.landing-story h2 { color: #172134; font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.075em; line-height: 1.15; margin: 15px 0 25px; max-width: 780px; }
.landing-story-copy { color: #536477; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.95; margin: 0; max-width: 760px; }
.landing-story-lead { color: #172134; font-size: clamp(1.8rem, 4vw, 3.25rem); font-weight: 650; letter-spacing: -.07em; line-height: 1.35; max-width: 820px; }
.landing-story-intro { background: #f7f4ef; }
.landing-story-purpose { background: #172134; }
.landing-story-purpose h2, .landing-story-purpose .landing-story-copy { color: #f7f3ec; }
.landing-story-purpose .section-kicker { color: #d8b77f; }
.landing-story-content { background: #eef3f7; }
.landing-content-list { border-top: 1px solid #cbd6df; margin-top: 34px; max-width: 760px; }
.landing-content-list p { border-bottom: 1px solid #cbd6df; color: #354960; font-size: 1.05rem; margin: 0; padding: 18px 0; }
.landing-content-list p::before { color: #b17a4b; content: '✦'; display: inline-block; margin-right: 12px; }
.landing-story-author { background: #fff; border-bottom: 1px solid #e1e7ee; }
.landing-story-author .landing-story-copy { color: #314258; }
.landing-topics { background: #f3f6f9; max-width: none; padding-left: max(26px, calc((100vw - 1080px) / 2)); padding-right: max(26px, calc((100vw - 1080px) / 2)); }
.landing-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 34px; }
.landing-section-heading a { color: #7d5737; font-size: .82rem; font-weight: 720; text-decoration: none; }
.landing-topic-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.landing-topic-card { background: #fff; border: 1px solid #e1e7ed; border-radius: 10px; color: #1e2c3f; display: grid; min-height: 150px; padding: 22px; position: relative; text-decoration: none; transition: border-color .2s, transform .2s; }
.landing-topic-card:hover { border-color: #b98d61; transform: translateY(-4px); }
.topic-number { color: #b98d61; font-family: ui-monospace, monospace; font-size: .72rem; }
.landing-topic-card strong { align-self: center; font-size: 1.2rem; letter-spacing: -.04em; }
.landing-topic-card small { color: #8a98a7; font-size: .78rem; }
.topic-arrow { color: #b98d61; font-size: 1.2rem; position: absolute; right: 20px; top: 20px; }
.landing-latest { padding-bottom: 120px; }
.landing-latest .public-card-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 760px) {
    .landing-hero { height: calc(100vh - 112px); min-height: 540px; }
    .landing-hero .hero-copy { left: 28px; width: calc(100% - 56px); }
    .landing-intro { gap: 28px; grid-template-columns: 1fr; padding-bottom: 70px; padding-top: 70px; }
    .landing-about { padding-bottom: 76px; padding-top: 76px; }
    .landing-story { min-height: 0; }
    .landing-story-inner { padding-bottom: 76px; padding-top: 76px; }
    .landing-about-grid { grid-template-columns: 1fr; }
    .landing-about-grid article, .landing-about-grid article:nth-child(odd), .landing-about-grid article:nth-child(even) { border-right: 0; padding: 28px 0 30px; }
    .landing-topics, .landing-latest { padding-bottom: 76px; padding-top: 76px; }
    .landing-topic-grid, .landing-latest .public-card-grid { grid-template-columns: 1fr; }
    .landing-section-heading { align-items: start; flex-direction: column; gap: 18px; }
}
.public-page:not(.public-detail-page) .hero-copy h1 { animation-delay: .12s; }
.public-page:not(.public-detail-page) .hero-copy > span { animation-delay: .34s; }
@keyframes hero-copy-rise {
    from { opacity: 0; transform: translateY(32px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .public-page:not(.public-detail-page) .hero-copy h1,
    .public-page:not(.public-detail-page) .hero-copy > span { animation: none; opacity: 1; transform: none; }
}
@media (max-width: 980px) {
    .public-page:not(.public-detail-page) .public-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .public-header { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px; }
    .public-category-nav { flex-wrap: nowrap; justify-content: flex-start; max-width: 100%; overflow-x: auto; padding-bottom: 2px; width: 100%; }
    .public-category-nav a { flex: 0 0 auto; font-size: 1.12rem; }
    .public-header .public-category-nav > a,
    .public-header .public-category-nav .nav-category-trigger { font-size: 1rem; }
    .nav-category-dropdown { display: none; }
    .public-hero { height: 290px; min-height: 0; }
    .public-page .blog-layout { padding-top: 38px; }
    .public-page:not(.public-detail-page) .public-card-grid { grid-template-columns: 1fr; }
}
