:root { --journal-navy:#102b4c; --journal-blue:#305c7b; --journal-orange:#e66d27; --journal-paper:#f4f6f7; --journal-line:#d9e0e5; }

.home-journal { padding:64px 0 70px; background:#f3f5f5; }
.home-journal__head { margin-bottom:28px; display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.home-journal__head h2 { margin:0; color:var(--journal-navy); font:700 clamp(28px,3vw,42px)/1.25 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.04em; }
.home-journal__head p { margin:8px 0 0; color:#5c6b77; font-size:14px; }
.home-journal__head > a { flex:none; padding-bottom:5px; color:var(--journal-navy); font-weight:800; border-bottom:1px solid #96a5af; }
.home-journal__head > a span { margin-left:8px; color:var(--journal-orange); }

.journal-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.journal-card { min-width:0; height:100%; display:flex; flex-direction:column; overflow:hidden; color:#243849; background:#fff; border:1px solid #dde3e7; border-radius:8px; box-shadow:0 12px 30px rgba(11,35,58,.08); transition:transform .2s ease,box-shadow .2s ease; }
.journal-card:hover { transform:translateY(-3px); box-shadow:0 17px 36px rgba(11,35,58,.14); }
.journal-card__image-link { display:block; }
.journal-card__image { margin:0; aspect-ratio:16/10; overflow:hidden; background:#dde4e8; }
.journal-card__image img { width:100%; height:100%; display:block; object-fit:cover; }
.journal-card__body { min-height:230px; padding:20px 21px 19px; display:flex; flex:1; flex-direction:column; }
.journal-card__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.journal-card__meta span { padding:4px 9px; color:var(--journal-navy); background:#e8eff4; font-size:11px; font-weight:800; border-radius:2px; }
.journal-card__meta time { color:#71808b; font-size:11px; }
.journal-card h3 { min-height:4.65em; margin:14px 0 8px; overflow:hidden; color:var(--journal-navy); font:700 19px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.journal-card__title-link { color:inherit; }
.journal-card p { margin:0 0 18px; overflow:hidden; color:#60707c; font-size:13px; line-height:1.75; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.journal-card__read-link { margin-top:auto; align-self:flex-start; color:var(--journal-navy); font-size:12px; font-weight:800; }
.journal-card__read-link span { margin-left:6px; color:var(--journal-orange); }
.journal-card__title-link:hover,.journal-card__title-link:focus-visible,.journal-card__read-link:hover,.journal-card__read-link:focus-visible { color:var(--journal-blue); text-decoration:underline; text-underline-offset:3px; }

.journal-page { color:#253746; background:#fff; }
.journal-page .site-header { position:sticky; top:0; }
.journal-page .journal-shell { width:min(calc(100% - 48px),1120px); margin-inline:auto; }
.journal-page .journal-breadcrumbs { padding:18px 0; color:#75828d; font-size:12px; }
.journal-page .journal-breadcrumbs a { color:var(--journal-blue); }
.journal-page .journal-breadcrumbs span { margin:0 8px; }
.journal-list-hero { padding:58px 0 46px; background:linear-gradient(135deg,#eef3f5,#faf9f5); border-bottom:1px solid var(--journal-line); }
.journal-list-hero h1 { margin:0; color:var(--journal-navy); font:700 clamp(34px,5vw,54px)/1.2 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.05em; }
.journal-list-hero p { margin:14px 0 0; color:#5d6d79; }
.journal-list-main { padding:46px 0 80px; }
.journal-filters { margin-bottom:34px; display:flex; flex-wrap:wrap; gap:10px; }
.journal-filters button { min-height:42px; padding:8px 17px; color:var(--journal-navy); background:#fff; border:1px solid #cbd5db; border-radius:99px; font:700 13px/1.2 inherit; cursor:pointer; }
.journal-filters button:hover,.journal-filters button.is-active { color:#fff; background:var(--journal-navy); border-color:var(--journal-navy); }
.journal-list-empty { grid-column:1/-1; margin:0; padding:46px 20px; text-align:center; background:#f5f7f8; border-radius:8px; }
.journal-pagination { margin-top:36px; display:flex; justify-content:center; gap:8px; }
.journal-pagination a { width:42px; height:42px; display:grid; place-items:center; color:var(--journal-navy); border:1px solid #cad4db; border-radius:50%; }
.journal-pagination a.is-current { color:#fff; background:var(--journal-navy); }

.journal-article-hero { padding-bottom:42px; background:#f0f3f4; }
.journal-article-hero__images { width:min(calc(100% - 48px),840px); margin:0 auto; }
.journal-article-hero__images figure { margin:0; min-width:0; }
.journal-article-hero__images img { width:100%; height:auto; display:block; object-fit:contain; border-radius:7px; }
.journal-article-hero__images figcaption { padding:8px 2px 0; color:#65737d; font-size:10px; }
.journal-article-hero__title { width:min(calc(100% - 48px),900px); margin:0 auto; padding:42px 0 30px; text-align:center; }
.journal-article-hero__title .journal-category { display:inline-block; padding:5px 13px; color:var(--journal-navy); background:#dce8ef; font-size:12px; font-weight:800; border-radius:2px; }
.journal-article-hero__title h1 { margin:18px 0 14px; color:var(--journal-navy); font:700 clamp(30px,4.8vw,52px)/1.35 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.035em; }
.journal-article-hero__title p { margin:0; color:#5d6d78; line-height:1.9; }
.journal-article-hero__title time { display:block; margin-top:17px; color:#77848e; font-size:12px; }
.journal-article { width:min(calc(100% - 48px),850px); margin:0 auto; padding:60px 0 76px; }
.journal-rate-page .journal-article { font-size:16px; }
.journal-article .lead { margin:0 0 34px; color:#344a5c; font-size:17px; line-height:2; }
.journal-toc { margin:0 0 54px; padding:24px 28px; background:#f3f6f7; border-left:3px solid var(--journal-navy); }
.journal-toc strong { display:block; margin-bottom:10px; color:var(--journal-navy); }
.journal-toc a { display:block; padding:5px 0; color:#476277; font-size:14px; }
.journal-content-section { margin:0 0 62px; scroll-margin-top:100px; }
.journal-content-section h2 { margin:0 0 22px; padding-bottom:14px; color:var(--journal-navy); font:700 clamp(24px,3vw,32px)/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; border-bottom:1px solid #ccd6dc; }
.journal-content-section h2 span { display:block; margin-bottom:4px; color:var(--journal-orange); font:700 12px/1.2 Arial,sans-serif; letter-spacing:.12em; }
.journal-content-section p { margin:0 0 18px; line-height:2; }
.journal-content-image { width:min(100%,820px); margin:28px auto; }
.journal-content-image img { width:100%; height:auto; display:block; object-fit:contain; border-radius:6px; }
.journal-content-image figcaption { margin-top:8px; color:#71808b; font-size:11px; }
.journal-content-image--infographic { max-width:680px; padding:12px; background:#f4f7f8; border:1px solid #d8e1e5; border-radius:8px; }
.journal-content-image--infographic img { border-radius:4px; }
.journal-rate-explainer { margin:30px 0 0; overflow:hidden; border:1px solid #cbd9e2; border-radius:12px; background:#f4f7f9; }
.journal-rate-explainer > header { padding:26px 28px 22px; color:#fff; background:#173d5b; }
.journal-rate-explainer > header > span,.journal-rate-example__heading > span { display:block; margin-bottom:8px; font-size:12px; font-weight:800; letter-spacing:.12em; }
.journal-rate-explainer h3 { margin:0; color:#fff; font-size:22px; line-height:1.55; }
.journal-rate-explainer > header p { margin:12px 0 0; color:#e8f0f5; font-size:14px; line-height:1.9; }
.journal-rate-flow { margin:0; padding:24px 26px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; }
.journal-rate-flow li { min-width:0; padding:20px 18px; position:relative; background:#fff; border:1px solid #d8e2e8; border-radius:8px; }
.journal-rate-flow li:not(:last-child)::after { content:"›"; position:absolute; top:50%; right:-12px; z-index:1; width:22px; height:22px; display:grid; place-items:center; color:#fff; background:#5c7d94; border-radius:50%; font-size:18px; transform:translateY(-50%); }
.journal-rate-flow b { display:block; margin-bottom:9px; color:#5c7d94; font-size:12px; letter-spacing:.1em; }
.journal-rate-flow strong { display:block; color:#173d5b; font-size:16px; line-height:1.55; }
.journal-rate-flow span { display:block; margin-top:8px; color:#526b7d; font-size:12px; line-height:1.75; }
.journal-rate-explainer__note { margin:0; padding:0 28px 24px; color:#526b7d; font-size:12px; line-height:1.8; }
.journal-rate-example { margin:28px 0; padding:26px 28px; background:#f4f7f9; border-left:4px solid #315f7f; }
.journal-rate-example__heading > span { color:#54758c; }
.journal-rate-example__heading h3 { margin:0; color:#173d5b; font-size:23px; }
.journal-rate-example__heading p { margin:8px 0 0; color:#526b7d; font-size:14px; }
.journal-rate-table-wrap { margin-top:20px; }
.journal-rate-table { width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid #cbd9e2; border-radius:8px; overflow:hidden; }
.journal-rate-table th,.journal-rate-table td { padding:15px 18px; text-align:left; border:0; border-bottom:1px solid #dbe4e9; }
.journal-rate-table th { color:#fff; background:#315f7f; font-size:13px; }
.journal-rate-table td { color:#2f4a5d; font-size:15px; }
.journal-rate-table tbody tr:last-child td { border-bottom:0; }
.journal-rate-table tbody tr:nth-child(even) td { background:#f7f9fa; }
.journal-rate-table td strong { color:#173d5b; font-size:18px; }
.journal-rate-example__caption { margin:14px 0 0; color:#657b8a; font-size:11px; line-height:1.8; }
.journal-note { margin:28px 0; padding:23px 26px; background:#f4f7f8; border-radius:6px; }
.journal-note strong { color:var(--journal-navy); }
.journal-note ul { margin:12px 0 0; padding-left:1.3em; }
.journal-note li + li { margin-top:7px; }
.journal-table-wrap { margin-top:26px; overflow-x:auto; }
.journal-table { width:100%; min-width:580px; border-collapse:collapse; }
.journal-table th,.journal-table td { padding:15px 17px; text-align:left; border:1px solid #d8e0e4; }
.journal-table th { color:#fff; background:var(--journal-navy); }
.journal-table tr:nth-child(even) td { background:#f6f8f8; }
.journal-checks { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.journal-checks article { padding:22px; background:#f5f7f7; border-top:3px solid var(--journal-blue); }
.journal-checks b { color:var(--journal-orange); font:700 12px Arial,sans-serif; }
.journal-checks h3 { margin:8px 0; color:var(--journal-navy); font-size:17px; }
.journal-checks p { margin:0; font-size:14px; line-height:1.85; }
.journal-conclusion { margin-top:64px; padding:36px; color:#fff; background:var(--journal-navy); border-radius:8px; }
.journal-conclusion h2 { margin:0 0 16px; font:700 clamp(24px,3vw,32px)/1.5 "Yu Mincho","Hiragino Mincho ProN",serif; }
.journal-conclusion p { margin:0; color:#e0e7ec; line-height:2; }
.journal-conclusion a { margin-top:24px; display:inline-flex; align-items:center; gap:12px; padding:13px 20px; color:#fff; background:var(--journal-orange); font-weight:800; border-radius:4px; }
.journal-related,.journal-property-search { padding:54px 0 64px; background:#f2f5f6; }
.journal-related h2,.journal-property-search h2 { margin:0 0 24px; color:var(--journal-navy); font:700 28px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif; }
.journal-property-search p { margin:0 0 20px; }
.journal-property-search a { display:inline-flex; padding:13px 20px; color:#fff; background:var(--journal-navy); font-weight:800; border-radius:4px; }
.journal-intro { margin:0 0 52px; padding:28px 30px; background:#edf3f5; border-top:3px solid var(--journal-navy); }
.journal-intro strong { display:block; margin-bottom:10px; color:var(--journal-navy); font:700 20px/1.65 "Yu Mincho","Hiragino Mincho ProN",serif; }
.journal-intro p { margin:0; line-height:1.95; }
.journal-compare { margin:26px 0; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.journal-compare article { padding:24px; background:#f5f7f7; border-top:3px solid #6d8ba0; }
.journal-compare h3 { margin:0 0 9px; color:var(--journal-navy); font-size:17px; }
.journal-compare p { margin:0; font-size:14px; line-height:1.9; }
.journal-warning { margin:30px 0; padding:28px 30px; background:#fff4eb; border:1px solid #edc5a7; border-left:5px solid var(--journal-orange); }
.journal-warning h3 { margin:0 0 12px; color:#8b3d14; font-size:21px; line-height:1.55; }
.journal-warning p { margin:0 0 12px; line-height:1.95; }
.journal-warning p:last-child { margin-bottom:0; }
.journal-checklist { margin:24px 0; padding:10px 26px; background:#f3f6f7; }
.journal-checklist li { padding:13px 0; border-bottom:1px solid #d9e1e5; }
.journal-checklist li:last-child { border-bottom:0; }
.journal-floorplan { margin:28px 0; padding:22px; background:#f7f8f8; border:1px solid #d9e1e5; }
.journal-floorplan img { width:100%; height:auto; display:block; object-fit:contain; background:#fff; }
.journal-floorplan figcaption { margin-top:12px; color:#657580; font-size:12px; line-height:1.7; }
.journal-floorplan a { color:var(--journal-blue); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.journal-qa { margin:18px 0; padding:21px 24px; border:1px solid #d8e1e5; border-radius:5px; }
.journal-qa strong { display:block; margin-bottom:8px; color:var(--journal-navy); }
.journal-qa p { margin:0; line-height:1.9; }
.journal-sources { margin-top:52px; padding-top:26px; border-top:1px solid #ced8de; }
.journal-sources h2 { margin:0 0 10px; color:var(--journal-navy); font-size:18px; }
.journal-sources p,.journal-sources li { color:#657580; font-size:12px; line-height:1.8; }
.journal-sources ul { margin:10px 0 0; padding-left:1.4em; }
.journal-sources a { color:var(--journal-blue); text-decoration:underline; text-underline-offset:2px; }

@media (max-width:900px) {
  .journal-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journal-card__body { min-height:224px; }
}

@media (max-width:640px) {
  .home-journal { padding:46px 0 50px; }
  .home-journal__head { margin-bottom:22px; display:block; }
  .home-journal__head h2 { font-size:27px; }
  .home-journal__head p { font-size:13px; }
  .home-journal__head > a { margin-top:18px; display:inline-block; }
  .journal-card-grid { grid-template-columns:1fr; gap:18px; }
  .journal-card__body { min-height:0; }
  .journal-card h3 { min-height:0; }
  .journal-page .journal-shell,.journal-article,.journal-article-hero__title { width:min(calc(100% - 28px),1120px); }
  .journal-list-hero { padding:42px 0 34px; }
  .journal-list-main { padding:30px 0 56px; }
  .journal-filters { margin-bottom:26px; gap:7px; }
  .journal-filters button { min-height:38px; padding:7px 12px; font-size:12px; }
  .journal-article-hero { padding-bottom:28px; }
  .journal-article-hero__images { width:calc(100% - 28px); }
  .journal-article-hero__title { padding:30px 0 24px; text-align:left; }
  .journal-article-hero__title h1 { font-size:29px; }
  .journal-article { padding:42px 0 56px; }
  .journal-article .lead { font-size:16px; }
  .journal-toc { margin-bottom:42px; padding:20px; }
  .journal-content-section { margin-bottom:48px; }
  .journal-content-section h2 { font-size:24px; }
  .journal-checks { grid-template-columns:1fr; }
  .journal-compare { grid-template-columns:1fr; }
  .journal-rate-explainer > header { padding:22px 19px 19px; }
  .journal-rate-explainer h3 { font-size:19px; }
  .journal-rate-flow { padding:18px; grid-template-columns:1fr; gap:24px; }
  .journal-rate-flow li:not(:last-child)::after { content:"↓"; top:auto; right:50%; bottom:-24px; transform:translateX(50%); font-size:13px; }
  .journal-rate-explainer__note { padding:0 19px 20px; }
  .journal-rate-example { padding:22px 17px; }
  .journal-rate-example__heading h3 { font-size:20px; }
  .journal-rate-table,.journal-rate-table tbody,.journal-rate-table tr,.journal-rate-table td { display:block; width:100%; }
  .journal-rate-table thead { display:none; }
  .journal-rate-table tr { padding:10px 14px; border-bottom:1px solid #dbe4e9; }
  .journal-rate-table tbody tr:last-child { border-bottom:0; }
  .journal-rate-table th,.journal-rate-table td { padding:7px 0; display:flex; align-items:baseline; justify-content:space-between; gap:14px; border:0; background:#fff !important; text-align:right; }
  .journal-rate-table td::before { content:attr(data-label); color:#607889; font-size:11px; font-weight:700; text-align:left; }
  .journal-intro,.journal-warning { padding:22px 20px; }
  .journal-warning h3 { font-size:19px; }
  .journal-floorplan { padding:14px; }
  .journal-conclusion { margin-top:48px; padding:26px 22px; }
  .journal-related,.journal-property-search { padding:42px 0 48px; }
}

@media (max-width:340px) {
  .journal-page .journal-shell,.journal-article,.journal-article-hero__title { width:calc(100% - 24px); }
  .journal-card__body { padding:17px; }
  .journal-card h3 { font-size:18px; }
  .journal-filters button { padding-inline:10px; }
}
