.blog-page,
.article-page { background: #fff; }

.blog-hero {
    background: #fff9f5;
    overflow: hidden;
    padding: 82px 0 76px;
    position: relative;
}
.blog-hero::before {
    background-image: radial-gradient(rgba(253, 93, 0, .16) 1.2px, transparent 1.2px);
    background-size: 22px 22px;
    content: '';
    height: 220px;
    left: -40px;
    opacity: .45;
    position: absolute;
    top: 25px;
    width: 260px;
}
.blog-hero-grid { align-items: center; display: grid; gap: 80px; grid-template-columns: 1.15fr .85fr; }
.blog-hero-copy { max-width: 690px; position: relative; z-index: 2; }
.blog-kicker {
    align-items: center;
    background: #fff;
    border: 1px solid #ffdcca;
    border-radius: 99px;
    color: var(--primary);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: .03em;
    margin-bottom: 22px;
    padding: 8px 15px;
}
.blog-hero h1 { font-size: clamp(42px, 5.2vw, 70px); letter-spacing: -.045em; line-height: 1.04; margin: 0 0 22px; }
.blog-hero h1 span { color: var(--primary); }
.blog-hero-copy > p { color: var(--text-light); font-size: 19px; line-height: 1.65; margin-bottom: 30px; max-width: 620px; }
.blog-hero-art { aspect-ratio: 1; margin: 0 auto; max-width: 390px; position: relative; width: 100%; }
.blog-hero-art::before { background: linear-gradient(145deg, #ff7a2d, #fd5d00); border-radius: 35% 65% 62% 38% / 43% 36% 64% 57%; content: ''; inset: 45px; position: absolute; transform: rotate(-8deg); z-index: 0; }
.blog-orbit { border: 1px dashed rgba(253, 93, 0, .28); border-radius: 50%; position: absolute; }
.blog-orbit-one { inset: 14px; }
.blog-orbit-two { inset: -20px; }
.blog-hero-icon { align-items: center; color: #fff; display: flex; font-size: 92px; inset: 0; justify-content: center; position: absolute; transform: rotate(-5deg); z-index: 1; }
.blog-float { align-items: center; background: #fff; border: 1px solid #f0e2da; border-radius: 14px; box-shadow: 0 14px 34px rgba(84, 46, 20, .13); display: flex; font-size: 14px; font-weight: 700; gap: 9px; padding: 12px 16px; position: absolute; z-index: 2; }
.blog-float i { color: var(--primary); }
.blog-float-one { left: -25px; top: 82px; }
.blog-float-two { bottom: 70px; right: -20px; }

.blog-categories { background: #fff; border-bottom: 1px solid var(--border); border-top: 1px solid var(--border); position: sticky; scroll-margin-top: var(--header-height); top: var(--header-height); z-index: 50; }
.blog-category-scroll { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 15px; padding-top: 15px; scrollbar-width: none; }
.blog-category-scroll::-webkit-scrollbar { display: none; }
.blog-category-chip { align-items: center; border: 1px solid var(--border); border-radius: 99px; color: var(--text-light); display: inline-flex; flex: 0 0 auto; font-size: 14px; font-weight: 600; gap: 7px; padding: 9px 15px; text-decoration: none; transition: .2s ease; }
.blog-category-chip small { align-items: center; background: #f4f4f4; border-radius: 50%; display: flex; font-size: 10px; height: 21px; justify-content: center; width: 21px; }
.blog-category-chip:hover { border-color: #ffc29e; color: var(--primary); }
.blog-category-chip.is-active { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 7px 18px rgba(253, 93, 0, .2); }
.blog-category-chip.is-active small { background: rgba(255,255,255,.2); color: #fff; }

.blog-spotlight { display: grid; grid-template-columns: .8fr 1.2fr; margin-bottom: 34px; margin-top: 70px; min-height: 390px; }
.blog-spotlight-visual { align-items: center; border-radius: 28px 0 0 28px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; position: relative; }
.blog-spotlight-visual::after { border: 50px solid rgba(255,255,255,.13); border-radius: 50%; content: ''; height: 270px; position: absolute; right: -90px; top: -90px; width: 270px; }
.blog-spotlight-visual > span { align-items: center; background: rgba(255,255,255,.92); border-radius: 28px; box-shadow: 0 16px 35px rgba(50, 28, 12, .12); color: var(--primary); display: flex; font-size: 58px; height: 128px; justify-content: center; transform: rotate(-4deg); width: 128px; }
.blog-spotlight-visual small { color: rgba(255,255,255,.9); font-size: 12px; font-weight: 800; letter-spacing: .14em; margin-top: 25px; text-transform: uppercase; }
.blog-spotlight-copy { background: #fff; border: 1px solid var(--border); border-left: 0; border-radius: 0 28px 28px 0; display: flex; flex-direction: column; justify-content: center; padding: 48px 56px; }
.blog-label { background: var(--primary-light); border-radius: 99px; color: var(--primary); display: inline-flex; font-size: 11px; font-weight: 800; letter-spacing: .08em; padding: 6px 11px; text-transform: uppercase; width: fit-content; }
.blog-spotlight-copy h2 { font-size: clamp(28px, 3vw, 42px); letter-spacing: -.025em; line-height: 1.15; margin: 17px 0 14px; }
.blog-spotlight-copy > p { color: var(--text-light); font-size: 16px; line-height: 1.65; margin-bottom: 19px; }
.blog-meta { color: var(--text-muted); display: flex; flex-wrap: wrap; font-size: 13px; gap: 18px; }
.blog-meta i { color: var(--primary); margin-right: 4px; }
.blog-read-link { align-items: center; color: var(--primary); display: inline-flex; font-size: 14px; font-weight: 800; gap: 9px; margin-top: 22px; text-decoration: none; width: fit-content; }
.blog-read-link i { transition: transform .2s ease; }
.blog-read-link:hover i { transform: translateX(5px); }

.blog-tone-0 { background: linear-gradient(135deg, #ffb07e, #fd5d00); }
.blog-tone-1 { background: linear-gradient(135deg, #ffcc80, #f28b1b); }
.blog-tone-2 { background: linear-gradient(135deg, #76d7c4, #20a486); }
.blog-tone-3 { background: linear-gradient(135deg, #88b9f6, #3d79d0); }
.blog-tone-4 { background: linear-gradient(135deg, #b7a0ed, #7854c6); }
.blog-tone-5 { background: linear-gradient(135deg, #f294b3, #ce4b79); }

.blog-listing { background: #fbfbfb; padding: 72px 0 88px; }
.blog-section-head { align-items: end; display: flex; justify-content: space-between; margin-bottom: 31px; }
.blog-section-head > div > span { color: var(--primary); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.blog-section-head h2 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.025em; line-height: 1.2; margin-top: 5px; }
.blog-section-head > p { color: var(--text-muted); font-size: 14px; }
.blog-grid { display: grid; gap: 25px; grid-template-columns: repeat(3, 1fr); }
.blog-card { background: #fff; border: 1px solid var(--border); border-radius: 19px; box-shadow: 0 6px 20px rgba(35, 24, 17, .035); display: flex; flex-direction: column; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.blog-card:hover { box-shadow: 0 18px 42px rgba(71, 39, 17, .1); transform: translateY(-6px); }
.blog-card-visual { align-items: center; color: #fff; display: flex; flex: 0 0 180px; font-size: 46px; justify-content: center; overflow: hidden; position: relative; text-decoration: none; }
.blog-card-visual::after { border: 32px solid rgba(255,255,255,.12); border-radius: 50%; content: ''; height: 180px; position: absolute; right: -55px; top: -70px; width: 180px; }
.blog-card-visual > span { background: rgba(255,255,255,.92); border-radius: 99px; bottom: 14px; color: #52311d; font-size: 10px; font-weight: 800; left: 15px; letter-spacing: .08em; padding: 6px 10px; position: absolute; text-transform: uppercase; }
.blog-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.blog-card-body h3 { font-size: 20px; line-height: 1.3; margin: 13px 0 10px; }
.blog-card-body h3 a { color: var(--text); text-decoration: none; }
.blog-card-body h3 a:hover { color: var(--primary); }
.blog-card-body > p { color: var(--text-light); font-size: 14px; line-height: 1.58; }
.blog-card-body .blog-read-link { margin-top: auto; padding-top: 18px; }
.blog-empty { background: #fff; border: 1px dashed #d9d9d9; border-radius: 22px; padding: 65px 20px; text-align: center; }
.blog-empty > i { color: #d2d2d2; font-size: 50px; }
.blog-empty h2 { font-size: 25px; margin: 15px 0 6px; }
.blog-empty p { color: var(--text-muted); margin-bottom: 22px; }

.blog-newsletter { background: #29231f; color: #fff; padding: 50px 0; }
.blog-newsletter .container, .blog-newsletter .container > div { align-items: center; display: flex; }
.blog-newsletter .container { gap: 30px; justify-content: space-between; }
.blog-newsletter .container > div { gap: 20px; }
.blog-newsletter .container > div > span { align-items: center; background: var(--primary); border-radius: 16px; display: flex; flex: 0 0 58px; font-size: 23px; height: 58px; justify-content: center; }
.blog-newsletter h2 { font-size: 24px; line-height: 1.25; }
.blog-newsletter p { color: #c6bfbb; margin-top: 3px; }
.blog-newsletter .btn-light { background: #fff; border-color: #fff; color: var(--text); flex: 0 0 auto; }

.article-header { background: linear-gradient(150deg, #fff9f5, #fff); border-bottom: 1px solid var(--border); padding: 52px 0 58px; }
.article-header-inner { max-width: 900px; }
.article-breadcrumb { align-items: center; color: var(--text-muted); display: flex; font-size: 13px; gap: 9px; margin-bottom: 31px; }
.article-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.article-breadcrumb a:hover { color: var(--primary); }
.article-breadcrumb i { font-size: 9px; }
.article-header h1 { font-size: clamp(37px, 5vw, 58px); letter-spacing: -.04em; line-height: 1.08; margin: 18px 0 23px; max-width: 850px; }
.article-meta { font-size: 14px; }
.article-layout { display: grid; gap: 42px; grid-template-columns: 100px minmax(0, 760px); justify-content: center; padding-bottom: 85px; padding-top: 62px; }
.article-share { align-items: center; display: flex; flex-direction: column; gap: 10px; position: sticky; top: 120px; height: fit-content; }
.article-share > span { color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; margin-bottom: 3px; text-transform: uppercase; }
.article-share a { align-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--text-light); display: flex; height: 40px; justify-content: center; text-decoration: none; transition: .2s ease; width: 40px; }
.article-share a:hover { background: var(--primary); border-color: var(--primary); color: #fff; transform: translateY(-2px); }
.article-content { color: #3f3b38; font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 1.85; }
.article-content > p:first-child { color: #28231f; font-size: 22px; line-height: 1.7; }
.article-content h2 { color: var(--text); font-family: Jost, sans-serif; font-size: 30px; letter-spacing: -.025em; line-height: 1.25; margin: 43px 0 13px; }
.article-content p { margin-bottom: 20px; }
.article-content ul, .article-content ol { margin: 8px 0 25px 25px; }
.article-content li { margin-bottom: 9px; padding-left: 5px; }
.article-content strong { color: #2b2724; }
.article-content blockquote { background: #fff8f3; border-left: 4px solid var(--primary); border-radius: 0 14px 14px 0; font-style: italic; margin: 27px 0; padding: 23px 28px 3px; }
.article-end { align-items: center; background: #fff8f3; border-radius: 18px; display: grid; font-family: Jost, sans-serif; gap: 16px; grid-template-columns: 48px 1fr auto; margin-top: 55px; padding: 22px; }
.article-end > span { align-items: center; background: var(--primary); border-radius: 50%; color: #fff; display: flex; height: 48px; justify-content: center; width: 48px; }
.article-end p { font-size: 14px; line-height: 1.5; margin: 0; }
.article-related { background: #fafafa; border-top: 1px solid var(--border); padding: 72px 0 84px; }
.article-related-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.article-related-grid article { background: #fff; border: 1px solid var(--border); border-radius: 17px; padding: 25px; }
.article-related-grid h3 { font-size: 19px; line-height: 1.35; margin: 14px 0 9px; }
.article-related-grid h3 a { color: var(--text); text-decoration: none; }
.article-related-grid p { color: var(--text-light); font-size: 13px; line-height: 1.55; }
.article-not-found { padding: 110px 20px 130px; text-align: center; }
.article-not-found > span { align-items: center; background: var(--primary-light); border-radius: 50%; color: var(--primary); display: flex; font-size: 38px; height: 92px; justify-content: center; margin: 0 auto 22px; width: 92px; }
.article-not-found h1 { font-size: 36px; }
.article-not-found p { color: var(--text-muted); margin: 8px 0 25px; }

@media (max-width: 1024px) {
    .blog-hero-grid { gap: 35px; grid-template-columns: 1.2fr .8fr; }
    .blog-hero-art { max-width: 310px; }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .blog-spotlight-copy { padding: 38px; }
}
@media (max-width: 760px) {
    .blog-hero { padding: 58px 0 45px; }
    .blog-hero-grid { grid-template-columns: 1fr; }
    .blog-hero-art { display: none; }
    .blog-hero-copy > p { font-size: 16px; }
    .blog-categories { top: 0; }
    .blog-spotlight { grid-template-columns: 1fr; margin-top: 40px; }
    .blog-spotlight-visual { border-radius: 22px 22px 0 0; min-height: 240px; }
    .blog-spotlight-copy { border-left: 1px solid var(--border); border-radius: 0 0 22px 22px; padding: 28px 25px 32px; }
    .blog-listing { padding: 55px 0 65px; }
    .blog-section-head { align-items: start; flex-direction: column; gap: 7px; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-newsletter .container { align-items: flex-start; flex-direction: column; }
    .article-header { padding: 38px 0 42px; }
    .article-layout { display: block; padding-top: 40px; }
    .article-share { flex-direction: row; justify-content: flex-start; margin-bottom: 25px; position: static; }
    .article-share > span { margin: 0 6px 0 0; }
    .article-content { font-size: 17px; }
    .article-content > p:first-child { font-size: 20px; }
    .article-end { grid-template-columns: 44px 1fr; }
    .article-end .btn { grid-column: 1 / -1; text-align: center; }
    .article-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .blog-hero h1 { font-size: 41px; }
    .blog-spotlight { padding-left: 16px; padding-right: 16px; }
    .blog-card-visual { flex-basis: 160px; }
    .blog-newsletter .container > div { align-items: flex-start; }
    .article-header h1 { font-size: 35px; }
    .article-layout { padding-left: 20px; padding-right: 20px; }
}
