.qr-blog-shell { max-width:1120px;margin:2rem auto 4rem; }
.qr-blog-heading { max-width:800px;margin:2.5rem 0; }
.qr-blog-heading h1 { font-size:clamp(2rem,4vw,3rem);font-weight:750;letter-spacing:-.045em;color:#24233e; }
.qr-blog-heading p { font-size:1.05rem;line-height:1.7;color:#676078; }
.qr-blog-card-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem; }
.qr-blog-card { display:flex;flex-direction:column;align-items:flex-start;padding:1.6rem;border:1px solid #e4e0ef;background:white;border-radius:16px; }
.qr-blog-card h2 { font-size:1.2rem;line-height:1.4;font-weight:650;margin:1rem 0 .7rem; }
.qr-blog-card h2 a { color:#3c354e;text-decoration:none; }
.qr-blog-card p { color:#696176;line-height:1.7; }
.qr-guide-link { margin-top:auto;font-weight:650;font-size:.9rem; }
.qr-blog-breadcrumb { font-size:.85rem;color:#73687f;margin-bottom:1.5rem; }
.qr-article-layout { display:grid;grid-template-columns:minmax(0,760px) minmax(200px,280px);gap:3rem;align-items:start; }
.blog-content { min-width:0;color:#443d51;font-size:1rem;line-height:1.85; }
.blog-content h1 { font-size:clamp(1.9rem,3.5vw,2.65rem);line-height:1.2;letter-spacing:-.04em;color:#24233e;font-weight:750;margin:0 0 1rem; }
.blog-content .blog-lead { color:#665d75;font-size:1.1rem;line-height:1.75; }
.blog-meta { color:#73677f;font-size:.8rem;line-height:1.5; }
.blog-content h2 { font-size:1.35rem;font-weight:700;line-height:1.4;letter-spacing:-.025em;color:#342c46;margin:2rem 0 .8rem;scroll-margin-top:1rem; }
.blog-content h3 { font-size:1.1rem;line-height:1.5; }
.blog-content p { margin-bottom:1.2rem; }
.blog-content li { margin-bottom:.65rem; }
.blog-content pre { background:#eeebf6;border:1px solid #ded7ec;border-radius:10px;padding:1rem;overflow:auto;font-size:.85rem; }
.blog-content code { color:#584286;overflow-wrap:anywhere; }
.qr-table-scroll { max-width:100%;overflow-x:auto;margin:1.5rem 0;border:1px solid #ddd6e9;border-radius:10px;background:white; }
.blog-content table { border:0;border-collapse:collapse;min-width:540px;width:100%;font-size:.9rem;line-height:1.6;margin:0; }
.blog-content caption { caption-side:top;padding:.9rem 1rem;color:#5c506e;font-weight:650; }
.blog-content th,.blog-content td { border:1px solid #e7e2ef;padding:.85rem;vertical-align:top; }
.blog-content thead th { background:#f2eef9; }
.qr-article-sidebar { position:sticky;top:1.5rem;border:1px solid #e4dfee;border-radius:14px;padding:1.25rem;background:#fff;font-size:.85rem;line-height:1.7; }
.qr-article-sidebar h2 { font-size:.9rem;font-weight:700; }
.qr-article-sidebar ol { padding-left:1.2rem; }
.qr-article-sidebar li { margin-bottom:.6rem; }
.qr-article-sidebar a { text-decoration:none; }
.qr-blog-cta { display:block;text-align:center;text-decoration:none!important;margin:1.25rem 0;color:#fff!important;font-size:.85rem; }
.qr-mobile-contents { display:none; }
.qr-policy-page { max-width:800px;margin:2rem auto 4rem; }
.qr-privacy-banner { position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:1100px;margin:auto;z-index:1000;display:flex;gap:1.5rem;align-items:center;padding:1rem 1.2rem;border:1px solid #c8bddf;border-radius:14px;background:#fff;box-shadow:0 8px 40px #30244429;color:#40354e; }
.qr-privacy-banner[hidden] { display:none; }
.qr-privacy-banner p { font-size:.85rem;line-height:1.6;margin:.3rem 0 0; }
.qr-privacy-actions { display:flex;gap:.6rem;flex:none; }
.qr-privacy-actions button { min-height:44px;border:1px solid #bfb0d6;color:#4d3a69;background:#f5f1fb; }
.qr-footer-button { border:0;background:transparent;color:#42384e;padding:.5rem 1rem;min-height:12px;font:inherit; }
@media(max-width:800px) {
    .qr-blog-card-grid,.qr-article-layout { grid-template-columns:1fr;gap:1rem; }
    .qr-blog-card { padding:1.2rem; }
    .qr-article-sidebar { position:static; }
    .qr-article-sidebar>nav,.qr-reading-time { display:none; }
    .qr-mobile-contents { display:block;background:white;border:1px solid #e4dfee;border-radius:10px;padding:1rem;margin-bottom:1.5rem; }
    .qr-mobile-contents summary { font-weight:650;cursor:pointer; }
    .qr-mobile-contents li { margin:.6rem 0; }
    .qr-privacy-banner { display:block;max-height:50vh;overflow:auto; }
    .qr-privacy-actions { margin-top:.75rem;flex-wrap:wrap; }
    .blog-content { font-size:1rem; }
}
@media print { .qr-privacy-banner,.qr-article-sidebar,.qr-mobile-contents { display:none!important; } }
.blog-content a { color:#5744bd;text-underline-offset:3px; }
.blog-content a:hover { color:#3e2d99; }
